2 Module : Gargantext.Database.Action.User
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
13 module Gargantext.Database.Action.User
16 import Data.Text (Text)
17 import Gargantext.Core.Types.Individu (User(..))
18 import Gargantext.Database.Admin.Types.Node
19 import Gargantext.Database.Prelude (Cmd)
20 import Gargantext.Database.Query.Table.Node
21 import Gargantext.Database.Query.Table.User
22 import Gargantext.Database.Query.Table.Node.Error
23 import Gargantext.Database.Schema.Node
24 import Gargantext.Prelude
26 ------------------------------------------------------------------------
27 getUserId :: HasNodeError err
30 getUserId (UserDBId uid) = pure uid
31 getUserId (RootId rid) = do
34 getUserId (UserName u ) = do
37 Just user -> pure $ userLight_id user
38 Nothing -> nodeError NoUserFound
39 getUserId UserPublic = nodeError NoUserFound
41 ------------------------------------------------------------------------
44 -- that is confusing, we should change this
46 getUsername :: HasNodeError err
49 getUsername (UserName u) = pure u
50 getUsername (UserDBId i) = do
51 users <- getUsersWithId i
53 Just u -> pure $ userLight_username u
54 Nothing -> nodeError $ NodeError "G.D.A.U.getUserName: User not found with that id"
55 getUsername (RootId rid) = do
57 getUsername (UserDBId $ _node_userId n)
58 getUsername UserPublic = pure "UserPublic"
60 --------------------------------------------------------------------------
61 -- getRootId is in Gargantext.Database.Query.Tree.Root