Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- createSettings :: forall r. (Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceInvalidKey) r, Member (ErrorS 'LegalHoldServiceBadResponse) r, Member LegalHoldStore r, Member TeamFeatureStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> TeamId -> NewLegalHoldService -> Sem r ViewLegalHoldService
- getSettings :: forall r. (Member (ErrorS 'NotATeamMember) r, Member LegalHoldStore r, Member TeamFeatureStore r, Member TeamStore r) => Local UserId -> TeamId -> Sem r ViewLegalHoldService
- removeSettingsInternalPaging :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldDisableUnimplemented) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member (TeamMemberStore InternalPaging) r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> RemoveLegalHoldSettingsRequest -> Sem r ()
- removeSettings :: forall p r. (Paging p, Bounded (PagingBounds p TeamMember), Member TeamFeatureStore r, Member (TeamMemberStore p) r, Member TeamStore r, Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldDisableUnimplemented) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member (Embed IO) r) => UserId -> TeamId -> RemoveLegalHoldSettingsRequest -> Sem r ()
- removeSettings' :: forall p r. (Paging p, Bounded (PagingBounds p TeamMember), Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member (Input (Local ())) r, Member (Input Env) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member (TeamMemberStore p) r, Member TeamStore r, Member ProposalStore r, Member Random r, Member TinyLog r, Member SubConversationStore r, Member (Embed IO) r) => TeamId -> Sem r ()
- getUserStatus :: forall r. (Member (Error InternalError) r, Member (ErrorS 'TeamMemberNotFound) r, Member LegalHoldStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> TeamId -> UserId -> Sem r UserLegalHoldStatusResponse
- grantConsent :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'TeamMemberNotFound) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamStore r) => Local UserId -> TeamId -> Sem r GrantConsentResult
- requestDevice :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceBadResponse) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'MLSLegalholdIncompatible) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'NoUserLegalHoldConsent) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'TeamMemberNotFound) r, Member (ErrorS 'UserLegalHoldAlreadyEnabled) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> UserId -> Sem r RequestDeviceResult
- approveDevice :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS 'AccessDenied) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NoLegalHoldDeviceAllocated) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'UserLegalHoldAlreadyEnabled) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member (ErrorS 'UserLegalHoldNotPending) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> ConnId -> TeamId -> UserId -> ApproveLegalHoldForUserRequest -> Sem r ()
- disableForUser :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> UserId -> DisableLegalHoldForUserRequest -> Sem r DisableLegalHoldForUserResponse
- unsetTeamLegalholdWhitelistedH :: Member LegalHoldStore r => TeamId -> Sem r ()
Documentation
createSettings :: forall r. (Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceInvalidKey) r, Member (ErrorS 'LegalHoldServiceBadResponse) r, Member LegalHoldStore r, Member TeamFeatureStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> TeamId -> NewLegalHoldService -> Sem r ViewLegalHoldService Source #
getSettings :: forall r. (Member (ErrorS 'NotATeamMember) r, Member LegalHoldStore r, Member TeamFeatureStore r, Member TeamStore r) => Local UserId -> TeamId -> Sem r ViewLegalHoldService Source #
removeSettingsInternalPaging :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldDisableUnimplemented) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member (TeamMemberStore InternalPaging) r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> RemoveLegalHoldSettingsRequest -> Sem r () Source #
removeSettings :: forall p r. (Paging p, Bounded (PagingBounds p TeamMember), Member TeamFeatureStore r, Member (TeamMemberStore p) r, Member TeamStore r, Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldDisableUnimplemented) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member (Embed IO) r) => UserId -> TeamId -> RemoveLegalHoldSettingsRequest -> Sem r () Source #
removeSettings' :: forall p r. (Paging p, Bounded (PagingBounds p TeamMember), Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member ExternalAccess r, Member FederatorAccess r, Member FireAndForget r, Member NotificationSubsystem r, Member (Input UTCTime) r, Member (Input (Local ())) r, Member (Input Env) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member (TeamMemberStore p) r, Member TeamStore r, Member ProposalStore r, Member Random r, Member TinyLog r, Member SubConversationStore r, Member (Embed IO) r) => TeamId -> Sem r () Source #
Remove legal hold settings from team; also disabling for all users and removing LH devices
getUserStatus :: forall r. (Member (Error InternalError) r, Member (ErrorS 'TeamMemberNotFound) r, Member LegalHoldStore r, Member TeamStore r, Member TinyLog r) => Local UserId -> TeamId -> UserId -> Sem r UserLegalHoldStatusResponse Source #
Learn whether a user has LH enabled and fetch pre-keys. Note that this is accessible to ANY authenticated user, even ones outside the team
grantConsent :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'TeamMemberNotFound) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamStore r) => Local UserId -> TeamId -> Sem r GrantConsentResult Source #
Change UserLegalHoldStatus
from no consent to disabled. FUTUREWORK:
withdrawExplicitConsentH
(lots of corner cases we'd have to implement for that to pan
out).
requestDevice :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceBadResponse) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'MLSLegalholdIncompatible) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'NoUserLegalHoldConsent) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'TeamMemberNotFound) r, Member (ErrorS 'UserLegalHoldAlreadyEnabled) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> UserId -> Sem r RequestDeviceResult Source #
Request to provision a device on the legal hold service for a user
approveDevice :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS 'AccessDenied) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldNotEnabled) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NoLegalHoldDeviceAllocated) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS 'UserLegalHoldAlreadyEnabled) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member (ErrorS 'UserLegalHoldNotPending) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> ConnId -> TeamId -> UserId -> ApproveLegalHoldForUserRequest -> Sem r () Source #
Approve the adding of a Legal Hold device to the user.
We don't delete pending prekeys during this flow just in case it gets interupted. There's really no reason to delete them anyways since they are replaced if needed when registering new LH devices.
disableForUser :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member (Error AuthenticationError) r, Member (Error FederationError) r, Member (Error InternalError) r, Member (ErrorS ('ActionDenied 'RemoveConversationMember)) r, Member (ErrorS 'LegalHoldCouldNotBlockConnections) r, Member (ErrorS 'LegalHoldServiceNotRegistered) r, Member (ErrorS 'NotATeamMember) r, Member (ErrorS OperationDenied) r, Member (ErrorS 'UserLegalHoldIllegalOperation) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member (ListItems LegacyPaging ConvId) r, Member MemberStore r, Member ProposalStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member TeamStore r, Member (Embed IO) r) => Local UserId -> TeamId -> UserId -> DisableLegalHoldForUserRequest -> Sem r DisableLegalHoldForUserResponse Source #
unsetTeamLegalholdWhitelistedH :: Member LegalHoldStore r => TeamId -> Sem r () Source #