From d27f9ebddae23e658452ae29b0e56c60520e8257 Mon Sep 17 00:00:00 2001 From: Karen Konou <konoukaren@gmail.com> Date: Tue, 28 Feb 2023 14:02:33 +0100 Subject: [PATCH] [API] Team members API for autocomplete --- gargantext.cabal | 1 + src/Gargantext/API/Members.hs | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gargantext.cabal b/gargantext.cabal index 1b45b84d..7cb6a9b1 100644 --- a/gargantext.cabal +++ b/gargantext.cabal @@ -132,6 +132,7 @@ library Gargantext.API.GraphQL.Utils Gargantext.API.Job Gargantext.API.Metrics + Gargantext.API.Members Gargantext.API.Ngrams.List Gargantext.API.Ngrams.List.Types Gargantext.API.Ngrams.NgramsTree diff --git a/src/Gargantext/API/Members.hs b/src/Gargantext/API/Members.hs index c5872adf..a23ac399 100644 --- a/src/Gargantext/API/Members.hs +++ b/src/Gargantext/API/Members.hs @@ -9,10 +9,18 @@ import Gargantext.Core.Types (UserId) import Gargantext.Database.Admin.Types.Node (NodeType(NodeTeam)) import Gargantext.Database.Query.Table.Node (getNodesIdWithType) import Gargantext.Database.Action.Share (membersOf) +import Gargantext.Database.Prelude (HasConnectionPool, HasConfig) +import Gargantext.Core.Mail.Types (HasMail) +import Control.Monad.Extra (concatMapM) type MembersAPI = Get '[JSON] [Text] members :: UserId -> ServerT MembersAPI (GargM Env GargError) members _ = do + getMembers + +getMembers :: (HasConnectionPool env, HasConfig env, HasMail env) => GargM env GargError [Text] +getMembers = do teamNodeIds <- getNodesIdWithType NodeTeam - map fst $ concatMap membersOf teamNodeIds + m <- concatMapM membersOf teamNodeIds + pure $ map fst m -- 2.21.0