{-|
Module : Gargantext.API.Members
Description :
Copyright : (c) CNRS, 2017
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
module Gargantext.API.Members where
import Gargantext.API.Admin.EnvTypes (Env)
import Gargantext.API.Prelude
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 (CmdCommon)
import Gargantext.Prelude
import Servant
type MembersAPI = Get '[JSON] [Text]
members :: ServerT MembersAPI (GargM Env GargError)
members = getMembers
getMembers :: (CmdCommon env) =>
GargM env GargError [Text]
getMembers = do
teamNodeIds <- getNodesIdWithType NodeTeam
m <- concatMapM membersOf teamNodeIds
pure $ map fst m
-
Alfredo Di Napoli authored
This is a first stepping stone in avoiding bugs by having `UserId` and `ContextId` being proper types, and not synonyms. We also refactor things to have `AuthenticatedUser` carry the `UserId`.
c1d4393e