Files
workavia-mail-front/lib/features/upload/domain/state/attachment_upload_state.dart
T
dab246 8b20e9e1d4 TF-2118 Handle drop n drop file as attachment
(cherry picked from commit cb1f15dcba46a15dbd5c5a8493593854855be331)
2023-10-09 12:12:24 +07:00

73 lines
1.7 KiB
Dart

import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:model/email/attachment.dart';
import 'package:model/upload/file_info.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 => [uploadId, 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 => [uploadId, progress, total];
}
class SuccessAttachmentUploadState extends Success {
final UploadTaskId uploadId;
final Attachment attachment;
final FileInfo fileInfo;
final bool fromFileShared;
SuccessAttachmentUploadState(
this.uploadId,
this.attachment,
this.fileInfo,
{
this.fromFileShared = false
}
);
@override
List<Object?> get props => [
uploadId,
attachment,
fileInfo,
fromFileShared,
];
}
class ErrorAttachmentUploadState extends FeatureFailure {
final UploadTaskId uploadId;
ErrorAttachmentUploadState({
required this.uploadId,
dynamic exception
}) : super(exception: exception);
@override
List<Object?> get props => [uploadId, ...super.props];
}
class CancelAttachmentUploadState extends Failure {
final UploadTaskId uploadId;
CancelAttachmentUploadState(this.uploadId);
@override
List<Object?> get props => [uploadId];
}