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

[FEAT] mkNewUser created

parent b7e19458
......@@ -60,16 +60,16 @@ arbitraryPassword :: [GargPassword]
arbitraryPassword = map (\u -> GargPassword (reverse u)) arbitraryUsername
-----------------------------------------------------------
userHash :: MonadIO m
toUserHash :: MonadIO m
=> NewUser GargPassword
-> m (NewUser HashPassword)
userHash (NewUser u m (GargPassword p)) = do
toUserHash (NewUser u m (GargPassword p)) = do
h <- Auth.createPasswordHash p
pure $ NewUser u m h
arbitraryUsersHash :: MonadIO m
=> m [NewUser HashPassword]
arbitraryUsersHash = mapM userHash arbitraryUsers
arbitraryUsersHash = mapM toUserHash arbitraryUsers
arbitraryUsers :: [NewUser GargPassword]
arbitraryUsers = map (\u -> NewUser u (u <> "@gargantext.org") (GargPassword $ reverse u))
......
{-|
Module : Gargantext.Database.Action.User
Description :
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Gargantext.Database.Action.User
where
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.Database.Action.Flow (getOrMkRoot)
mkUser :: HasNodeError err => NewUser GargPassword -> Cmd err Int64
mkUser u = mkUsers [u]
mkUsers :: HasNodeError err => [NewUser GargPassword] -> Cmd err Int64
mkUsers us = do
us' <- liftBase $ mapM toUserHash us
r <- insertUsers $ map toUserWrite us'
_ <- mapM getOrMkRoot $ map (\u -> UserName (_nu_username u)) us
pure r
-- | TODO
rmUser :: HasNodeError err => User -> Cmd err Int64
rmUser = undefined
......@@ -19,6 +19,7 @@ Functions to deal with users, database side.
module Gargantext.Database.Query.Table.User
( insertUsers
, toUserWrite
, queryUserTable
, getUser
, insertUsersDemo
......@@ -51,11 +52,6 @@ insertUsers us = mkCmd $ \c -> runInsert_ c insert
where
insert = Insert userTable us rCount Nothing
insertUsersDemo :: Cmd err Int64
insertUsersDemo = do
users <- liftBase arbitraryUsersHash
insertUsers $ map toUserWrite users
-----------------------------------------------------------------------
toUserWrite :: NewUser HashPassword -> UserWrite
toUserWrite (NewUser u m (Auth.PasswordHash p)) =
......@@ -109,6 +105,13 @@ usersLight = map toUserLight <$> users
getUser :: Username -> Cmd err (Maybe UserLight)
getUser u = userLightWithUsername u <$> usersLight
----------------------------------------------------------------------
insertUsersDemo :: Cmd err Int64
insertUsersDemo = do
users <- liftBase arbitraryUsersHash
insertUsers $ map toUserWrite users
----------------------------------------------------------------------
instance QueryRunnerColumnDefault PGTimestamptz (Maybe UTCTime) where
queryRunnerColumnDefault = fieldQueryRunnerColumn
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