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
@@ -0,0 +1,18 @@
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/patch_object.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/mailbox/mailbox_property.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
extension ListMailboxIdExtension on List<MailboxId> {
Map<Id, PatchObject> generateMapUpdateObjectSubscribeMailbox(MailboxSubscribeState subscribeState) {
final Map<Id, PatchObject> maps = {
for (var mailboxId in this)
mailboxId.id: PatchObject({
MailboxProperty.isSubscribed: subscribeState == MailboxSubscribeState.enabled
})
};
return maps;
}
}