module HipChat.Types.Rooms.CreateRoomRequest where
import Data.Aeson
import Data.Aeson.Casing
import Data.Text (Text)
import GHC.Generics
data RoomPrivacy = Public
| Private
instance ToJSON RoomPrivacy where
toJSON Public = String "public"
toJSON Private = String "private"
data CreateRoomRequest = CreateRoomRequest
{ crrName :: Text
, crrPrivacy :: Maybe RoomPrivacy
, crrDelegateAdminVisibility :: Maybe Bool
, crrTopic :: Maybe Text
, crrOwnerUserId :: Maybe (Either Text Int)
, crrGuestAccess :: Maybe Bool
} deriving (Generic)
instance ToJSON CreateRoomRequest where
toJSON = genericToJSON $ aesonPrefix snakeCase