Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Mensam.Server.Server.Route.Api.Reservation
Documentation
handler :: (MonadEmail m, MonadIO m, MonadLogger m, MonadSeldaPool m) => Routes (AsServerT m) Source #
createReservation :: (MonadEmail m, MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 201 ResponseReservationCreate) responses, IsMember (WithStatus 400 ErrorParseBodyJson) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (ErrorInsufficientPermission MkPermissionCreateReservation)) responses, IsMember (WithStatus 409 (StaticText "Desk is not available within the given time window.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either String RequestReservationCreate -> m (Union responses) Source #
cancelReservation :: (MonadIO m, MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 ResponseReservationCancel) responses, IsMember (WithStatus 400 ErrorParseBodyJson) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 403 (ErrorInsufficientPermission MkPermissionCancelReservation)) responses, IsMember (WithStatus 409 (StaticText "Already cancelled.")) responses, IsMember (WithStatus 410 (StaticText "Already happened.")) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either String RequestReservationCancel -> m (Union responses) Source #
listReservations :: (MonadLogger m, MonadSeldaPool m, IsMember (WithStatus 200 ResponseReservationList) responses, IsMember (WithStatus 400 ErrorParseBodyJson) responses, IsMember (WithStatus 401 ErrorBearerAuth) responses, IsMember (WithStatus 500 ()) responses) => AuthResult UserAuthenticated -> Either String RequestReservationList -> m (Union responses) Source #
handleBadRequestBody :: (MonadLogger m, IsMember (WithStatus 400 ErrorParseBodyJson) 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 #