-------------------------------------------------------------------- -- | -- Module : MediaWiki.API.Query.AllMessages -- Description : Representing 'allmessages' requests. -- Copyright : (c) Sigbjorn Finne, 2008 -- License : BSD3 -- -- Maintainer: Sigbjorn Finne -- Stability : provisional -- Portability: portable -- -- Representing 'allmessages' requests. -- -------------------------------------------------------------------- module MediaWiki.API.Query.AllMessages where import MediaWiki.API.Types import MediaWiki.API.Utils data AllMessagesRequest = AllMessagesRequest { amMessages :: [String] , amFilter :: Maybe String , amLang :: Maybe String } instance APIRequest AllMessagesRequest where queryKind _ = QMeta "allmessages" showReq r = [ opt1 "ammessages" (amMessages r) , mbOpt "amfilter" id (amFilter r) , mbOpt "amlang" id (amLang r) ] emptyAllMessagesRequest :: AllMessagesRequest emptyAllMessagesRequest = AllMessagesRequest { amMessages = [] , amFilter = Nothing , amLang = Nothing } data AllMessagesResponse = AllMessagesResponse { amsgMessages :: [MessageInfo] } emptyAllMessagesResponse :: AllMessagesResponse emptyAllMessagesResponse = AllMessagesResponse { amsgMessages = [] } data MessageInfo = MessageInfo { msgiName :: String , msgiMissing :: Bool , msgiContent :: String } emptyMessageInfo :: MessageInfo emptyMessageInfo = MessageInfo { msgiName = "" , msgiMissing = False , msgiContent = "" }