ConversationFolderDataSource

internal class ConversationFolderDataSource(conversationFolderDAO: ConversationFolderDAO, userPropertiesApi: PropertiesApi, selfUserId: QualifiedID, conversationMapper: ConversationMapper = MapperProvider.conversationMapper(selfUserId)) : ConversationFolderRepository

Constructors

Link copied to clipboard
internal constructor(conversationFolderDAO: ConversationFolderDAO, userPropertiesApi: PropertiesApi, selfUserId: QualifiedID, conversationMapper: ConversationMapper = MapperProvider.conversationMapper(selfUserId))

Functions

Link copied to clipboard
open suspend override fun addConversationToFolder(conversationId: QualifiedID, folderId: String): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun addFolder(folder: ConversationFolder): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun deleteFolderAndSync(folderId: String): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun fetchConversationFolders(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun getFavoriteConversationFolder(): Either<CoreFailure, ConversationFolder>
Link copied to clipboard
open suspend override fun getFolder(folderId: String): Either<CoreFailure, FolderWithConversations>
Link copied to clipboard
open override fun observeConversationsFromFolder(folderId: String): Flow<List<ConversationDetailsWithEvents>>
Link copied to clipboard
open override fun observeFolders(): Flow<Either<CoreFailure, List<ConversationFolder>>>
Link copied to clipboard
open suspend override fun removeConversationFromFolder(conversationId: QualifiedID, folderId: String, isFavorite: Boolean = false): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun removeFolder(folderId: String): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun reorderFolders(folderIds: List<String>): Either<CoreFailure, Unit>

Moves the given folders into the listed order, within the places they already occupy.

Link copied to clipboard
open suspend override fun saveFolder(folder: ConversationFolder, added: Set<QualifiedID>, removed: Set<QualifiedID>): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun syncConversationFoldersFromLocal(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun updateConversationFolders(folderWithConversations: List<FolderWithConversations>): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun updateMembership(folderId: String, added: Set<QualifiedID>, removed: Set<QualifiedID>): Either<CoreFailure, ConversationFolder>