module MediaWiki.API.Query.AllUsers where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data AllUsersRequest
= AllUsersRequest
{ auFrom :: Maybe UserName
, auPrefix :: Maybe UserName
, auGroup :: Maybe GroupName
, auProp :: [String]
, auLimit :: Maybe Int
}
instance APIRequest AllUsersRequest where
queryKind _ = QList "allusers"
showReq r =
[ mbOpt "aufrom" id (auFrom r)
, mbOpt "auprefix" id (auPrefix r)
, mbOpt "augroup" id (auGroup r)
, opt1 "auprop" (auProp r)
, mbOpt "aulimit" show (auLimit r)
]
emptyAllUsersRequest :: AllUsersRequest
emptyAllUsersRequest = AllUsersRequest
{ auFrom = Nothing
, auPrefix = Nothing
, auGroup = Nothing
, auProp = []
, auLimit = Nothing
}
data AllUsersResponse
= AllUsersResponse
{ auUsers :: [(UserName, Maybe Int, Maybe String)]
, auContinue :: Maybe String
}
emptyAllUsersResponse :: AllUsersResponse
emptyAllUsersResponse
= AllUsersResponse
{ auUsers = []
, auContinue = Nothing
}