ClientDataSource

internal class ClientDataSource(clientRemoteRepository: ClientRemoteRepository, clientRegistrationStorage: ClientRegistrationStorage, clientDAO: ClientDAO, newClientDAO: NewClientDAO, selfUserID: UserId, clientApi: ClientApi, clientMapper: ClientMapper = MapperProvider.clientMapper()) : ClientRepository

Constructors

Link copied to clipboard
constructor(clientRemoteRepository: ClientRemoteRepository, clientRegistrationStorage: ClientRegistrationStorage, clientDAO: ClientDAO, newClientDAO: NewClientDAO, selfUserID: UserId, clientApi: ClientApi, clientMapper: ClientMapper = MapperProvider.clientMapper())

Functions

Link copied to clipboard
open suspend override fun clearClientHasConsumableNotifications(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun clearClientRegistrationBlockedByE2EI(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun clearCurrentClientId(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun clearHasRegisteredMLSClient(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun clearNewClients()
Link copied to clipboard
open suspend override fun clearRetainedClientId(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun currentClientId(): Either<CoreFailure, ClientId>
Link copied to clipboard
open suspend override fun deleteClient(param: DeleteClientParam): Either<NetworkFailure, Unit>
Link copied to clipboard
open suspend override fun deregisterToken(token: String): Either<NetworkFailure, Unit>
Link copied to clipboard
open suspend override fun getClientsByConversationId(conversationId: ConversationId): Either<StorageFailure, Map<UserId, List<Client>>>
Link copied to clipboard
open suspend override fun getClientsByUserId(userId: UserId): Either<StorageFailure, List<OtherUserClient>>
Link copied to clipboard
open suspend override fun hasRegisteredMLSClient(): Either<CoreFailure, Boolean>
Link copied to clipboard
open suspend override fun isClientRegistrationBlockedByE2EI(): Either<CoreFailure, Boolean>
Link copied to clipboard
open suspend override fun observeClientHasConsumableNotifications(): Flow<Boolean>
Link copied to clipboard
open override fun observeClientsByUserId(userId: UserId): Flow<Either<StorageFailure, List<Client>>>
Link copied to clipboard
open suspend override fun observeClientsByUserIdAndClientId(userId: UserId, clientId: ClientId): Flow<Either<StorageFailure, Client>>
Link copied to clipboard
open suspend override fun observeCurrentClientId(): Flow<ClientId?>
Link copied to clipboard
open suspend override fun observeIsClientRegistrationBlockedByE2EI(): Flow<Boolean>
Link copied to clipboard
open override fun observeNewClients(): Flow<Either<StorageFailure, List<Client>>>
Link copied to clipboard
open suspend override fun persistClientHasConsumableNotifications(hasConsumableNotifications: Boolean): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun persistClientId(clientId: ClientId): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun persistRetainedClientId(clientId: ClientId): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun registerClient(param: RegisterClientParameters): Either<NetworkFailure, Client>
Link copied to clipboard
open suspend override fun registerMLSClient(clientId: ClientId, publicKey: ByteArray, cipherSuite: CipherSuite): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun registerToken(senderId: String, client: String, token: String, transport: String): Either<NetworkFailure, Unit>
Link copied to clipboard
open suspend override fun removeClientsAndReturnUsersWithNoClients(redundantClientsOfUsers: Map<UserId, List<ClientId>>): Either<StorageFailure, List<UserId>>
Link copied to clipboard
open suspend override fun retainedClientId(): Either<CoreFailure, ClientId>
Link copied to clipboard
open suspend override fun saveNewClientEvent(newClientEvent: Event.User.NewClient): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun selfListOfClients(): Either<NetworkFailure, List<Client>>

fetches the clients from the backend and stores them in the database

Link copied to clipboard
open suspend override fun setClientRegistrationBlockedByE2EI(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun setHasRegisteredMLSClient(): Either<CoreFailure, Unit>
Link copied to clipboard
open suspend override fun storeMapOfUserToClientId(userToClientMap: Map<UserId, List<ClientId>>): Either<StorageFailure, Unit>
Link copied to clipboard
open suspend override fun storeUserClientIdList(userId: UserId, clients: List<ClientId>): Either<StorageFailure, Unit>
open suspend override fun storeUserClientListAndRemoveRedundantClients(clients: List<InsertClientParam>): Either<StorageFailure, Unit>
Link copied to clipboard
open suspend override fun tryMarkClientsAsValid(userToClientMap: Map<UserId, List<ClientId>>): Either<StorageFailure, Unit>
Link copied to clipboard
open suspend override fun updateClientProteusVerificationStatus(userId: UserId, clientId: ClientId, verified: Boolean): Either<StorageFailure, Unit>