Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- type FederationAPI = "federation" :> FedApi 'Galley
- federationSitemap :: ServerT FederationAPI (Sem GalleyEffects)
- onClientRemoved :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> ClientRemovedRequest -> Sem r EmptyResponse
- onConversationCreated :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationCreated ConvId -> Sem r EmptyResponse
- getConversationsV1 :: (Member ConversationStore r, Member (Input (Local ())) r) => Domain -> GetConversationsRequest -> Sem r GetConversationsResponse
- getConversations :: (Member ConversationStore r, Member (Input (Local ())) r) => Domain -> GetConversationsRequest -> Sem r GetConversationsResponseV2
- onConversationUpdated :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationUpdate -> Sem r EmptyResponse
- onConversationUpdatedV0 :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationUpdateV0 -> Sem r EmptyResponse
- leaveConversation :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error InternalError) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> LeaveConversationRequest -> Sem r LeaveConversationResponse
- onMessageSent :: (Member NotificationSubsystem r, Member ExternalAccess r, Member MemberStore r, Member (Input (Local ())) r, Member TinyLog r) => Domain -> RemoteMessage ConvId -> Sem r EmptyResponse
- sendMessage :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member (Error InvalidInput) r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Opts) r, Member (Input UTCTime) r, Member ExternalAccess r, Member TeamStore r, Member TinyLog r) => Domain -> ProteusMessageSendRequest -> Sem r MessageSendResponse
- onUserDeleted :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member FireAndForget r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member (Input Env) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> UserDeletedConversationsNotification -> Sem r EmptyResponse
- updateConversation :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member CodeStore r, Member BotAccess r, Member FireAndForget r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member ExternalAccess r, Member FederatorAccess r, Member (Error InternalError) 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 TeamStore r, Member TinyLog r, Member ConversationStore r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member (Input (Local ())) r) => Domain -> ConversationUpdateRequest -> Sem r ConversationUpdateResponse
- handleMLSMessageErrors :: r1 ~ Append MLSBundleStaticErrors (Error UnreachableBackends ': (Error NonFederatingBackends ': (Error MLSProposalFailure ': (Error GalleyError ': (Error MLSProtocolError ': r))))) => Sem r1 MLSMessageResponse -> Sem r MLSMessageResponse
- sendMLSCommitBundle :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member (Error InternalError) r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member Resource r, Member TeamStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member ProposalStore r) => Domain -> MLSMessageSendRequest -> Sem r MLSMessageResponse
- sendMLSMessage :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member (Error InternalError) r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member TeamStore r, Member TinyLog r, Member ProposalStore r, Member SubConversationStore r) => Domain -> MLSMessageSendRequest -> Sem r MLSMessageResponse
- getSubConversationForRemoteUser :: Members '[SubConversationStore, ConversationStore, Input (Local ()), Error InternalError, TinyLog] r => Domain -> GetSubConversationsRequest -> Sem r GetSubConversationsResponse
- leaveSubConversation :: (HasLeaveSubConversationEffects r, Member (Error FederationError) r, Member (Input (Local ())) r, Member Resource r) => Domain -> LeaveSubConversationRequest -> Sem r LeaveSubConversationResponse
- deleteSubConversationForRemoteUser :: Members '[ConversationStore, FederatorAccess, Input (Local ()), Input Env, MemberStore, Resource, SubConversationStore] r => Domain -> DeleteSubConversationFedRequest -> Sem r DeleteSubConversationResponse
- getOne2OneConversationV1 :: (Member (Input (Local ())) r, Member BrigAccess r, Member (Error InvalidInput) r) => Domain -> GetOne2OneConversationRequest -> Sem r GetOne2OneConversationResponse
- getOne2OneConversation :: (Member ConversationStore r, Member (Input (Local ())) r, Member (Error InternalError) r, Member BrigAccess r, Member (Input Env) r) => Domain -> GetOne2OneConversationRequest -> Sem r GetOne2OneConversationResponseV2
- class ToGalleyRuntimeError (effs :: EffectRow) r where
- mapToGalleyError :: Member (Error GalleyError) r => Sem (Append effs r) a -> Sem r a
- onMLSMessageSent :: (Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member MemberStore r, Member TinyLog r) => Domain -> RemoteMLSMessage -> Sem r EmptyResponse
- mlsSendWelcome :: (Member (Error InternalError) r, Member NotificationSubsystem r, Member ExternalAccess r, Member TinyLog r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r) => Domain -> MLSWelcomeRequest -> Sem r MLSWelcomeResponse
- queryGroupInfo :: (Member ConversationStore r, Member (Input (Local ())) r, Member (Input Env) r, Member SubConversationStore r, Member MemberStore r) => Domain -> GetGroupInfoRequest -> Sem r GetGroupInfoResponse
- updateTypingIndicator :: (Member NotificationSubsystem r, Member FederatorAccess r, Member ConversationStore r, Member (Input UTCTime) r, Member (Input (Local ())) r) => Domain -> TypingDataUpdateRequest -> Sem r TypingDataUpdateResponse
- onTypingIndicatorUpdated :: Member NotificationSubsystem r => Domain -> TypingDataUpdated -> Sem r EmptyResponse
- logFederationError :: Member TinyLog r => Local ConvId -> FederationError -> Sem r ()
Documentation
federationSitemap :: ServerT FederationAPI (Sem GalleyEffects) Source #
Convert a polysemy handler to an API
value.
onClientRemoved :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> ClientRemovedRequest -> Sem r EmptyResponse Source #
onConversationCreated :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationCreated ConvId -> Sem r EmptyResponse Source #
getConversationsV1 :: (Member ConversationStore r, Member (Input (Local ())) r) => Domain -> GetConversationsRequest -> Sem r GetConversationsResponse Source #
getConversations :: (Member ConversationStore r, Member (Input (Local ())) r) => Domain -> GetConversationsRequest -> Sem r GetConversationsResponseV2 Source #
onConversationUpdated :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationUpdate -> Sem r EmptyResponse Source #
Update the local database with information on conversation members joining or leaving. Finally, push out notifications to local users.
onConversationUpdatedV0 :: (Member BrigAccess r, Member NotificationSubsystem r, Member ExternalAccess r, Member (Input (Local ())) r, Member MemberStore r, Member TinyLog r) => Domain -> ConversationUpdateV0 -> Sem r EmptyResponse Source #
leaveConversation :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member (Error InternalError) r, Member ExternalAccess r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> LeaveConversationRequest -> Sem r LeaveConversationResponse Source #
onMessageSent :: (Member NotificationSubsystem r, Member ExternalAccess r, Member MemberStore r, Member (Input (Local ())) r, Member TinyLog r) => Domain -> RemoteMessage ConvId -> Sem r EmptyResponse Source #
sendMessage :: (Member BrigAccess r, Member ClientStore r, Member ConversationStore r, Member (Error InvalidInput) r, Member FederatorAccess r, Member BackendNotificationQueueAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Opts) r, Member (Input UTCTime) r, Member ExternalAccess r, Member TeamStore r, Member TinyLog r) => Domain -> ProteusMessageSendRequest -> Sem r MessageSendResponse Source #
onUserDeleted :: (Member BackendNotificationQueueAccess r, Member ConversationStore r, Member FireAndForget r, Member (Error FederationError) r, Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input UTCTime) r, Member (Input Env) r, Member MemberStore r, Member ProposalStore r, Member Random r, Member SubConversationStore r, Member TinyLog r) => Domain -> UserDeletedConversationsNotification -> Sem r EmptyResponse Source #
updateConversation :: forall r. (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member CodeStore r, Member BotAccess r, Member FireAndForget r, Member (Error FederationError) r, Member (Error InvalidInput) r, Member ExternalAccess r, Member FederatorAccess r, Member (Error InternalError) 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 TeamStore r, Member TinyLog r, Member ConversationStore r, Member Random r, Member SubConversationStore r, Member TeamFeatureStore r, Member (Input (Local ())) r) => Domain -> ConversationUpdateRequest -> Sem r ConversationUpdateResponse Source #
handleMLSMessageErrors :: r1 ~ Append MLSBundleStaticErrors (Error UnreachableBackends ': (Error NonFederatingBackends ': (Error MLSProposalFailure ': (Error GalleyError ': (Error MLSProtocolError ': r))))) => Sem r1 MLSMessageResponse -> Sem r MLSMessageResponse Source #
sendMLSCommitBundle :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member (Error InternalError) r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member Resource r, Member TeamStore r, Member TinyLog r, Member Random r, Member SubConversationStore r, Member ProposalStore r) => Domain -> MLSMessageSendRequest -> Sem r MLSMessageResponse Source #
sendMLSMessage :: (Member BackendNotificationQueueAccess r, Member BrigAccess r, Member ConversationStore r, Member ExternalAccess r, Member (Error FederationError) r, Member (Error InternalError) r, Member FederatorAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member (Input Opts) r, Member (Input UTCTime) r, Member LegalHoldStore r, Member MemberStore r, Member TeamStore r, Member TinyLog r, Member ProposalStore r, Member SubConversationStore r) => Domain -> MLSMessageSendRequest -> Sem r MLSMessageResponse Source #
getSubConversationForRemoteUser :: Members '[SubConversationStore, ConversationStore, Input (Local ()), Error InternalError, TinyLog] r => Domain -> GetSubConversationsRequest -> Sem r GetSubConversationsResponse Source #
leaveSubConversation :: (HasLeaveSubConversationEffects r, Member (Error FederationError) r, Member (Input (Local ())) r, Member Resource r) => Domain -> LeaveSubConversationRequest -> Sem r LeaveSubConversationResponse Source #
deleteSubConversationForRemoteUser :: Members '[ConversationStore, FederatorAccess, Input (Local ()), Input Env, MemberStore, Resource, SubConversationStore] r => Domain -> DeleteSubConversationFedRequest -> Sem r DeleteSubConversationResponse Source #
getOne2OneConversationV1 :: (Member (Input (Local ())) r, Member BrigAccess r, Member (Error InvalidInput) r) => Domain -> GetOne2OneConversationRequest -> Sem r GetOne2OneConversationResponse Source #
getOne2OneConversation :: (Member ConversationStore r, Member (Input (Local ())) r, Member (Error InternalError) r, Member BrigAccess r, Member (Input Env) r) => Domain -> GetOne2OneConversationRequest -> Sem r GetOne2OneConversationResponseV2 Source #
class ToGalleyRuntimeError (effs :: EffectRow) r where Source #
mapToGalleyError :: Member (Error GalleyError) r => Sem (Append effs r) a -> Sem r a Source #
Instances
ToGalleyRuntimeError ('[] :: [Effect]) r Source # | |
Defined in Galley.API.Federation mapToGalleyError :: Member (Error GalleyError) r => Sem (Append '[] r) a -> Sem r a Source # | |
(ToGalleyRuntimeError effs r, SingI err, Member (Error GalleyError :: (Type -> Type) -> Type -> Type) (Append effs r)) => ToGalleyRuntimeError ((ErrorS err :: (Type -> Type) -> Type -> Type) ': effs) r Source # | |
Defined in Galley.API.Federation mapToGalleyError :: Member (Error GalleyError) r => Sem (Append (ErrorS err ': effs) r) a -> Sem r a Source # |
onMLSMessageSent :: (Member ExternalAccess r, Member NotificationSubsystem r, Member (Input (Local ())) r, Member (Input Env) r, Member MemberStore r, Member TinyLog r) => Domain -> RemoteMLSMessage -> Sem r EmptyResponse Source #
mlsSendWelcome :: (Member (Error InternalError) r, Member NotificationSubsystem r, Member ExternalAccess r, Member TinyLog r, Member (Input Env) r, Member (Input (Local ())) r, Member (Input UTCTime) r) => Domain -> MLSWelcomeRequest -> Sem r MLSWelcomeResponse Source #
queryGroupInfo :: (Member ConversationStore r, Member (Input (Local ())) r, Member (Input Env) r, Member SubConversationStore r, Member MemberStore r) => Domain -> GetGroupInfoRequest -> Sem r GetGroupInfoResponse Source #
updateTypingIndicator :: (Member NotificationSubsystem r, Member FederatorAccess r, Member ConversationStore r, Member (Input UTCTime) r, Member (Input (Local ())) r) => Domain -> TypingDataUpdateRequest -> Sem r TypingDataUpdateResponse Source #
onTypingIndicatorUpdated :: Member NotificationSubsystem r => Domain -> TypingDataUpdated -> Sem r EmptyResponse Source #
logFederationError :: Member TinyLog r => Local ConvId -> FederationError -> Sem r () Source #
Log a federation error that is impossible in processing a remote request for a local conversation.