module MediaWiki.API.Query.BackLinks where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data BackLinksRequest
= BackLinksRequest
{ blTitle :: Maybe String
, blContinueFrom :: Maybe String
, blNamespace :: [NamespaceID]
, blFilterRedir :: Maybe Redirect
, blRedirect :: Maybe Bool
, blLimit :: Maybe Int
}
instance APIRequest BackLinksRequest where
queryKind _ = QList "backlinks"
showReq r =
[ mbOpt "bltitle" id (blTitle r)
, mbOpt "blcontinue" id (blContinueFrom r)
, opt1 "blnamespace" (blNamespace r)
, mbOpt "blfilterredir" id (blFilterRedir r)
, optB "blredirect" (fromMaybe False $ blRedirect r)
, mbOpt "bllimit" show (blLimit r)
]
emptyBackLinksRequest :: BackLinksRequest
emptyBackLinksRequest = BackLinksRequest
{ blTitle = Nothing
, blContinueFrom = Nothing
, blNamespace = []
, blFilterRedir = Nothing
, blRedirect = Nothing
, blLimit = Nothing
}
data BackLinksResponse
= BackLinksResponse
{ blLinks :: [PageTitle]
, blContinue :: Maybe String
}
emptyBackLinksResponse :: BackLinksResponse
emptyBackLinksResponse
= BackLinksResponse
{ blLinks = []
, blContinue = Nothing
}