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