NewGroupConversationSystemMessagesCreator

This class is responsible to generate system messages for new group conversations. This can be orchestrated by different components that creates a new group conversation, ie: Events, UseCases, Repositories.

Inheritors

Functions

Link copied to clipboard
abstract suspend fun conversationAppsAccessIfEnabled(eventId: String = LocalId.generate(), conversationId: ConversationId, hasAppsAccessEnabled: Boolean, creatorId: UserId, type: ConversationResponse.Type): Either<CoreFailure, Unit>
abstract suspend fun conversationAppsAccessIfEnabled(eventId: String = LocalId.generate(), conversationId: ConversationId, hasAppsAccessEnabled: Boolean, creatorId: UserId, type: ConversationEntity.Type): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationCellAccessStatus(conversationId: ConversationId, conversationTeamId: String?, isCellEnabled: Boolean, instant: Instant = Clock.System.now()): Either<CoreFailure, Unit>

Creates the system message telling the self user which access they have to the Shared Drive of the conversation.

Link copied to clipboard
abstract suspend fun conversationCellStatus(conversation: ConversationEntity): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationFailedToAddMembers(conversationId: ConversationId, userIdList: List<UserId>, type: MessageContent.MemberChange.FailedToAdd.Type): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationReadReceiptStatus(conversation: Conversation): Either<CoreFailure, Unit>
abstract suspend fun conversationReadReceiptStatus(conversation: ConversationResponse, instant: Instant): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationResolvedMembersAdded(conversationId: ConversationIDEntity, validUsers: List<UserId>, instant: Instant = Clock.System.now()): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationStarted(conversation: ConversationEntity): Either<CoreFailure, Unit>
abstract suspend fun conversationStarted(creatorId: UserId, conversation: ConversationResponse, instant: Instant): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun conversationStartedUnverifiedWarning(conversationId: ConversationId, instant: Instant = Clock.System.now()): Either<CoreFailure, Unit>