-------------------------------------------------------------------- -- | -- Module : MediaWiki.API.Query.EmbeddedIn -- Description : Representing 'embeddedin' requests. -- Copyright : (c) Sigbjorn Finne, 2008 -- License : BSD3 -- -- Maintainer: Sigbjorn Finne -- Stability : provisional -- Portability: portable -- -- Representing 'embeddedin' requests. -- -------------------------------------------------------------------- module MediaWiki.API.Query.EmbeddedIn where import MediaWiki.API.Types import MediaWiki.API.Utils data EmbeddedInRequest = EmbeddedInRequest { eiTitle :: Maybe String , eiContinueFrom :: Maybe String , eiNamespace :: [NamespaceID] , eiFilterRedir :: Maybe Redirect , eiRedirect :: Bool , eiLimit :: Maybe Int } instance APIRequest EmbeddedInRequest where queryKind _ = QList "embeddedin" showReq r = [ mbOpt "eititle" id (eiTitle r) , mbOpt "eicontinue" id (eiContinueFrom r) , opt1 "einamespace" (eiNamespace r) , mbOpt "eifilterredir" id (eiFilterRedir r) , optB "eirdirect" (eiRedirect r) , mbOpt "eilimit" show (eiLimit r) ] emptyEmbeddedInRequest :: EmbeddedInRequest emptyEmbeddedInRequest = EmbeddedInRequest { eiTitle = Nothing , eiContinueFrom = Nothing , eiNamespace = [] , eiFilterRedir = Nothing , eiRedirect = False , eiLimit = Nothing } data EmbeddedInResponse = EmbeddedInResponse { eiLinks :: [PageTitle] , eiContinue :: Maybe String } emptyEmbeddedInResponse :: EmbeddedInResponse emptyEmbeddedInResponse = EmbeddedInResponse { eiLinks = [] , eiContinue = Nothing }