-------------------------------------------------------------------- -- | -- Module : MediaWiki.API.Query.Templates -- Description : Representing 'templates' requests. -- Copyright : (c) Sigbjorn Finne, 2008 -- License : BSD3 -- -- Maintainer: Sigbjorn Finne -- Stability : provisional -- Portability: portable -- -- Representing 'templates' requests. -- -------------------------------------------------------------------- module MediaWiki.API.Query.Templates where import MediaWiki.API.Types import MediaWiki.API.Utils data TemplatesRequest = TemplatesRequest { tlNamespaces :: [NamespaceID] , tlLimit :: Maybe Int , tlContinueFrom :: Maybe String } instance APIRequest TemplatesRequest where queryKind _ = QProp "templates" showReq r = [ opt1 "tlnamespace" (tlNamespaces r) , mbOpt "tllimit" show (tlLimit r) , mbOpt "tlcontinue" id (tlContinueFrom r) ] emptyTemplatesRequest :: TemplatesRequest emptyTemplatesRequest = TemplatesRequest { tlNamespaces = [] , tlLimit = Nothing , tlContinueFrom = Nothing } data TemplatesResponse = TemplatesResponse { tlPages :: [(PageTitle,[PageTitle])] , tlContinue :: Maybe String } emptyTemplatesResponse :: TemplatesResponse emptyTemplatesResponse = TemplatesResponse { tlPages = [] , tlContinue = Nothing }