Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- acceptConv :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> ConvId -> Sem r Conversation
- blockConv :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member MemberStore r) => Local UserId -> Qualified ConvId -> Sem r ()
- blockConvUnqualified :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member MemberStore r) => UserId -> ConvId -> Sem r ()
- unblockConv :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> Qualified ConvId -> Sem r ()
- unblockConvUnqualified :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> ConvId -> Sem r Conversation
- checkReusableCode :: forall r. (Member CodeStore r, Member ConversationStore r, Member TeamFeatureStore r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidConversationPassword) r, Member (Input Opts) r) => ConversationCode -> Sem r ()
- joinConversationByReusableCode :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member CodeStore r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'InvalidConversationPassword) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r, Member TeamStore r, Member TeamFeatureStore r) => Local UserId -> ConnId -> JoinConversationByCode -> Sem r (UpdateResult Event)
- joinConversationById :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r, Member TeamStore r) => Local UserId -> ConnId -> ConvId -> Sem r (UpdateResult Event)
- addCodeUnqualified :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'CreateConversationCodeConflict) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member (Input Opts) r, Member HashPassword r, Member TeamFeatureStore r) => Maybe CreateConversationCodeRequest -> UserId -> Maybe ZHostValue -> Maybe ConnId -> ConvId -> Sem r AddCodeResult
- addCodeUnqualifiedWithReqBody :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'CreateConversationCodeConflict) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member HashPassword r, Member (Input Opts) r, Member TeamFeatureStore r) => UserId -> Maybe Text -> Maybe ConnId -> ConvId -> CreateConversationCodeRequest -> Sem r AddCodeResult
- rmCodeUnqualified :: (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvAccessDenied) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r) => Local UserId -> ConnId -> ConvId -> Sem r Event
- getCode :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (Input Opts) r, Member TeamFeatureStore r) => Maybe ZHostValue -> Local UserId -> ConvId -> Sem r ConversationCodeInfo
- updateUnqualifiedConversationName :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member (ErrorS ('ActionDenied 'ModifyConversationName)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> ConvId -> ConversationRename -> Sem r (UpdateResult Event)
- updateConversationName :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member (ErrorS ('ActionDenied 'ModifyConversationName)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationRename -> Sem r (UpdateResult Event)
- updateConversationReceiptModeUnqualified :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'ModifyConversationReceiptMode)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> ConversationReceiptModeUpdate -> Sem r (UpdateResult Event)
- updateConversationReceiptMode :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'ModifyConversationReceiptMode)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationReceiptModeUpdate -> Sem r (UpdateResult Event)
- updateConversationMessageTimerUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'ModifyConversationMessageTimer)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r) => Local UserId -> ConnId -> ConvId -> ConversationMessageTimerUpdate -> Sem r (UpdateResult Event)
- updateConversationMessageTimer :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'ModifyConversationMessageTimer)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationMessageTimerUpdate -> Sem r (UpdateResult Event)
- updateConversationAccessUnqualified :: Members UpdateConversationAccessEffects r => Local UserId -> ConnId -> ConvId -> ConversationAccessData -> Sem r (UpdateResult Event)
- updateConversationAccess :: Members UpdateConversationAccessEffects r => Local UserId -> ConnId -> Qualified ConvId -> ConversationAccessData -> Sem r (UpdateResult Event)
- deleteLocalConversation :: (Member BrigAccess r, Member BackendNotificationQueueAccess r, Member CodeStore r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS ('ActionDenied 'DeleteConversation)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member SubConversationStore r, Member MemberStore r, Member ProposalStore r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> Local ConvId -> Sem r (UpdateResult Event)
- updateRemoteConversation :: forall tag r. (Member BrigAccess r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r, RethrowErrors (HasConversationActionGalleyErrors tag) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, SingI tag) => Remote ConvId -> Local UserId -> ConnId -> ConversationAction tag -> Sem r (UpdateResult Event)
- updateConversationProtocolWithLocalUser :: forall r. (Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvInvalidProtocolTransition) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member (ErrorS 'MLSMigrationCriteriaNotSatisfied) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'TeamNotFound) r, Member (Error InternalError) r, Member (Input UTCTime) r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input Opts) r, Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member MemberStore r, Member TinyLog r, Member NotificationSubsystem r, Member ExternalAccess r, Member FederatorAccess r, Member Random r, Member ProposalStore r, Member SubConversationStore r, Member TeamFeatureStore r) => Local UserId -> ConnId -> Qualified ConvId -> ProtocolUpdate -> Sem r (UpdateResult Event)
- updateLocalStateOfRemoteConv :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Remote ConversationUpdate -> Maybe ConnId -> Sem r (Maybe Event)
- addMembersUnqualified :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> Invite -> Sem r (UpdateResult Event)
- addMembersUnqualifiedV2 :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> InviteQualified -> Sem r (UpdateResult Event)
- addMembers :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error FederationError) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> InviteQualified -> Sem r (UpdateResult Event)
- updateUnqualifiedSelfMember :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> ConvId -> MemberUpdate -> Sem r ()
- updateSelfMember :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> Qualified ConvId -> MemberUpdate -> Sem r ()
- updateOtherMember :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS ('ActionDenied 'ModifyOtherConversationMember)) r, Member (ErrorS 'InvalidTarget) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvMemberNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> Qualified ConvId -> Qualified UserId -> OtherMemberUpdate -> Sem r ()
- updateOtherMemberUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS ('ActionDenied 'ModifyOtherConversationMember)) r, Member (ErrorS 'InvalidTarget) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvMemberNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> ConvId -> UserId -> OtherMemberUpdate -> Sem r ()
- removeMemberQualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> Qualified UserId -> Sem r (Maybe Event)
- removeMemberUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> UserId -> Sem r (Maybe Event)
- removeMemberFromLocalConv :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local ConvId -> Local UserId -> Maybe ConnId -> Qualified UserId -> Sem r (Maybe Event)
- removeMemberFromRemoteConv :: (Member FederatorAccess r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (Input UTCTime) r) => Remote ConvId -> Local UserId -> Qualified UserId -> Sem r (Maybe Event)
- postProteusMessage :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> RawProto QualifiedNewOtrMessage -> Sem r (PostOtrResponse MessageSendingStatus)
- postOtrMessageUnqualified :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch)
- postProteusBroadcast :: (Member BrigAccess r, Member ClientStore r, Member (ErrorS 'TeamNotFound) r, Member (ErrorS 'NonBindingTeam) r, Member (ErrorS 'BroadcastLimitExceeded) r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> QualifiedNewOtrMessage -> Sem r (PostOtrResponse MessageSendingStatus)
- postOtrBroadcastUnqualified :: (Member BrigAccess r, Member ClientStore r, Member (ErrorS 'TeamNotFound) r, Member (ErrorS 'NonBindingTeam) r, Member (ErrorS 'BroadcastLimitExceeded) r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch)
- memberTypingUnqualified :: (Member NotificationSubsystem r, Member (ErrorS 'ConvNotFound) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ConversationStore r, Member FederatorAccess r) => Local UserId -> ConnId -> ConvId -> TypingStatus -> Sem r ()
- memberTyping :: (Member NotificationSubsystem r, Member (ErrorS 'ConvNotFound) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member ConversationStore r, Member MemberStore r, Member FederatorAccess r) => Local UserId -> ConnId -> Qualified ConvId -> TypingStatus -> Sem r ()
- addBot :: forall r. (Member ClientStore r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> AddBot -> Sem r Event
- rmBot :: (Member ClientStore r, Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r) => Local UserId -> Maybe ConnId -> RemoveBot -> Sem r (UpdateResult Event)
- postBotMessageUnqualified :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member ExternalAccess r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Opts) r, Member TeamStore r, Member TinyLog r, Member (Input UTCTime) r) => BotId -> ConvId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch)
Managing Conversations
acceptConv :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> ConvId -> Sem r Conversation Source #
blockConv :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member MemberStore r) => Local UserId -> Qualified ConvId -> Sem r () Source #
blockConvUnqualified :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member MemberStore r) => UserId -> ConvId -> Sem r () Source #
unblockConv :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> Qualified ConvId -> Sem r () Source #
unblockConvUnqualified :: (Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> Maybe ConnId -> ConvId -> Sem r Conversation Source #
checkReusableCode :: forall r. (Member CodeStore r, Member ConversationStore r, Member TeamFeatureStore r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidConversationPassword) r, Member (Input Opts) r) => ConversationCode -> Sem r () Source #
joinConversationByReusableCode :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member CodeStore r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'InvalidConversationPassword) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r, Member TeamStore r, Member TeamFeatureStore r) => Local UserId -> ConnId -> JoinConversationByCode -> Sem r (UpdateResult Event) Source #
joinConversationById :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r, Member TeamStore r) => Local UserId -> ConnId -> ConvId -> Sem r (UpdateResult Event) Source #
addCodeUnqualified :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'CreateConversationCodeConflict) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member (Input Opts) r, Member HashPassword r, Member TeamFeatureStore r) => Maybe CreateConversationCodeRequest -> UserId -> Maybe ZHostValue -> Maybe ConnId -> ConvId -> Sem r AddCodeResult Source #
addCodeUnqualifiedWithReqBody :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (ErrorS 'CreateConversationCodeConflict) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member HashPassword r, Member (Input Opts) r, Member TeamFeatureStore r) => UserId -> Maybe Text -> Maybe ConnId -> ConvId -> CreateConversationCodeRequest -> Sem r AddCodeResult Source #
rmCodeUnqualified :: (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvAccessDenied) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r) => Local UserId -> ConnId -> ConvId -> Sem r Event Source #
getCode :: forall r. (Member CodeStore r, Member ConversationStore r, Member (ErrorS 'CodeNotFound) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'GuestLinksDisabled) r, Member (Input Opts) r, Member TeamFeatureStore r) => Maybe ZHostValue -> Local UserId -> ConvId -> Sem r ConversationCodeInfo Source #
updateUnqualifiedConversationName :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member (ErrorS ('ActionDenied 'ModifyConversationName)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> ConvId -> ConversationRename -> Sem r (UpdateResult Event) Source #
updateConversationName :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member (ErrorS ('ActionDenied 'ModifyConversationName)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationRename -> Sem r (UpdateResult Event) Source #
updateConversationReceiptModeUnqualified :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'ModifyConversationReceiptMode)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> ConversationReceiptModeUpdate -> Sem r (UpdateResult Event) Source #
updateConversationReceiptMode :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'ModifyConversationReceiptMode)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationReceiptModeUpdate -> Sem r (UpdateResult Event) Source #
updateConversationMessageTimerUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'ModifyConversationMessageTimer)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r) => Local UserId -> ConnId -> ConvId -> ConversationMessageTimerUpdate -> Sem r (UpdateResult Event) Source #
updateConversationMessageTimer :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'ModifyConversationMessageTimer)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r) => Local UserId -> ConnId -> Qualified ConvId -> ConversationMessageTimerUpdate -> Sem r (UpdateResult Event) Source #
updateConversationAccessUnqualified :: Members UpdateConversationAccessEffects r => Local UserId -> ConnId -> ConvId -> ConversationAccessData -> Sem r (UpdateResult Event) Source #
updateConversationAccess :: Members UpdateConversationAccessEffects r => Local UserId -> ConnId -> Qualified ConvId -> ConversationAccessData -> Sem r (UpdateResult Event) Source #
deleteLocalConversation :: (Member BrigAccess r, Member BackendNotificationQueueAccess r, Member CodeStore r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS ('ActionDenied 'DeleteConversation)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member SubConversationStore r, Member MemberStore r, Member ProposalStore r, Member (Input UTCTime) r, Member TeamStore r) => Local UserId -> ConnId -> Local ConvId -> Sem r (UpdateResult Event) Source #
updateRemoteConversation :: forall tag r. (Member BrigAccess r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r, RethrowErrors (HasConversationActionGalleyErrors tag) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, SingI tag) => Remote ConvId -> Local UserId -> ConnId -> ConversationAction tag -> Sem r (UpdateResult Event) Source #
updateConversationProtocolWithLocalUser :: forall r. (Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvInvalidProtocolTransition) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'InvalidOperation) r, Member (Error FederationError) r, Member (ErrorS 'MLSMigrationCriteriaNotSatisfied) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'TeamNotFound) r, Member (Error InternalError) r, Member (Input UTCTime) r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input Opts) r, Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member MemberStore r, Member TinyLog r, Member NotificationSubsystem r, Member ExternalAccess r, Member FederatorAccess r, Member Random r, Member ProposalStore r, Member SubConversationStore r, Member TeamFeatureStore r) => Local UserId -> ConnId -> Qualified ConvId -> ProtocolUpdate -> Sem r (UpdateResult Event) Source #
updateLocalStateOfRemoteConv :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Remote ConversationUpdate -> Maybe ConnId -> Sem r (Maybe Event) Source #
Update the local database with information on conversation members joining or leaving. Finally, push out notifications to local users.
Managing Members
addMembersUnqualified :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> Invite -> Sem r (UpdateResult Event) Source #
addMembersUnqualifiedV2 :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> InviteQualified -> Sem r (UpdateResult Event) Source #
addMembers :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS 'ConvAccessDenied) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'NotConnected) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'TooManyMembers) r, Member (ErrorS 'MissingLegalholdConsent) r, Member (Error FederationError) r, Member (Error NonFederatingBackends) r, Member (Error UnreachableBackends) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> InviteQualified -> Sem r (UpdateResult Event) Source #
updateUnqualifiedSelfMember :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> ConvId -> MemberUpdate -> Sem r () Source #
updateSelfMember :: (Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> Qualified ConvId -> MemberUpdate -> Sem r () Source #
updateOtherMember :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS ('ActionDenied 'ModifyOtherConversationMember)) r, Member (ErrorS 'InvalidTarget) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvMemberNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> Qualified ConvId -> Qualified UserId -> OtherMemberUpdate -> Sem r () Source #
updateOtherMemberUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (ErrorS ('ActionDenied 'ModifyOtherConversationMember)) r, Member (ErrorS 'InvalidTarget) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'ConvMemberNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> ConvId -> UserId -> OtherMemberUpdate -> Sem r () Source #
removeMemberQualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> Qualified UserId -> Sem r (Maybe Event) Source #
removeMemberUnqualified :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> UserId -> Sem r (Maybe Event) Source #
removeMemberFromLocalConv :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'LeaveConversation)) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Local ConvId -> Local UserId -> Maybe ConnId -> Qualified UserId -> Sem r (Maybe Event) Source #
Remove a member from a local conversation.
removeMemberFromRemoteConv :: (Member FederatorAccess r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (Input UTCTime) r) => Remote ConvId -> Local UserId -> Qualified UserId -> Sem r (Maybe Event) Source #
Talking
postProteusMessage :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Qualified ConvId -> RawProto QualifiedNewOtrMessage -> Sem r (PostOtrResponse MessageSendingStatus) Source #
postOtrMessageUnqualified :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> ConvId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch) Source #
postProteusBroadcast :: (Member BrigAccess r, Member ClientStore r, Member (ErrorS 'TeamNotFound) r, Member (ErrorS 'NonBindingTeam) r, Member (ErrorS 'BroadcastLimitExceeded) r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> QualifiedNewOtrMessage -> Sem r (PostOtrResponse MessageSendingStatus) Source #
postOtrBroadcastUnqualified :: (Member BrigAccess r, Member ClientStore r, Member (ErrorS 'TeamNotFound) r, Member (ErrorS 'NonBindingTeam) r, Member (ErrorS 'BroadcastLimitExceeded) r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input Opts) r, Member (Input UTCTime) r, Member TeamStore r, Member TinyLog r) => Local UserId -> ConnId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch) Source #
memberTypingUnqualified :: (Member NotificationSubsystem r, Member (ErrorS 'ConvNotFound) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ConversationStore r, Member FederatorAccess r) => Local UserId -> ConnId -> ConvId -> TypingStatus -> Sem r () Source #
memberTyping :: (Member NotificationSubsystem r, Member (ErrorS 'ConvNotFound) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member ConversationStore r, Member MemberStore r, Member FederatorAccess r) => Local UserId -> ConnId -> Qualified ConvId -> TypingStatus -> Sem r () Source #
External Services
addBot :: forall r. (Member ClientStore r, Member ConversationStore r, Member (ErrorS ('ActionDenied 'AddConversationMember)) r, Member (ErrorS 'ConvNotFound) r, Member (ErrorS 'InvalidOperation) r, Member (ErrorS 'TooManyMembers) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input Opts) r, Member (Input UTCTime) r, Member MemberStore r) => Local UserId -> ConnId -> AddBot -> Sem r Event Source #
rmBot :: (Member ClientStore r, Member ConversationStore r, Member (ErrorS 'ConvNotFound) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member MemberStore r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r) => Local UserId -> Maybe ConnId -> RemoveBot -> Sem r (UpdateResult Event) Source #
postBotMessageUnqualified :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member ExternalAccess r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Opts) r, Member TeamStore r, Member TinyLog r, Member (Input UTCTime) r) => BotId -> ConvId -> Maybe IgnoreMissing -> Maybe ReportMissing -> NewOtrMessage -> Sem r (PostOtrResponse ClientMismatch) Source #