UserDAOImpl
class UserDAOImpl(userQueries: UsersQueries, readDispatcher: ReadDispatcher, writeDispatcher: WriteDispatcher) : UserDAO
Constructors
Link copied to clipboard
internal constructor(userQueries: UsersQueries, readDispatcher: ReadDispatcher, writeDispatcher: WriteDispatcher)
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getUserDetailsByHandleAndConnectionStates(handle: String, connectionStates: List<ConnectionEntity.State>): Flow<List<UserDetailsEntity>>
Link copied to clipboard
open override fun getUserDetailsByNameOrHandleOrEmailAndConnectionStates(searchQuery: String, connectionStates: List<ConnectionEntity.State>): Flow<List<UserDetailsEntity>>
Link copied to clipboard
open suspend override fun getUserDetailsByQualifiedID(qualifiedID: QualifiedIDEntity): UserDetailsEntity?
Link copied to clipboard
open override fun getUserDetailsWithTeamByQualifiedID(qualifiedID: QualifiedIDEntity): Flow<Pair<UserDetailsEntity, TeamEntity?>?>
Link copied to clipboard
open suspend override fun getUserMinimizedByQualifiedID(qualifiedID: QualifiedIDEntity): UserEntityMinimized?
Link copied to clipboard
open suspend override fun getUsersDetailsByQualifiedIDList(qualifiedIDList: List<QualifiedIDEntity>): List<UserDetailsEntity>
Link copied to clipboard
open override fun getUsersDetailsNotInConversationByHandle(conversationId: QualifiedIDEntity, handle: String): Flow<List<UserDetailsEntity>>
Link copied to clipboard
open override fun getUsersDetailsNotInConversationByNameOrHandleOrEmail(conversationId: QualifiedIDEntity, searchQuery: String): Flow<List<UserDetailsEntity>>
Link copied to clipboard
Link copied to clipboard
open suspend override fun getUsersMinimizedByQualifiedIDs(qualifiedIDs: List<QualifiedIDEntity>): List<UserEntityMinimized>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend override fun insertOrIgnoreIncompleteUserWithOnlyEmail(userId: QualifiedIDEntity, email: String)
Link copied to clipboard
Inserts each user into the local storage or ignores if already exists
Link copied to clipboard
open suspend override fun isAtLeastOneUserATeamMember(userId: List<UserIDEntity>, teamId: String): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend override fun markUserAsDeletedAndRemoveFromGroupConv(qualifiedID: QualifiedIDEntity): List<ConversationIDEntity>
Link copied to clipboard
open override fun observeAllUsersDetailsByConnectionStatus(connectionState: ConnectionEntity.State): Flow<List<UserDetailsEntity>>
Link copied to clipboard
open suspend override fun observeUserDetailsByQualifiedID(qualifiedID: QualifiedIDEntity): Flow<UserDetailsEntity?>
Link copied to clipboard
open override fun observeUsersDetailsNotInConversation(conversationId: QualifiedIDEntity): Flow<List<UserDetailsEntity>>
Link copied to clipboard
Link copied to clipboard
open suspend override fun updateActiveOneOnOneConversation(userId: QualifiedIDEntity, conversationId: QualifiedIDEntity)
Update which 1-1 conversation is the currently active one. If multiple encryption protocols are enabled there can be multiple co-existing 1-1 conversations.
Link copied to clipboard
open suspend override fun updateActiveOneOnOneConversationIfNotSet(userId: QualifiedIDEntity, conversationId: QualifiedIDEntity)
Update which 1-1 conversation iff it was not set before.
Link copied to clipboard
Link copied to clipboard
Perform a partial update of an existing user. Only non-null values will be updated otherwise the existing value is kept.
Link copied to clipboard
Link copied to clipboard
open suspend override fun updateUserAvailabilityStatus(qualifiedID: QualifiedIDEntity, status: UserAvailabilityStatusEntity)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend override fun updateUserSupportedProtocols(selfUserId: QualifiedIDEntity, supportedProtocols: Set<SupportedProtocolEntity>)
Link copied to clipboard
open suspend override fun upsertConnectionStatuses(userStatuses: Map<QualifiedIDEntity, ConnectionEntity.State>)
Link copied to clipboard
This will update UserEntity.team, UserEntity.userType, UserEntity.connectionStatus to ConnectionEntity.State.ACCEPTED or insert a new record.
Link copied to clipboard
This will update all columns (or insert a new record), except:
Link copied to clipboard
This will update all columns (or insert a new record), except: