UserRepository

Functions

Link copied to clipboard
abstract suspend fun defederateUser(userId: UserId): Either<CoreFailure, Unit>

Marks federated user as defederated in order to hold conversation history when backends stops federating.

Link copied to clipboard
abstract suspend fun fetchAllOtherUsers(): Either<CoreFailure, Unit>

Fetches user information for all of users id stored in the DB

Link copied to clipboard
abstract suspend fun fetchSelfUser(): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun fetchUserInfo(userId: UserId): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun fetchUsersByIds(qualifiedUserIdList: Set<UserId>): Either<CoreFailure, Boolean>
Link copied to clipboard
abstract suspend fun fetchUsersIfUnknownByIds(ids: Set<UserId>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun fetchUsersLegalHoldConsent(userIds: Set<UserId>): Either<CoreFailure, ListUsersLegalHoldConsent>
Link copied to clipboard
abstract suspend fun getAllRecipients(): Either<CoreFailure, Pair<List<Recipient>, List<Recipient>>>
Link copied to clipboard
abstract suspend fun getKnownUser(userId: UserId): Flow<OtherUser?>
Link copied to clipboard
abstract suspend fun getKnownUserMinimized(userId: UserId): Either<StorageFailure, OtherUserMinimized>
Link copied to clipboard
abstract suspend fun getNameAndHandle(userId: UserId): Either<StorageFailure, NameAndHandle>
Link copied to clipboard
abstract suspend fun getOneOnOnConversationId(userId: QualifiedID): Either<StorageFailure, ConversationId>
Link copied to clipboard
abstract suspend fun getSelfUser(): Either<StorageFailure, SelfUser>
Link copied to clipboard
abstract suspend fun getUsersMinimizedByQualifiedIDs(userIds: List<UserId>): Either<StorageFailure, List<OtherUserMinimized>>
Link copied to clipboard
abstract suspend fun getUsersSummaryByIds(userIds: List<QualifiedID>): Either<StorageFailure, List<UserSummary>>

Gets users summary by their ids.

Link copied to clipboard
abstract suspend fun getUsersWithOneOnOneConversation(): List<OtherUser>
Link copied to clipboard
abstract suspend fun insertOrIgnoreIncompleteUsers(userIds: List<QualifiedID>): Either<StorageFailure, Unit>
Link copied to clipboard
abstract suspend fun insertSelfIncompleteUserWithOnlyEmail(email: String): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun insertUsersIfUnknown(users: List<User>): Either<StorageFailure, Unit>
Link copied to clipboard
abstract suspend fun isAtLeastOneUserATeamMember(userId: List<UserId>, teamId: TeamId): Either<StorageFailure, Boolean>
Link copied to clipboard
abstract suspend fun isClientMlsCapable(userId: UserId, clientId: ClientId): Either<StorageFailure, Boolean>
Link copied to clipboard
abstract suspend fun markAsDeleted(userId: List<UserId>): Either<StorageFailure, Unit>
abstract suspend fun markUserAsDeletedAndRemoveFromGroupConversations(userId: UserId): Either<CoreFailure, List<ConversationId>>
Link copied to clipboard
abstract suspend fun migrateUserToTeam(teamName: String): Either<CoreFailure, CreateUserTeam>
Link copied to clipboard
abstract suspend fun observeAllKnownUsers(): Flow<Either<StorageFailure, List<OtherUser>>>
Link copied to clipboard
abstract fun observeAllKnownUsersNotInConversation(conversationId: ConversationId): Flow<Either<StorageFailure, List<OtherUser>>>
Link copied to clipboard
abstract suspend fun observeSelfUser(): Flow<SelfUser>
Link copied to clipboard
abstract suspend fun observeSelfUserWithTeam(): Flow<Pair<SelfUser, Team?>>
Link copied to clipboard
abstract suspend fun observeUser(userId: UserId): Flow<User?>
Link copied to clipboard
abstract suspend fun removeUserBrokenAsset(qualifiedID: QualifiedID): Either<CoreFailure, Unit>

Removes broken user asset to avoid fetching it until next sync.

Link copied to clipboard
abstract suspend fun syncUsersWithoutMetadata(): Either<CoreFailure, Unit>

Updates users without metadata from the server.

Link copied to clipboard
abstract suspend fun updateActiveOneOnOneConversation(userId: UserId, conversationId: ConversationId): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateActiveOneOnOneConversationIfNotSet(userId: UserId, conversationId: ConversationId): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateOtherUserAvailabilityStatus(userId: UserId, status: UserAvailabilityStatus)
Link copied to clipboard
abstract suspend fun updateSelfUser(newName: String? = null, newAccent: Int? = null, newAssetId: String? = null): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateSupportedProtocols(protocols: Set<SupportedProtocol>): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun updateTeamId(userId: UserId, teamId: TeamId): Either<StorageFailure, Unit>
Link copied to clipboard
abstract suspend fun updateUserFromEvent(event: Event.User.Update): Either<CoreFailure, Unit>
Link copied to clipboard
abstract suspend fun userById(userId: UserId): Either<CoreFailure, OtherUser>