ScheduleNewAssetMessageUseCaseImpl

internal class ScheduleNewAssetMessageUseCaseImpl(persistNewAssetMessage: PersistNewAssetMessageUseCase, uploadAsset: UploadAssetUseCase, updateAssetMessageTransferStatus: UpdateAssetMessageTransferStatusUseCase, userId: <Error class: unknown class>, slowSyncRepository: SlowSyncRepository, messageRepository: MessageRepository, observeFileSharingStatus: ObserveFileSharingStatusUseCase, validateAssetFileUseCase: ValidateAssetFileTypeUseCase, messageSendFailureHandler: MessageSendFailureHandler, scope: <Error class: unknown class>, dispatcher: <Error class: unknown class>) : ScheduleNewAssetMessageUseCase

Constructors

Link copied to clipboard
constructor(persistNewAssetMessage: PersistNewAssetMessageUseCase, uploadAsset: UploadAssetUseCase, updateAssetMessageTransferStatus: UpdateAssetMessageTransferStatusUseCase, userId: <Error class: unknown class>, slowSyncRepository: SlowSyncRepository, messageRepository: MessageRepository, observeFileSharingStatus: ObserveFileSharingStatusUseCase, validateAssetFileUseCase: ValidateAssetFileTypeUseCase, messageSendFailureHandler: MessageSendFailureHandler, scope: <Error class: unknown class>, dispatcher: <Error class: unknown class>)

Functions

Link copied to clipboard
open suspend operator override fun invoke(asset: AssetUploadParams): ScheduleNewAssetMessageResult

Function that enables sending an asset message to a given conversation with the strategy of fire & forget. This message is persisted locally and the asset upload is scheduled but not awaited, so returning a ScheduleNewAssetMessageResult.Success doesn't mean that the asset upload succeeded, but instead that the creation and persistence of the initial asset message succeeded.