MediaWiki/API/Query/Users.hs
--------------------------------------------------------------------
-- |
-- Module : MediaWiki.API.Query.Users
-- Description : Representing 'users' requests.
-- Copyright : (c) Sigbjorn Finne, 2008
-- License : BSD3
--
-- Maintainer: Sigbjorn Finne <sof@forkIO.com>
-- Stability : provisional
-- Portability: portable
--
-- Representing 'users' requests.
--
--------------------------------------------------------------------
module MediaWiki.API.Query.Users where
import MediaWiki.API.Types
import MediaWiki.API.Utils
data UsersRequest
= UsersRequest
{ usProp :: [String]
, usUsers :: [UserID]
}
instance APIRequest UsersRequest where
queryKind _ = QList "users"
showReq r = [ opt1 "usprop" (usProp r)
, opt1 "ususers" (usUsers r)
]
emptyUsersRequest :: UsersRequest
emptyUsersRequest = UsersRequest
{ usProp = []
, usUsers = []
}
data UsersResponse
= UsersResponse
{ usrUsers :: [UsersInfo]
}
emptyUsersResponse :: UsersResponse
emptyUsersResponse
= UsersResponse
{ usrUsers = []
}
data UsersInfo
= UsersInfo
{ usName :: Maybe UserName
, usEditCount :: Maybe Int
, usRegDate :: Maybe Timestamp
, usGroups :: [String]
, usBlock :: Maybe (UserName,String)
}
emptyUsersInfo :: UsersInfo
emptyUsersInfo = UsersInfo
{ usName = Nothing
, usEditCount = Nothing
, usRegDate = Nothing
, usGroups = []
, usBlock = Nothing
}