Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- getTeamMembersCSV :: forall r. (Member BrigAccess r, Member (ErrorS 'AccessDenied) r, Member (TeamMemberStore InternalPaging) r, Member TeamStore r, Member (Final IO) r, Member SparAccess r) => Local UserId -> TeamId -> Sem r LowLevelStreamingBody
Documentation
getTeamMembersCSV :: forall r. (Member BrigAccess r, Member (ErrorS 'AccessDenied) r, Member (TeamMemberStore InternalPaging) r, Member TeamStore r, Member (Final IO) r, Member SparAccess r) => Local UserId -> TeamId -> Sem r LowLevelStreamingBody Source #
Export team info as a CSV, and stream it to the client.
We paginate through the team member list, then spawn a thread for each user (out of a thread pool) in order to fetch information for that user from brig and spar. Inviter IDs are resolved to handles via a brig request, then stored in a cache so that they can be reused by subsequent requests.