Package-level declarations

Types

Link copied to clipboard
class DeleteAccountUseCase(accountRepository: AccountRepository)

Use case for deleting the user account.

Link copied to clipboard
Link copied to clipboard
sealed class E2EIRequiredResult
Link copied to clipboard

Get the Default Protocol SupportedProtocol

Link copied to clipboard
Link copied to clipboard

This use case is responsible for retrieving the current user. fixme: Rename to ObserveSelfUserUseCase

Link copied to clipboard
internal class GetSelfUserUseCaseImpl(userRepository: UserRepository, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl) : GetSelfUserUseCase
Link copied to clipboard
sealed class GetUserInfoResult
Link copied to clipboard
fun interface GetUserInfoUseCase

Use case that allows getting the user details of a user, either locally or externally

Link copied to clipboard
internal class GetUserInfoUseCaseImpl(userRepository: UserRepository, teamRepository: TeamRepository) : GetUserInfoUseCase
Link copied to clipboard

Checks if the current user's team has enabled E2EI and MLS.

Link copied to clipboard
internal class IsE2EIEnabledUseCaseImpl(userConfigRepository: UserConfigRepository, isMLSEnabledUseCase: IsMLSEnabledUseCase) : IsE2EIEnabledUseCase
Link copied to clipboard

This use case is to get the file sharing status of the team settings from the local storage so we can use it to show and hide things on the screen

Link copied to clipboard

Checks if the current user has enabled MLS support.

Link copied to clipboard
internal class IsMLSEnabledUseCaseImpl(featureSupport: FeatureSupport, userConfigRepository: UserConfigRepository) : IsMLSEnabledUseCase
Link copied to clipboard
class IsPasswordRequiredUseCase(selfUserId: <Error class: unknown class>, sessionRepository: SessionRepository)

Checks if the current requires password to authenticate operations. In case the user doesn't have a password, means is an SSO user.

Link copied to clipboard

Computes the managed_by property of the account to define if this is a read only account or not.

Link copied to clipboard
internal class IsReadOnlyAccountUseCaseImpl(selfUserId: <Error class: unknown class>, sessionRepository: SessionRepository, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl) : IsReadOnlyAccountUseCase
Link copied to clipboard

Checks if the self user is a team member or not.

Link copied to clipboard
internal class IsSelfATeamMemberUseCaseImpl(selfTeamIdProvider: SelfTeamIdProvider, slowSyncRepository: SlowSyncRepository) : IsSelfATeamMemberUseCase
Link copied to clipboard

Mark the MLS End-to-End Identity enabling status change as notified need to be called after notifying the user about the change e.g. after showing a dialog, or a toast etc.

Link copied to clipboard

Mark the file sharing status as notified need to be called after notifying the user about the change e.g. after showing a dialog, or a toast etc.

Link copied to clipboard

Mark the Self Deleting Messages team setting change as notified on the app. It needs to be called after notifying the user about that specific change, e.g. after showing a dialog, or a toast etc.

Link copied to clipboard

Observe E2EISettings to notify user when setting is changed to Enabled

Link copied to clipboard
internal class ObserveE2EIRequiredUseCaseImpl(userConfigRepository: UserConfigRepository, featureSupport: FeatureSupport, mlsClientIdentity: GetMLSClientIdentityUseCase, currentClientIdProvider: CurrentClientIdProvider, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl.io, renewCertificateRandomDelay: <Error class: unknown class> = RENEW_RANDOM_DELAY) : ObserveE2EIRequiredUseCase
Link copied to clipboard

This use case is to get a flow of file sharing status of the team settings from the local storage so we can use it to show and hide things on the screen

Link copied to clipboard
data class ObserveOtherUserResult(val getKnownUserError: CoreFailure? = null, val fetchUserError: CoreFailure? = null, val success: <Error class: unknown class>? = null)
Link copied to clipboard

This use case is responsible for retrieving the current user and his/her team.

Link copied to clipboard

Use case that allows observing the user details of a user locally, or request it from API and save to DB, if there is no local data for such user.

Link copied to clipboard
internal class ObserveUserInfoUseCaseImpl(userRepository: UserRepository, teamRepository: TeamRepository) : ObserveUserInfoUseCase
Link copied to clipboard

This gets and observes the list of valid accounts, and it's associated team.

Link copied to clipboard
internal class ObserveValidAccountsUseCaseImpl(sessionRepository: SessionRepository, userSessionScopeProvider: UserSessionScopeProvider, ioDispatcher: <Error class: unknown class> = Dispatchers.IO) : ObserveValidAccountsUseCase
Link copied to clipboard

Persist migrated users from old datasource

Link copied to clipboard
class SelfServerConfigUseCase(selfUserId: <Error class: unknown class>, serverConfigRepository: ServerConfigRepository)

This use case is responsible for retrieving the current user's server configuration.

Link copied to clipboard
sealed class SetUserHandleResult
Link copied to clipboard
class SetUserHandleUseCase(accountRepository: AccountRepository, validateUserHandle: ValidateUserHandleUseCase, syncManager: SyncManager)

Sets the user's handle remotely and locally.

Link copied to clipboard

Use case that returns Boolean if user should be asked for a feedback about call quality or not.

Link copied to clipboard
internal interface SyncContactsUseCase

Syncs the current user's contacts.

Link copied to clipboard
Link copied to clipboard
internal interface SyncSelfUserUseCase

This use case will sync the current user with the backend.

Link copied to clipboard
Link copied to clipboard

Updates the display name of the current user.

Link copied to clipboard
internal class UpdateDisplayNameUseCaseImpl(accountRepository: AccountRepository, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl) : UpdateDisplayNameUseCase
Link copied to clipboard
class UpdateEmailUseCase(accountRepository: AccountRepository)

Updates the user's email address. keep in mind that this use case does not update the email immediately, it only sends a request to the backend. the use need to confirm the email change by clicking on the link in an email they receive.

Link copied to clipboard

Use case that updates next time when user should be asked for a feedback about call quality.

Link copied to clipboard
class UpdateSelfAvailabilityStatusUseCase(accountRepository: AccountRepository, messageSender: MessageSender, provideClientId: CurrentClientIdProvider, selfUserId: <Error class: unknown class>, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl)

Updates the current user's UserAvailabilityStatus status.

Link copied to clipboard

Updates the supported protocols of the current user.

internal class UpdateSelfUserSupportedProtocolsUseCaseImpl(clientsRepository: ClientRepository, userRepository: UserRepository, userConfigRepository: UserConfigRepository, featureSupport: FeatureSupport, currentClientIdProvider: CurrentClientIdProvider, logger: <Error class: unknown class>) : UpdateSelfUserSupportedProtocolsUseCase

Update self supported protocols, and if the supported protocols did change we also resolve the active protocol for all one-on-one conversations.

Link copied to clipboard
sealed class UploadAvatarResult
Link copied to clipboard
Link copied to clipboard
internal class UploadUserAvatarUseCaseImpl(userDataSource: UserRepository, assetDataSource: AssetRepository, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl) : UploadUserAvatarUseCase
Link copied to clipboard
class UserScope(userRepository: UserRepository, userConfigRepository: UserConfigRepository, accountRepository: AccountRepository, syncManager: SyncManager, assetRepository: AssetRepository, teamRepository: TeamRepository, sessionRepository: SessionRepository, serverConfigRepository: ServerConfigRepository, selfUserId: <Error class: unknown class>, metadataDAO: <Error class: unknown class>, userPropertyRepository: UserPropertyRepository, messageSender: MessageSender, clientIdProvider: CurrentClientIdProvider, e2EIRepository: E2EIRepository, mlsConversationRepository: MLSConversationRepository, conversationRepository: ConversationRepository, isSelfATeamMember: IsSelfATeamMemberUseCase, updateSelfUserSupportedProtocolsUseCase: UpdateSelfUserSupportedProtocolsUseCase, clientRepository: ClientRepository, joinExistingMLSConversationsUseCase: JoinExistingMLSConversationsUseCase, val refreshUsersWithoutMetadata: RefreshUsersWithoutMetadataUseCase, isE2EIEnabledUseCase: IsE2EIEnabledUseCase, certificateRevocationListRepository: CertificateRevocationListRepository, incrementalSyncRepository: IncrementalSyncRepository, checkRevocationList: RevocationListChecker, syncFeatureConfigs: SyncFeatureConfigsUseCase, userScopedLogger: <Error class: unknown class>)