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
}