mediawiki-0.2.6: MediaWiki/API/Query/Links.hs
--------------------------------------------------------------------
-- |
-- Module : MediaWiki.API.Query.Links
-- Description : Representing 'links' requests.
-- Copyright : (c) Sigbjorn Finne, 2008
-- License : BSD3
--
-- Maintainer: Sigbjorn Finne <sof@forkIO.com>
-- Stability : provisional
-- Portability: portable
--
-- Representing 'links' requests.
--
--------------------------------------------------------------------
module MediaWiki.API.Query.Links where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data LinksRequest
= LinksRequest
{ plNamespaces :: [NamespaceID]
, plLimit :: Maybe Int
, plContinueFrom :: Maybe String
}
instance APIRequest LinksRequest where
queryKind _ = QProp "links"
showReq r
= [ opt1 "plnamespace" (plNamespaces r)
, mbOpt "pllimit" show (plLimit r)
, mbOpt "plcontinue" id (plContinueFrom r)
]
emptyLinksRequest :: LinksRequest
emptyLinksRequest
= LinksRequest
{ plNamespaces = []
, plLimit = Nothing
, plContinueFrom = Nothing
}
data LinksResponse
= LinksResponse
{ plPages :: [(PageTitle,[PageTitle])]
, plContinue :: Maybe String
}
emptyLinksResponse :: LinksResponse
emptyLinksResponse = LinksResponse
{ plPages = []
, plContinue = Nothing
}