TF-675 Handle upload attachment use isolate

This commit is contained in:
dab246
2022-07-05 19:28:41 +07:00
committed by Dat H. Pham
parent e732d2314c
commit ad1c6f55c5
5 changed files with 295 additions and 0 deletions
@@ -0,0 +1,55 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:model/email/attachment.dart';
import 'package:tmail_ui_user/features/upload/domain/model/upload_task_id.dart';
class PendingAttachmentUploadState extends Success {
final UploadTaskId uploadId;
final int progress;
final int total;
PendingAttachmentUploadState(this.uploadId, this.progress, this.total);
@override
List<Object?> get props => [progress, total];
}
class UploadingAttachmentUploadState extends Success {
final UploadTaskId uploadId;
final int progress;
final int total;
UploadingAttachmentUploadState(this.uploadId, this.progress, this.total);
@override
List<Object?> get props => [progress, total];
}
class SuccessAttachmentUploadState extends Success {
final UploadTaskId uploadId;
final Attachment attachment;
SuccessAttachmentUploadState(this.uploadId, this.attachment);
@override
List<Object?> get props => [uploadId, attachment];
}
class ErrorAttachmentUploadState extends Failure {
final UploadTaskId uploadId;
ErrorAttachmentUploadState(this.uploadId);
@override
List<Object?> get props => [uploadId];
}
class CancelAttachmentUploadState extends Failure {
final UploadTaskId uploadId;
CancelAttachmentUploadState(this.uploadId);
@override
List<Object?> get props => [uploadId];
}