module Model.User ( getUsers , getUser , insertUser , deleteUser ) where import Data.Text (Text) import Data.Time.Clock (getCurrentTime) import Control.Monad.IO.Class (liftIO) import Database.Persist import Model.Database getUsers :: Persist [User] getUsers = map entityVal <$> selectList [] [Desc UserCreation] getUser :: Text -> Persist (Maybe (Entity User)) getUser email = selectFirst [UserEmail ==. email] [] insertUser :: Text -> Text -> Persist UserId insertUser email name = do now <- liftIO getCurrentTime insert $ User now email name deleteUser :: Text -> Persist () deleteUser email = deleteWhere [UserEmail ==. email]