mediawiki-0.2: MediaWiki/API/Action/Move.hs
--------------------------------------------------------------------
-- |
-- Module : MediaWiki.API.Action.Move
-- Description : Representing Move requests.
-- Copyright : (c) Sigbjorn Finne, 2008
-- License : BSD3
--
-- Maintainer: Sigbjorn Finne <sof@forkIO.com>
-- Stability : provisional
-- Portability: portable
--
-- Representing Move requests.
--
--------------------------------------------------------------------
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
}