Cleanup type signatures and start working on debug env run
This commit is contained in:
@@ -14,24 +14,29 @@ import qualified Servant as S
|
||||
|
||||
type CRUD es = ( Database :> es, Logger :> es, Error ServerError :> es )
|
||||
|
||||
rootHandler :: (Logger :> es, Error ServerError :> es) => Eff es T.Text
|
||||
rootHandler :: (Logger :> es, Error ServerError :> es)
|
||||
=> Eff es T.Text
|
||||
rootHandler = (writeLog Info "Hit the root!") >>= \_ ->
|
||||
return "Hello, World!"
|
||||
|
||||
userListHandler :: CRUD es => Eff es [User]
|
||||
userListHandler :: CRUD es
|
||||
=> Eff es [User]
|
||||
userListHandler = (writeLog Info "Selected all users!") >>= \_ ->
|
||||
databaseRead_ "SELECT id, name FROM users"
|
||||
|
||||
userGetHandler :: CRUD es => UserId -> Eff es User
|
||||
userGetHandler :: CRUD es
|
||||
=> UserId -> Eff es User
|
||||
userGetHandler userId = databaseRead (queryUser userId) >>= \mUser ->
|
||||
case mUser of
|
||||
(a:_) -> pure a
|
||||
[] -> pure (User (UserId 0) "No user found")
|
||||
|
||||
userPostHandler :: CRUD es => T.Text -> Eff es NoContent
|
||||
userPostHandler :: CRUD es
|
||||
=> T.Text -> Eff es NoContent
|
||||
userPostHandler name =
|
||||
databaseWrite (writeUser name) >>= \_ -> return NoContent
|
||||
|
||||
userDeleteHandler :: CRUD es => UserId -> Eff es NoContent
|
||||
userDeleteHandler :: CRUD es
|
||||
=> UserId -> Eff es NoContent
|
||||
userDeleteHandler userId =
|
||||
databaseWrite (deleteUser userId) >>= \_ -> return NoContent
|
||||
|
||||
Reference in New Issue
Block a user