Commit 00900141 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FEAT] rmUser + gargMail (WIP)

parent fb027ced
......@@ -14,14 +14,17 @@ Portability : POSIX
module Gargantext.Database.Action.User
where
-- import Data.Maybe (catMaybes)
import Gargantext.Database.Query.Table.User
import Gargantext.Core.Types.Individu
import Gargantext.Database.Prelude
import Gargantext.Prelude
import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..))
import Gargantext.Prelude.Mail (gargMail)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..), nodeError, NodeError(..))
import Gargantext.Database.Action.Flow (getOrMkRoot)
------------------------------------------------------------------------
mkUser :: HasNodeError err => NewUser GargPassword -> Cmd err Int64
mkUser u = mkUsers [u]
......@@ -30,8 +33,15 @@ mkUsers us = do
us' <- liftBase $ mapM toUserHash us
r <- insertUsers $ map toUserWrite us'
_ <- mapM getOrMkRoot $ map (\u -> UserName (_nu_username u)) us
_ <- liftBase gargMail
pure r
-- | TODO
------------------------------------------------------------------------
rmUser :: HasNodeError err => User -> Cmd err Int64
rmUser = undefined
rmUser (UserName un) = deleteUsers [un]
rmUser _ = nodeError NotImplYet
-- TODO
rmUsers :: HasNodeError err => [User] -> Cmd err Int64
rmUsers [] = pure 0
rmUsers _ = undefined
......@@ -20,6 +20,7 @@ Functions to deal with users, database side.
module Gargantext.Database.Query.Table.User
( insertUsers
, toUserWrite
, deleteUsers
, queryUserTable
, getUser
, insertUsersDemo
......@@ -52,6 +53,10 @@ insertUsers us = mkCmd $ \c -> runInsert_ c insert
where
insert = Insert userTable us rCount Nothing
deleteUsers :: [Username] -> Cmd err Int64
deleteUsers us = mkCmd $ \c -> runDelete c userTable
(\user -> in_ (map pgStrictText us) (user_username user))
-----------------------------------------------------------------------
toUserWrite :: NewUser HashPassword -> UserWrite
toUserWrite (NewUser u m (Auth.PasswordHash p)) =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment