MLSOneOnOneConversationResolverImpl

internal class MLSOneOnOneConversationResolverImpl(conversationRepository: ConversationRepository, joinExistingMLSConversationUseCase: JoinExistingMLSConversationUseCase, fetchMLSOneToOneConversation: FetchMLSOneToOneConversationUseCase, mlsConversationRepository: MLSConversationRepository) : MLSOneOnOneConversationResolver

Constructors

Link copied to clipboard
constructor(conversationRepository: ConversationRepository, joinExistingMLSConversationUseCase: JoinExistingMLSConversationUseCase, fetchMLSOneToOneConversation: FetchMLSOneToOneConversationUseCase, mlsConversationRepository: MLSConversationRepository)

Functions

Link copied to clipboard
open suspend operator override fun invoke(transactionContext: CryptoTransactionContext, userId: UserId, allowJoinByExternalCommit: Boolean = true): Either<CoreFailure, ConversationId>

Attempts to find an existing MLS-capable one-on-one conversation, or creates a new one if none is found. In case the conversation already exists, but it's not established yet (see GroupState.ESTABLISHED), it will attempt to join it, returning failure if it fails.