Package-level declarations

Types

Link copied to clipboard

Use case for creating a new meeting.

Link copied to clipboard
internal class CreateNewMeetingUseCaseImpl(meetingRepository: MeetingRepository, refreshUsersWithoutMetadata: RefreshUsersWithoutMetadataUseCase, transactionProvider: CryptoTransactionProvider) : CreateNewMeetingUseCase
Link copied to clipboard

Use case for deleting a meeting for every participant by its ID.

Link copied to clipboard
internal class DeleteMeetingForEveryoneUseCaseImpl(meetingRepository: MeetingRepository, conversationRepository: ConversationRepository, deleteConversation: DeleteConversationUseCase, transactionProvider: CryptoTransactionProvider) : DeleteMeetingForEveryoneUseCase
Link copied to clipboard

Use case for deleting a meeting only for the self user.

Link copied to clipboard
Link copied to clipboard

Use case for ensuring that the meeting's MLS conversation group is established. If the conversation related to the meeting is MLS-capable then tries to establish or join MLS group using dedicated use case. If the MLS group is already established or if the conversation is not MLS-capable, it does nothing and returns success.

Link copied to clipboard

Use case for finding the next soonest unfinished occurrence of a meeting at the given point in time. Unfinished occurrences are those that have not yet ended at the given point in time. If there is a currently ongoing occurrence, it will be returned, otherwise the next upcoming occurrence will be returned. If there are no unfinished occurrences, null will be returned.

internal class GetNextUnfinishedMeetingOccurrenceUseCaseImpl(dispatcher: KaliumDispatcher, meetingRepository: MeetingRepository) : GetNextUnfinishedMeetingOccurrenceUseCase
Link copied to clipboard

This use case observes and returns a flow of paginated meeting occurrences.

internal class GetPaginatedMeetingOccurrencesUseCaseImpl(dispatcher: KaliumDispatcher, meetingRepository: MeetingRepository) : GetPaginatedMeetingOccurrencesUseCase
Link copied to clipboard

Locally prunes ended history and renews the SDK's current recurrence window (through local today + 91 days). Ongoing occurrences are retained regardless of their start day. No network or platform scheduler is required. Callers gate availability, and can run this before observing/refreshing on open or local date/timezone changes.

Link copied to clipboard
internal class MaintainMeetingOccurrencesUseCaseImpl(dispatcher: KaliumDispatcher, meetingRepository: MeetingRepository) : MaintainMeetingOccurrencesUseCase
Link copied to clipboard

Reads locally stored meeting occurrences for scheduling reminder notifications.

Link copied to clipboard
Link copied to clipboard
class MeetingScope(dispatcher: KaliumDispatcher, meetingRepository: MeetingRepository, userRepository: UserRepository, conversationRepository: ConversationRepository, refreshUsersWithoutMetadata: RefreshUsersWithoutMetadataUseCase, resetMLSConversation: ResetMLSConversationUseCase, joinExistingMLSConversation: JoinExistingMLSConversationUseCase, leaveConversation: LeaveConversationUseCase, deleteConversation: DeleteConversationUseCase, transactionProvider: CryptoTransactionProvider)
Link copied to clipboard

Use case for observing a meeting occurrence by its ID.

Link copied to clipboard
internal class ObserveMeetingOccurrenceUseCaseImpl(dispatcher: KaliumDispatcher, meetingRepository: MeetingRepository) : ObserveMeetingOccurrenceUseCase
Link copied to clipboard

Synchronizes the current user's meetings from the backend when meetings are enabled.

Link copied to clipboard
internal class SyncMeetingsUseCaseImpl(meetingRepository: MeetingRepository, isMeetingsEnabledUseCase: IsMeetingsEnabledUseCase, transactionProvider: CryptoTransactionProvider) : SyncMeetingsUseCase

This use case will sync against the backend the meetings of the current user.

Link copied to clipboard

Use case for updating existing meeting.

Link copied to clipboard
internal class UpdateMeetingUseCaseImpl(meetingRepository: MeetingRepository, userRepository: UserRepository, refreshUsersWithoutMetadata: RefreshUsersWithoutMetadataUseCase, resetMLSConversation: ResetMLSConversationUseCase, transactionProvider: CryptoTransactionProvider) : UpdateMeetingUseCase

Functions

Link copied to clipboard
internal fun SyncMeetingsUseCase.Result.asEither(): Either<CoreFailure, Unit>