mensam-0
Safe HaskellSafe-Inferred
LanguageGHC2021

Mensam.Server.Server.Route.Api.Space

Documentation

pictureUpload :: (MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 (StaticText "Uploaded space picture.")) responses, IsMember (WithStatus 400 ErrorParseBodyJpeg) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (ErrorInsufficientPermission MkPermissionEditSpace)) responses, IsMember (WithStatus 404 (StaticText "Space not found.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either Text IdentifierSpace -> Either String ImageJpegBytes -> m (Union responses) Source #

pictureDelete :: (MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 (StaticText "Deleted space picture.")) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (ErrorInsufficientPermission MkPermissionEditSpace)) responses, IsMember (WithStatus 404 (StaticText "Space not found.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either Text IdentifierSpace -> m (Union responses) Source #

joinSpace :: (MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 ResponseSpaceJoin) responses, IsMember (WithStatus 400 ErrorParseBodyJson) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (StaticTexts ["Role is inaccessible.", "Wrong role password."])) responses, IsMember (WithStatus 404 (StaticText "Space not found.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either String RequestSpaceJoin -> m (Union responses) Source #

leaveSpace :: (MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 ResponseSpaceLeave) responses, IsMember (WithStatus 400 ErrorParseBodyJson) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (StaticText "Owner cannot leave space.")) responses, IsMember (WithStatus 404 (StaticText "Space not found.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either String RequestSpaceLeave -> m (Union responses) Source #

handleBadRequestBody :: (MonadLogger m, IsMember (WithStatus 400 ErrorParseBodyJson) responses) => Either String a -> (a -> m (Union responses)) -> m (Union responses) Source #

handleBadRequestBodyJpeg :: (MonadLogger m, IsMember (WithStatus 400 ErrorParseBodyJpeg) responses) => Either String a -> (a -> m (Union responses)) -> m (Union responses) Source #

handleSeldaException403InsufficientPermission :: forall (p :: Permission) m responses a. (Typeable p, Applicative m, IsMember (WithStatus 403 (ErrorInsufficientPermission p)) responses) => Proxy p -> SeldaResult a -> (SeldaResult a -> m (Union responses)) -> m (Union responses) Source #