git.mcksp
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
module Domain.Auth
  ( login
  ) where

import Data.Text
import Data.Text.Encoding
import Crypto.BCrypt (validatePassword)
import Models

login :: Maybe UserAuth -> Text -> Maybe Text
login mUser password = case mUser of
  Nothing -> Nothing
  Just user -> if validatePassword (encodeUtf8 user.hashPass) (encodeUtf8 password)
    then Just user.id
    else Nothing