TF-4053 Add interactor/datasource/repository for move folder content action

This commit is contained in:
dab246
2025-10-29 13:19:25 +07:00
committed by Dat H. Pham
parent ccdbd798d9
commit 369316f50d
19 changed files with 695 additions and 188 deletions
@@ -0,0 +1,38 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/move_folder_content_request.dart';
class MovingFolderContent extends LoadingState {}
class MoveFolderContentProgressState extends UIState {
final MailboxId mailboxId;
final int countEmailsCompleted;
final int totalEmails;
MoveFolderContentProgressState(
this.mailboxId,
this.countEmailsCompleted,
this.totalEmails,
);
@override
List<Object?> get props => [
mailboxId,
countEmailsCompleted,
totalEmails,
];
}
class MoveFolderContentSuccess extends UIState {
final MoveFolderContentRequest request;
MoveFolderContentSuccess(this.request);
@override
List<Object?> get props => [request];
}
class MoveFolderContentFailure extends FeatureFailure {
MoveFolderContentFailure(dynamic exception) : super(exception: exception);
}