module HipChat.Types.Rooms.GetAllMembersResponse where
import Data.Aeson
import Data.Aeson.Casing
import Data.Text (Text)
import GHC.Generics
import HipChat.Types.Common
data UserItem = UserItem
{ uiMentionName :: Text
, uiVersion :: Text
, uiId :: Int
, uiLinks :: Maybe Link
, uiName :: Text
} deriving (Generic, Show)
instance FromJSON UserItem where
parseJSON = genericParseJSON $ aesonPrefix snakeCase
data GetAllMembersResponse = GetAllMembersResponse
{ gamrItems :: [UserItem]
, gamrStartIndex :: Int
, gamrMaxResults :: Int
, gamrLinks :: PaginatedLink
} deriving (Generic, Show)
instance FromJSON GetAllMembersResponse where
parseJSON = genericParseJSON $ aesonPrefix camelCase