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
@@ -1,19 +1,21 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/subscribe_request.dart';
class SubscribeMailboxRequest with EquatableMixin {
class SubscribeMailboxRequest extends SubscribeRequest {
final MailboxId mailboxId;
final MailboxSubscribeState newState;
final MailboxSubscribeAction mailboxSubscribeStateAction;
SubscribeMailboxRequest(
this.mailboxId,
this.newState,
this.mailboxSubscribeStateAction);
this.mailboxId,
MailboxSubscribeState subscribeState,
MailboxSubscribeAction subscribeAction,
) : super(subscribeState, subscribeAction);
@override
List<Object?> get props => [mailboxId, newState, mailboxSubscribeStateAction];
List<Object?> get props => [
mailboxId,
super.props
];
}
@@ -0,0 +1,24 @@
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/subscribe_request.dart';
class SubscribeMultipleMailboxRequest extends SubscribeRequest {
final MailboxId parentMailboxId;
final List<MailboxId> mailboxIdsSubscribe;
SubscribeMultipleMailboxRequest(
this.parentMailboxId,
this.mailboxIdsSubscribe,
MailboxSubscribeState subscribeState,
MailboxSubscribeAction subscribeAction,
) : super(subscribeState, subscribeAction);
@override
List<Object?> get props => [
parentMailboxId,
mailboxIdsSubscribe,
super.props
];
}
@@ -0,0 +1,14 @@
import 'package:equatable/equatable.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
abstract class SubscribeRequest with EquatableMixin {
final MailboxSubscribeState subscribeState;
final MailboxSubscribeAction subscribeAction;
SubscribeRequest(this.subscribeState, this.subscribeAction);
@override
List<Object?> get props => [subscribeState, subscribeAction];
}