MediaWiki/API/Query/ExternalURLUsage.hs
--------------------------------------------------------------------
-- |
-- Module : MediaWiki.API.Query.ExternalURLUsage
-- Description : Representing 'exturlusage' requests.
-- Copyright : (c) Sigbjorn Finne, 2008
-- License : BSD3
--
-- Maintainer: Sigbjorn Finne <sof@forkIO.com>
-- Stability : provisional
-- Portability: portable
--
-- Representing 'exturlusage' requests.
--
--------------------------------------------------------------------
module MediaWiki.API.Query.ExternalURLUsage where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data ExternalURLUsageRequest
= ExternalURLUsageRequest
{ euProp :: [String]
, euOffset :: Maybe String
, euProtocol :: Maybe String
, euQuery :: Maybe String
, euNamespaces :: [NamespaceID]
, euLimit :: Maybe Int
}
instance APIRequest ExternalURLUsageRequest where
queryKind _ = QList "exturlusage"
showReq r =
[ opt1 "euprop" (euProp r)
, mbOpt "euoffset" id (euOffset r)
, mbOpt "euprotocol" id (euProtocol r)
, mbOpt "euquery" id (euQuery r)
, opt1 "eunamespace" (euNamespaces r)
, mbOpt "eulimit" show (euLimit r)
]
emptyExternalURLUsageRequest :: ExternalURLUsageRequest
emptyExternalURLUsageRequest = ExternalURLUsageRequest
{ euProp = []
, euOffset = Nothing
, euProtocol = Nothing
, euQuery = Nothing
, euNamespaces = []
, euLimit = Nothing
}
data ExternalURLUsageResponse
= ExternalURLUsageResponse
{ euPages :: [(URLString,PageTitle)]
, euContinue :: Maybe String
}
emptyExternalURLUsageResponse :: ExternalURLUsageResponse
emptyExternalURLUsageResponse = ExternalURLUsageResponse
{ euPages = []
, euContinue = Nothing
}