TF-1432 [Domain] Implement subscribe multiple mailbox

This commit is contained in:
dab246
2023-02-10 14:37:25 +07:00
committed by Dat Vu
parent 26f7e1519d
commit 6a27190f01
10 changed files with 209 additions and 16 deletions
@@ -8,11 +8,11 @@ class LoadingSubscribeMailbox extends UIState {}
class SubscribeMailboxSuccess extends UIActionState {
final MailboxId mailboxId;
final MailboxSubscribeAction mailboxSubscribeStateAction;
final MailboxSubscribeAction subscribeAction;
SubscribeMailboxSuccess(
this.mailboxId,
this.mailboxSubscribeStateAction,
this.subscribeAction,
{
jmap.State? currentEmailState,
jmap.State? currentMailboxState,
@@ -21,10 +21,9 @@ class SubscribeMailboxSuccess extends UIActionState {
@override
List<Object?> get props => [
mailboxId,
currentEmailState,
currentMailboxState,
mailboxSubscribeStateAction
mailboxId,
subscribeAction,
super.props
];
}
@@ -0,0 +1,75 @@
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/base/state/ui_action_state.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
class LoadingSubscribeMultipleMailbox extends UIState {}
class SubscribeMultipleMailboxAllSuccess extends UIActionState {
final MailboxId parentMailboxId;
final List<MailboxId> mailboxIdsSubscribe;
final MailboxSubscribeAction subscribeAction;
SubscribeMultipleMailboxAllSuccess(
this.parentMailboxId,
this.mailboxIdsSubscribe,
this.subscribeAction,
{
jmap.State? currentEmailState,
jmap.State? currentMailboxState,
}
) : super(currentEmailState, currentMailboxState);
@override
List<Object?> get props => [
parentMailboxId,
mailboxIdsSubscribe,
subscribeAction,
super.props
];
}
class SubscribeMultipleMailboxHasSomeSuccess extends UIActionState {
final MailboxId parentMailboxId;
final List<MailboxId> mailboxIdsSubscribe;
final MailboxSubscribeAction subscribeAction;
SubscribeMultipleMailboxHasSomeSuccess(
this.parentMailboxId,
this.mailboxIdsSubscribe,
this.subscribeAction,
{
jmap.State? currentEmailState,
jmap.State? currentMailboxState,
}
) : super(currentEmailState, currentMailboxState);
@override
List<Object?> get props => [
parentMailboxId,
mailboxIdsSubscribe,
subscribeAction,
super.props
];
}
class SubscribeMultipleMailboxAllFailure extends FeatureFailure {
SubscribeMultipleMailboxAllFailure();
@override
List<Object> get props => [];
}
class SubscribeMultipleMailboxFailure extends FeatureFailure {
final dynamic exception;
SubscribeMultipleMailboxFailure(this.exception);
@override
List<Object> get props => [exception];
}