module MediaWiki.API.Action.Block where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data BlockRequest
= BlockRequest
{ blkUser :: UserName
, blkToken :: Token
, blkGetToken :: Bool
, blkExpiry :: Maybe Timestamp
, blkReason :: Maybe String
, blkAnonOnly :: Bool
, blkNoCreate :: Bool
, blkAutoBlock :: Bool
, blkNoEmail :: Bool
, blkHide :: Bool
}
instance APIRequest BlockRequest where
isPostable _ = True
showReq r =
[ opt "user" (blkUser r)
, opt "token" (blkToken r)
, optB "gettoken" (blkGetToken r)
, mbOpt "expiry" id (blkExpiry r)
, mbOpt "reason" id (blkReason r)
, optB "anononly" (blkAnonOnly r)
, optB "nocreate" (blkNoCreate r)
, optB "autoblock" (blkAutoBlock r)
, optB "noemail" (blkNoEmail r)
, optB "hidename" (blkHide r)
]
emptyBlockRequest :: BlockRequest
emptyBlockRequest = BlockRequest
{ blkUser = ""
, blkToken = ""
, blkGetToken = False
, blkExpiry = Nothing
, blkReason = Nothing
, blkAnonOnly = False
, blkNoCreate = False
, blkAutoBlock = False
, blkNoEmail = False
, blkHide = False
}