ClientDAOImpl

internal class ClientDAOImpl(clientsQueries: ClientsQueries, readDispatcher: ReadDispatcher, writeDispatcher: WriteDispatcher, mapper: ClientMapper = ClientMapper) : ClientDAO

Constructors

Link copied to clipboard
internal constructor(clientsQueries: ClientsQueries, readDispatcher: ReadDispatcher, writeDispatcher: WriteDispatcher, mapper: ClientMapper = ClientMapper)

Functions

Link copied to clipboard
open suspend override fun conversationRecipient(ids: QualifiedIDEntity): Map<QualifiedIDEntity, List<Client>>
Link copied to clipboard
open suspend override fun deleteClient(userId: QualifiedIDEntity, clientId: String)
Link copied to clipboard
open suspend override fun deleteClientsOfUserByQualifiedID(qualifiedID: QualifiedIDEntity)
Link copied to clipboard
open suspend override fun getClientsOfConversation(id: QualifiedIDEntity): Map<QualifiedIDEntity, List<Client>>
Link copied to clipboard
open suspend override fun getClientsOfUserByQualifiedID(qualifiedID: QualifiedIDEntity): List<Client>
Link copied to clipboard
open override fun getClientsOfUserByQualifiedIDFlow(qualifiedID: QualifiedIDEntity): Flow<List<Client>>
Link copied to clipboard
open suspend override fun getClientsOfUsersByQualifiedIDs(ids: List<QualifiedIDEntity>): Map<QualifiedIDEntity, List<Client>>
Link copied to clipboard
open suspend override fun insertClient(client: InsertClientParam)

Inserts a client into the database. the isValid status is always true when inserting a client but if the client already exists then any new value will be ignored.

Link copied to clipboard
open suspend override fun insertClients(clients: List<InsertClientParam>)
Link copied to clipboard
open suspend override fun insertClientsAndRemoveRedundant(clients: List<InsertClientParam>)
Link copied to clipboard
open suspend override fun isMLSCapable(userId: QualifiedIDEntity, clientId: String): Boolean?
Link copied to clipboard
open override fun observeClient(userId: QualifiedIDEntity, clientId: String): Flow<Client?>
Link copied to clipboard
open override fun observeClientsByUserId(qualifiedID: QualifiedIDEntity): Flow<List<Client>>
Link copied to clipboard
open suspend override fun recipientsIfTheyArePartOfConversation(conversationId: ConversationIDEntity, userIds: Set<QualifiedIDEntity>): Map<QualifiedIDEntity, List<Client>>

Returns a map of users and their clients. the result include only users that are in the conversation

Link copied to clipboard
open suspend override fun removeClientsAndReturnUsersWithNoClients(redundantClientsOfUsers: Map<UserIDEntity, List<String>>): List<QualifiedIDEntity>
Link copied to clipboard
open suspend override fun selectAllClients(): Map<QualifiedIDEntity, List<Client>>
Link copied to clipboard
open suspend override fun tryMarkInvalid(invalidClientsList: List<Pair<QualifiedIDEntity, List<String>>>)
Link copied to clipboard
open suspend override fun tryMarkValid(validClientsList: List<Pair<QualifiedIDEntity, List<String>>>)
Link copied to clipboard
open suspend override fun updateClientProteusVerificationStatus(userId: QualifiedIDEntity, clientId: String, verified: Boolean)