From 0b191f5c48edffc9da3e38c284e9640fd82e7cb1 Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 5 Jun 2017 18:02:13 +0200 Subject: Replace persistent by sqlite-simple --- src/server/Secure.hs | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) (limited to 'src/server/Secure.hs') diff --git a/src/server/Secure.hs b/src/server/Secure.hs index 93d5a60..da48878 100644 --- a/src/server/Secure.hs +++ b/src/server/Secure.hs @@ -5,31 +5,27 @@ module Secure , getUserFromToken ) where -import Web.Scotty - -import Network.HTTP.Types.Status (forbidden403) - -import Database.Persist (Entity, entityVal) - +import Control.Monad.IO.Class (liftIO) import Data.Text (Text) import Data.Text.Lazy (fromStrict) +import Network.HTTP.Types.Status (forbidden403) +import Web.Scotty -import Model.User (getUser) -import Model.SignIn (getSignIn) -import Model.Database import Model.Message (getMessage) -import qualified Model.Message.Key as Key - -import Control.Monad.IO.Class (liftIO) - +import Model.Query (Query) +import Model.User (User) import qualified LoginSession +import qualified Model.Message.Key as Key +import qualified Model.Query as Query +import qualified Model.SignIn as SignIn +import qualified Model.User as User -loggedAction :: (Entity User -> ActionM ()) -> ActionM () +loggedAction :: (User -> ActionM ()) -> ActionM () loggedAction action = do maybeToken <- LoginSession.get case maybeToken of Just token -> do - maybeUser <- liftIO . runDb . getUserFromToken $ token + maybeUser <- liftIO . Query.run . getUserFromToken $ token case maybeUser of Just user -> action user @@ -40,11 +36,11 @@ loggedAction action = do status forbidden403 html . fromStrict . getMessage $ Key.Forbidden -getUserFromToken :: Text -> Persist (Maybe (Entity User)) +getUserFromToken :: Text -> Query (Maybe User) getUserFromToken token = do - mbSignIn <- fmap entityVal <$> getSignIn token + mbSignIn <- SignIn.getSignIn token case mbSignIn of - Just signIn -> do - getUser (signInEmail signIn) + Just signIn -> + User.getUser (SignIn.email signIn) Nothing -> return Nothing -- cgit v1.2.3