module MediaWiki.API.Action.Move where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data MoveRequest
= MoveRequest
{ mvFrom :: Maybe PageName
, mvTo :: Maybe PageName
, mvToken :: Token
, mvReason :: Maybe String
, mvMoveTalk :: Bool
, mvNoRedir :: Bool
, mvWatch :: Bool
, mvUnwatch :: Bool
}
instance APIRequest MoveRequest where
isPostable _ = True
showReq r =
[ mbOpt "from" id (mvFrom r)
, mbOpt "to" id (mvTo r)
, opt "token" (mvToken r)
, mbOpt "reason" id (mvReason r)
, optB "movetalk" (mvMoveTalk r)
, optB "noredirect" (mvNoRedir r)
, optB "watch" (mvWatch r)
, optB "unwatch" (mvUnwatch r)
]
emptyMoveRequest :: MoveRequest
emptyMoveRequest = MoveRequest
{ mvFrom = Nothing
, mvTo = Nothing
, mvToken = ""
, mvReason = Nothing
, mvMoveTalk = False
, mvNoRedir = False
, mvWatch = False
, mvUnwatch = False
}