Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data ConversationStore m a where
- CreateConversationId :: ConversationStore m ConvId
- CreateConversation :: Local ConvId -> NewConversation -> ConversationStore m Conversation
- CreateMLSSelfConversation :: Local UserId -> ConversationStore m Conversation
- DeleteConversation :: ConvId -> ConversationStore m ()
- GetConversation :: ConvId -> ConversationStore m (Maybe Conversation)
- GetConversationEpoch :: ConvId -> ConversationStore m (Maybe Epoch)
- GetConversations :: [ConvId] -> ConversationStore m [Conversation]
- GetConversationMetadata :: ConvId -> ConversationStore m (Maybe ConversationMetadata)
- GetGroupInfo :: ConvId -> ConversationStore m (Maybe GroupInfoData)
- IsConversationAlive :: ConvId -> ConversationStore m Bool
- GetRemoteConversationStatus :: UserId -> [Remote ConvId] -> ConversationStore m (Map (Remote ConvId) MemberStatus)
- SelectConversations :: UserId -> [ConvId] -> ConversationStore m [ConvId]
- SetConversationType :: ConvId -> ConvType -> ConversationStore m ()
- SetConversationName :: ConvId -> Range 1 256 Text -> ConversationStore m ()
- SetConversationAccess :: ConvId -> ConversationAccessData -> ConversationStore m ()
- SetConversationReceiptMode :: ConvId -> ReceiptMode -> ConversationStore m ()
- SetConversationMessageTimer :: ConvId -> Maybe Milliseconds -> ConversationStore m ()
- SetConversationEpoch :: ConvId -> Epoch -> ConversationStore m ()
- SetConversationCipherSuite :: ConvId -> CipherSuiteTag -> ConversationStore m ()
- SetGroupInfo :: ConvId -> GroupInfoData -> ConversationStore m ()
- AcquireCommitLock :: GroupId -> Epoch -> NominalDiffTime -> ConversationStore m LockAcquired
- ReleaseCommitLock :: GroupId -> Epoch -> ConversationStore m ()
- UpdateToMixedProtocol :: Local ConvId -> ConvType -> ConversationStore m ()
- UpdateToMLSProtocol :: Local ConvId -> ConversationStore m ()
- createConversationId :: forall r. Member ConversationStore r => Sem r ConvId
- createConversation :: forall r. Member ConversationStore r => Local ConvId -> NewConversation -> Sem r Conversation
- createMLSSelfConversation :: forall r. Member ConversationStore r => Local UserId -> Sem r Conversation
- getConversation :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe Conversation)
- getConversationEpoch :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe Epoch)
- getConversations :: forall r. Member ConversationStore r => [ConvId] -> Sem r [Conversation]
- getConversationMetadata :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe ConversationMetadata)
- getGroupInfo :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe GroupInfoData)
- isConversationAlive :: forall r. Member ConversationStore r => ConvId -> Sem r Bool
- getRemoteConversationStatus :: forall r. Member ConversationStore r => UserId -> [Remote ConvId] -> Sem r (Map (Remote ConvId) MemberStatus)
- selectConversations :: forall r. Member ConversationStore r => UserId -> [ConvId] -> Sem r [ConvId]
- setConversationType :: forall r. Member ConversationStore r => ConvId -> ConvType -> Sem r ()
- setConversationName :: forall r. Member ConversationStore r => ConvId -> Range 1 256 Text -> Sem r ()
- setConversationAccess :: forall r. Member ConversationStore r => ConvId -> ConversationAccessData -> Sem r ()
- setConversationReceiptMode :: forall r. Member ConversationStore r => ConvId -> ReceiptMode -> Sem r ()
- setConversationMessageTimer :: forall r. Member ConversationStore r => ConvId -> Maybe Milliseconds -> Sem r ()
- setConversationEpoch :: forall r. Member ConversationStore r => ConvId -> Epoch -> Sem r ()
- setConversationCipherSuite :: forall r. Member ConversationStore r => ConvId -> CipherSuiteTag -> Sem r ()
- acceptConnectConversation :: Member ConversationStore r => ConvId -> Sem r ()
- setGroupInfo :: forall r. Member ConversationStore r => ConvId -> GroupInfoData -> Sem r ()
- updateToMixedProtocol :: forall r. Member ConversationStore r => Local ConvId -> ConvType -> Sem r ()
- updateToMLSProtocol :: forall r. Member ConversationStore r => Local ConvId -> Sem r ()
- deleteConversation :: forall r. Member ConversationStore r => ConvId -> Sem r ()
- acquireCommitLock :: forall r. Member ConversationStore r => GroupId -> Epoch -> NominalDiffTime -> Sem r LockAcquired
- releaseCommitLock :: forall r. Member ConversationStore r => GroupId -> Epoch -> Sem r ()
ConversationStore Effect
data ConversationStore m a where Source #
Create conversation
createConversationId :: forall r. Member ConversationStore r => Sem r ConvId Source #
createConversation :: forall r. Member ConversationStore r => Local ConvId -> NewConversation -> Sem r Conversation Source #
createMLSSelfConversation :: forall r. Member ConversationStore r => Local UserId -> Sem r Conversation Source #
Read conversation
getConversation :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe Conversation) Source #
getConversationEpoch :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe Epoch) Source #
getConversations :: forall r. Member ConversationStore r => [ConvId] -> Sem r [Conversation] Source #
getConversationMetadata :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe ConversationMetadata) Source #
getGroupInfo :: forall r. Member ConversationStore r => ConvId -> Sem r (Maybe GroupInfoData) Source #
isConversationAlive :: forall r. Member ConversationStore r => ConvId -> Sem r Bool Source #
getRemoteConversationStatus :: forall r. Member ConversationStore r => UserId -> [Remote ConvId] -> Sem r (Map (Remote ConvId) MemberStatus) Source #
selectConversations :: forall r. Member ConversationStore r => UserId -> [ConvId] -> Sem r [ConvId] Source #
Update conversation
setConversationType :: forall r. Member ConversationStore r => ConvId -> ConvType -> Sem r () Source #
setConversationName :: forall r. Member ConversationStore r => ConvId -> Range 1 256 Text -> Sem r () Source #
setConversationAccess :: forall r. Member ConversationStore r => ConvId -> ConversationAccessData -> Sem r () Source #
setConversationReceiptMode :: forall r. Member ConversationStore r => ConvId -> ReceiptMode -> Sem r () Source #
setConversationMessageTimer :: forall r. Member ConversationStore r => ConvId -> Maybe Milliseconds -> Sem r () Source #
setConversationEpoch :: forall r. Member ConversationStore r => ConvId -> Epoch -> Sem r () Source #
setConversationCipherSuite :: forall r. Member ConversationStore r => ConvId -> CipherSuiteTag -> Sem r () Source #
acceptConnectConversation :: Member ConversationStore r => ConvId -> Sem r () Source #
setGroupInfo :: forall r. Member ConversationStore r => ConvId -> GroupInfoData -> Sem r () Source #
updateToMixedProtocol :: forall r. Member ConversationStore r => Local ConvId -> ConvType -> Sem r () Source #
updateToMLSProtocol :: forall r. Member ConversationStore r => Local ConvId -> Sem r () Source #
Delete conversation
deleteConversation :: forall r. Member ConversationStore r => ConvId -> Sem r () Source #
MLS commit lock management
acquireCommitLock :: forall r. Member ConversationStore r => GroupId -> Epoch -> NominalDiffTime -> Sem r LockAcquired Source #
releaseCommitLock :: forall r. Member ConversationStore r => GroupId -> Epoch -> Sem r () Source #