-------------------------------------------------------------------- -- | -- Module : MediaWiki.API.Query.ExternalURLUsage -- Description : Representing 'exturlusage' requests. -- Copyright : (c) Sigbjorn Finne, 2008 -- License : BSD3 -- -- Maintainer: Sigbjorn Finne -- 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 }