aboutsummaryrefslogtreecommitdiff
path: root/server/src/Secure.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Secure.hs')
-rw-r--r--server/src/Secure.hs27
1 files changed, 7 insertions, 20 deletions
diff --git a/server/src/Secure.hs b/server/src/Secure.hs
index 4fb2333..a30941f 100644
--- a/server/src/Secure.hs
+++ b/server/src/Secure.hs
@@ -1,21 +1,17 @@
module Secure
( loggedAction
- , getUserFromToken
) where
import Control.Monad.IO.Class (liftIO)
-import Data.Text (Text)
-import Data.Text.Lazy (fromStrict)
-import Network.HTTP.Types.Status (forbidden403)
+import qualified Data.Text.Lazy as TL
+import qualified Network.HTTP.Types.Status as HTTP
import Web.Scotty
import Common.Model (User)
import qualified Common.Msg as Msg
import qualified LoginSession
-import Model.Query (Query)
import qualified Model.Query as Query
-import qualified Model.SignIn as SignIn
import qualified Persistence.User as UserPersistence
loggedAction :: (User -> ActionM ()) -> ActionM ()
@@ -23,22 +19,13 @@ loggedAction action = do
maybeToken <- LoginSession.get
case maybeToken of
Just token -> do
- maybeUser <- liftIO . Query.run . getUserFromToken $ token
+ maybeUser <- liftIO . Query.run . UserPersistence.get $ token
case maybeUser of
Just user ->
action user
Nothing -> do
- status forbidden403
- html . fromStrict . Msg.get $ Msg.Secure_Unauthorized
+ status HTTP.forbidden403
+ html . TL.fromStrict . Msg.get $ Msg.Secure_Unauthorized
Nothing -> do
- status forbidden403
- html . fromStrict . Msg.get $ Msg.Secure_Forbidden
-
-getUserFromToken :: Text -> Query (Maybe User)
-getUserFromToken token = do
- mbSignIn <- SignIn.getSignIn token
- case mbSignIn of
- Just signIn ->
- UserPersistence.get (SignIn.email signIn)
- Nothing ->
- return Nothing
+ status HTTP.forbidden403
+ html . TL.fromStrict . Msg.get $ Msg.Secure_Forbidden