diff options
Diffstat (limited to 'src/server/Controller/SignIn.hs')
-rw-r--r-- | src/server/Controller/SignIn.hs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/server/Controller/SignIn.hs b/src/server/Controller/SignIn.hs index 955ad35..3bbb9ff 100644 --- a/src/server/Controller/SignIn.hs +++ b/src/server/Controller/SignIn.hs @@ -64,22 +64,22 @@ errorResponse msg = do jsonObject [("error", Json.String msg)] validateSignIn :: Config -> Text -> ActionM () -validateSignIn config token = do - maybeSignIn <- liftIO . runDb $ getSignInToken token +validateSignIn config textToken = do + mbToken <- liftIO . runDb $ getSignInToken textToken now <- liftIO getCurrentTime - case maybeSignIn of - Just signIn -> - if signInIsUsed . entityVal $ signIn + case mbToken of + Just token -> + if signInIsUsed . entityVal $ token then redirectError (getMessage SignInUsed) else - let diffTime = now `diffUTCTime` (signInCreation . entityVal $ signIn) + let diffTime = now `diffUTCTime` (signInCreation . entityVal $ token) in if diffTime > (fromIntegral $ (signInExpirationMn config) * 60) then redirectError (getMessage SignInExpired) else do - LoginSession.put (signInEmail . entityVal $ signIn) - liftIO . runDb . signInTokenToUsed . entityKey $ signIn + LoginSession.put (signInEmail . entityVal $ token) + liftIO . runDb . signInTokenToUsed . entityKey $ token redirect "/" Nothing -> redirectError (getMessage SignInInvalid) |