Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data MemberStore m a where
- CreateMembers :: ToUserRole u => ConvId -> UserList u -> MemberStore m ([LocalMember], [RemoteMember])
- CreateMembersInRemoteConversation :: Remote ConvId -> [UserId] -> MemberStore m ()
- CreateBotMember :: ServiceRef -> BotId -> ConvId -> MemberStore m BotMember
- GetLocalMember :: ConvId -> UserId -> MemberStore m (Maybe LocalMember)
- GetLocalMembers :: ConvId -> MemberStore m [LocalMember]
- GetAllLocalMembers :: MemberStore m [LocalMember]
- GetRemoteMember :: ConvId -> Remote UserId -> MemberStore m (Maybe RemoteMember)
- GetRemoteMembers :: ConvId -> MemberStore m [RemoteMember]
- CheckLocalMemberRemoteConv :: UserId -> Remote ConvId -> MemberStore m Bool
- SelectRemoteMembers :: [UserId] -> Remote ConvId -> MemberStore m ([UserId], Bool)
- SetSelfMember :: Qualified ConvId -> Local UserId -> MemberUpdate -> MemberStore m ()
- SetOtherMember :: Local ConvId -> Qualified UserId -> OtherMemberUpdate -> MemberStore m ()
- DeleteMembers :: ConvId -> UserList UserId -> MemberStore m ()
- DeleteMembersInRemoteConversation :: Remote ConvId -> [UserId] -> MemberStore m ()
- AddMLSClients :: GroupId -> Qualified UserId -> Set (ClientId, LeafIndex) -> MemberStore m ()
- PlanClientRemoval :: Foldable f => GroupId -> f ClientIdentity -> MemberStore m ()
- RemoveMLSClients :: GroupId -> Qualified UserId -> Set ClientId -> MemberStore m ()
- RemoveAllMLSClients :: GroupId -> MemberStore m ()
- LookupMLSClients :: GroupId -> MemberStore m ClientMap
- LookupMLSClientLeafIndices :: GroupId -> MemberStore m (ClientMap, IndexMap)
- GetRemoteMembersByDomain :: Domain -> MemberStore m [(ConvId, RemoteMember)]
- GetLocalMembersByDomain :: Domain -> MemberStore m [(ConvId, UserId)]
- createMember :: Member MemberStore r => Local ConvId -> Local UserId -> Sem r [LocalMember]
- createMembers :: forall r u. (Member MemberStore r, ToUserRole u) => ConvId -> UserList u -> Sem r ([LocalMember], [RemoteMember])
- createMembersInRemoteConversation :: forall r. Member MemberStore r => Remote ConvId -> [UserId] -> Sem r ()
- createBotMember :: forall r. Member MemberStore r => ServiceRef -> BotId -> ConvId -> Sem r BotMember
- getLocalMember :: forall r. Member MemberStore r => ConvId -> UserId -> Sem r (Maybe LocalMember)
- getLocalMembers :: forall r. Member MemberStore r => ConvId -> Sem r [LocalMember]
- getAllLocalMembers :: forall r. Member MemberStore r => Sem r [LocalMember]
- getRemoteMember :: forall r. Member MemberStore r => ConvId -> Remote UserId -> Sem r (Maybe RemoteMember)
- getRemoteMembers :: forall r. Member MemberStore r => ConvId -> Sem r [RemoteMember]
- checkLocalMemberRemoteConv :: forall r. Member MemberStore r => UserId -> Remote ConvId -> Sem r Bool
- selectRemoteMembers :: forall r. Member MemberStore r => [UserId] -> Remote ConvId -> Sem r ([UserId], Bool)
- getRemoteMembersByDomain :: forall r. Member MemberStore r => Domain -> Sem r [(ConvId, RemoteMember)]
- getLocalMembersByDomain :: forall r. Member MemberStore r => Domain -> Sem r [(ConvId, UserId)]
- setSelfMember :: forall r. Member MemberStore r => Qualified ConvId -> Local UserId -> MemberUpdate -> Sem r ()
- setOtherMember :: forall r. Member MemberStore r => Local ConvId -> Qualified UserId -> OtherMemberUpdate -> Sem r ()
- addMLSClients :: forall r. Member MemberStore r => GroupId -> Qualified UserId -> Set (ClientId, LeafIndex) -> Sem r ()
- planClientRemoval :: forall r f. (Member MemberStore r, Foldable f) => GroupId -> f ClientIdentity -> Sem r ()
- removeMLSClients :: forall r. Member MemberStore r => GroupId -> Qualified UserId -> Set ClientId -> Sem r ()
- removeAllMLSClients :: forall r. Member MemberStore r => GroupId -> Sem r ()
- lookupMLSClients :: forall r. Member MemberStore r => GroupId -> Sem r ClientMap
- lookupMLSClientLeafIndices :: forall r. Member MemberStore r => GroupId -> Sem r (ClientMap, IndexMap)
- deleteMembers :: forall r. Member MemberStore r => ConvId -> UserList UserId -> Sem r ()
- deleteMembersInRemoteConversation :: forall r. Member MemberStore r => Remote ConvId -> [UserId] -> Sem r ()
Member store effect
data MemberStore m a where Source #
Create members
createMember :: Member MemberStore r => Local ConvId -> Local UserId -> Sem r [LocalMember] Source #
Add a member to a local conversation, as an admin.
createMembers :: forall r u. (Member MemberStore r, ToUserRole u) => ConvId -> UserList u -> Sem r ([LocalMember], [RemoteMember]) Source #
createMembersInRemoteConversation :: forall r. Member MemberStore r => Remote ConvId -> [UserId] -> Sem r () Source #
createBotMember :: forall r. Member MemberStore r => ServiceRef -> BotId -> ConvId -> Sem r BotMember Source #
Read members
getLocalMember :: forall r. Member MemberStore r => ConvId -> UserId -> Sem r (Maybe LocalMember) Source #
getLocalMembers :: forall r. Member MemberStore r => ConvId -> Sem r [LocalMember] Source #
getAllLocalMembers :: forall r. Member MemberStore r => Sem r [LocalMember] Source #
getRemoteMember :: forall r. Member MemberStore r => ConvId -> Remote UserId -> Sem r (Maybe RemoteMember) Source #
getRemoteMembers :: forall r. Member MemberStore r => ConvId -> Sem r [RemoteMember] Source #
checkLocalMemberRemoteConv :: forall r. Member MemberStore r => UserId -> Remote ConvId -> Sem r Bool Source #
selectRemoteMembers :: forall r. Member MemberStore r => [UserId] -> Remote ConvId -> Sem r ([UserId], Bool) Source #
getRemoteMembersByDomain :: forall r. Member MemberStore r => Domain -> Sem r [(ConvId, RemoteMember)] Source #
getLocalMembersByDomain :: forall r. Member MemberStore r => Domain -> Sem r [(ConvId, UserId)] Source #
Update members
setSelfMember :: forall r. Member MemberStore r => Qualified ConvId -> Local UserId -> MemberUpdate -> Sem r () Source #
setOtherMember :: forall r. Member MemberStore r => Local ConvId -> Qualified UserId -> OtherMemberUpdate -> Sem r () Source #
addMLSClients :: forall r. Member MemberStore r => GroupId -> Qualified UserId -> Set (ClientId, LeafIndex) -> Sem r () Source #
planClientRemoval :: forall r f. (Member MemberStore r, Foldable f) => GroupId -> f ClientIdentity -> Sem r () Source #
removeMLSClients :: forall r. Member MemberStore r => GroupId -> Qualified UserId -> Set ClientId -> Sem r () Source #
removeAllMLSClients :: forall r. Member MemberStore r => GroupId -> Sem r () Source #
lookupMLSClients :: forall r. Member MemberStore r => GroupId -> Sem r ClientMap Source #
lookupMLSClientLeafIndices :: forall r. Member MemberStore r => GroupId -> Sem r (ClientMap, IndexMap) Source #
Delete members
deleteMembers :: forall r. Member MemberStore r => ConvId -> UserList UserId -> Sem r () Source #
deleteMembersInRemoteConversation :: forall r. Member MemberStore r => Remote ConvId -> [UserId] -> Sem r () Source #