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