MessageRepository
Inheritors
Functions
Link copied to clipboard
abstract suspend fun broadcastEnvelope(envelope: MessageEnvelope, messageOption: BroadcastMessageOption): Either<CoreFailure, Instant>
Link copied to clipboard
abstract suspend fun claimFailedMessageForRetry(conversationId: ConversationId, messageUuid: String): Either<CoreFailure, Boolean>
Link copied to clipboard
abstract suspend fun deleteMessage(messageUuid: String, conversationId: ConversationId): Either<CoreFailure, Unit>
Link copied to clipboard
Link copied to clipboard
abstract suspend fun getAllAssetIdsFromConversationId(conversationId: ConversationId): Either<StorageFailure, List<String>>
Link copied to clipboard
Link copied to clipboard
abstract suspend fun getAllPendingMessagesFromUser(senderUserId: UserId): Either<CoreFailure, List<Message>>
Link copied to clipboard
abstract suspend fun getImageAssetMessagesByConversationId(conversationId: ConversationId, limit: Int, offset: Int): List<AssetMessage>
Link copied to clipboard
abstract suspend fun getLastMessagesForConversationIds(conversationIdList: List<ConversationId>): Either<StorageFailure, Map<ConversationId, Message>>
Link copied to clipboard
abstract suspend fun getMessageAssetTransferStatus(messageId: String, conversationId: ConversationId): Either<StorageFailure, AssetTransferStatus>
Link copied to clipboard
abstract suspend fun getMessageById(conversationId: ConversationId, messageUuid: String): Either<StorageFailure, Message>
Link copied to clipboard
abstract fun getMessagesByConversationIdAndVisibility(conversationId: ConversationId, limit: Int, offset: Int, visibility: List<Message.Visibility> = Message.Visibility.entries): Flow<List<Message>>
Link copied to clipboard
abstract fun getMessagesByConversationIdAndVisibilityAfterDate(conversationId: ConversationId, date: String, visibility: List<Message.Visibility> = Message.Visibility.entries): Flow<List<Message>>
Link copied to clipboard
abstract suspend fun getNextAudioMessageInConversation(conversationId: ConversationId, messageId: String): Either<CoreFailure, String>
Link copied to clipboard
abstract suspend fun getNotificationMessage(messageSizePerConversation: Int = 10): Either<CoreFailure, List<LocalNotification>>
Link copied to clipboard
abstract suspend fun getPendingConfirmationMessagesByConversationAfterDate(conversationId: ConversationId, afterDateTime: Instant, untilDateTime: Instant, visibility: List<Message.Visibility> = Message.Visibility.entries): Either<CoreFailure, Map<UserId, List<String>>>
Link copied to clipboard
abstract suspend fun getReceiptModeFromGroupConversationByQualifiedID(conversationId: ConversationId): Either<CoreFailure, Conversation.ReceiptMode?>
Link copied to clipboard
abstract suspend fun getSearchedConversationMessagePosition(conversationId: ConversationId, messageId: String): Either<StorageFailure, Int>
Link copied to clipboard
abstract suspend fun getSenderNameByMessageId(conversationId: ConversationId, messageId: String): Either<CoreFailure, String>
Link copied to clipboard
abstract suspend fun markMessageAsDeleted(messageUuid: String, conversationId: ConversationId): Either<StorageFailure, Unit>
Link copied to clipboard
abstract suspend fun markProteusMessagesAsDecryptionResolved(userId: UserId, clientId: ClientId): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun markSelfDeletionEndDate(conversationId: ConversationId, messageUuid: String, deletionEndDate: Instant): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun moveMessagesToAnotherConversation(originalConversation: ConversationId, targetConversation: ConversationId): Either<StorageFailure, Unit>
Link copied to clipboard
abstract fun observeAssetStatuses(conversationId: ConversationId): Flow<Either<StorageFailure, List<MessageAssetStatus>>>
Link copied to clipboard
abstract fun observeMessageById(conversationId: ConversationId, messageUuid: String): Flow<Either<StorageFailure, Message>>
Link copied to clipboard
abstract fun observeMessageVisibility(messageUuid: String, conversationId: ConversationId): Flow<Either<StorageFailure, MessageEntity.Visibility>>
Link copied to clipboard
abstract suspend fun persistMessage(message: Message.Standalone, updateConversationModifiedDate: Boolean = false): Either<CoreFailure, InsertMessageResult>
this fun should never be used directly, use PersistMessageUseCase() instead
Link copied to clipboard
abstract suspend fun persistNoClientsToDeliverFailure(conversationId: ConversationId, messageUuid: String, usersWithFailedDeliveryList: List<UserId>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun persistRecipientsDeliveryFailure(conversationId: ConversationId, messageUuid: String, usersWithFailedDeliveryList: List<UserId>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun persistSystemMessageToAllConversations(message: Message.System): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun promoteMessageToSentUpdatingServerTime(conversationId: ConversationId, messageUuid: String, serverDate: Instant?, millis: Long): Either<CoreFailure, Unit>
Link copied to clipboard
Link copied to clipboard
abstract suspend fun searchMessagesByText(conversationId: ConversationId, searchQuery: String, limit: Int, offset: Int): Either<StorageFailure, List<Message.Standalone>>
Search messages in a conversation by text content.
Link copied to clipboard
abstract suspend fun searchMessagesByTextGlobally(searchQuery: String, limit: Int, offset: Int): Either<StorageFailure, List<Message.Standalone>>
Search messages across all conversations by text content.
Link copied to clipboard
abstract suspend fun sendEnvelope(conversationId: ConversationId, envelope: MessageEnvelope, messageTarget: MessageTarget): Either<CoreFailure, MessageSent>
Link copied to clipboard
abstract suspend fun sendMLSMessage(message: MLSMessageApi.Message): Either<CoreFailure, MessageSent>
Link copied to clipboard
abstract suspend fun updateAssetMessageTransferStatus(transferStatus: AssetTransferStatus, conversationId: ConversationId, messageUuid: String): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateAudioMessageNormalizedLoudness(conversationId: ConversationId, messageId: String, normalizedLoudness: ByteArray): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateCompositeMessage(conversationId: ConversationId, messageContent: MessageContent.CompositeEdited, newMessageId: String, editInstant: Instant): Either<StorageFailure, Unit>
Link copied to clipboard
abstract suspend fun updateLegalHoldMessageMembers(messageId: String, conversationId: ConversationId, newMembers: List<UserId>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateLinkPreviewImageLocalPath(conversationId: ConversationId, messageId: String, urlOffset: Int, localPath: String): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateMessagesStatus(messageStatus: MessageEntity.Status, conversationId: ConversationId, messageUuids: List<String>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateMessagesStatusIfNotRead(messageStatus: MessageEntity.Status, conversationId: ConversationId, messageIds: List<String>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateMessageStatus(messageStatus: MessageEntity.Status, conversationId: ConversationId, messageUuid: String): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateMessageStatusIfNotAcknowledged(messageStatus: MessageEntity.Status, conversationId: ConversationId, messageUuid: String): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateMultipartMessage(conversationId: ConversationId, messageContent: MessageContent.MultipartEdited, newMessageId: String, editInstant: Instant): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updatePendingTextPolicy(conversationId: ConversationId, messageId: String, expireAfterMillis: Long?, expectsReadConfirmation: Boolean): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateTextMessage(conversationId: ConversationId, messageId: String, messageContent: MessageContent.Text): Either<CoreFailure, Unit>
abstract suspend fun updateTextMessage(conversationId: ConversationId, messageContent: MessageContent.TextEdited, newMessageId: String, editInstant: Instant): Either<CoreFailure, Unit>