TF-1718 Implement unsubscribeMail on Jmap server in offline mode

(cherry picked from commit 354808e6883501a8dc1e0ecd5c0d1a6beab0e83a)
This commit is contained in:
dab246
2023-11-16 13:23:40 +07:00
committed by Dat Vu
parent a6ecaf321d
commit 83bd14cb74
7 changed files with 58 additions and 9 deletions
@@ -23,6 +23,7 @@ extension SendingEmailExtension on SendingEmail {
mailboxNameRequest?.name,
creationIdRequest?.value,
sendingState.name,
previousEmailId?.asString,
);
}
@@ -34,7 +35,8 @@ extension SendingEmailExtension on SendingEmail {
emailIdDestroyed: emailIdDestroyed,
emailIdAnsweredOrForwarded: emailIdAnsweredOrForwarded,
identityId: identityId,
storedSendingId: sendingId
storedSendingId: sendingId,
previousEmailId: previousEmailId,
);
}
@@ -51,7 +53,8 @@ extension SendingEmailExtension on SendingEmail {
mailboxNameRequest: mailboxNameRequest,
creationIdRequest: creationIdRequest,
sendingState: sendingState,
selectMode: selectMode == SelectMode.INACTIVE ? SelectMode.ACTIVE : SelectMode.INACTIVE
selectMode: selectMode == SelectMode.INACTIVE ? SelectMode.ACTIVE : SelectMode.INACTIVE,
previousEmailId: previousEmailId,
);
}
@@ -68,7 +71,8 @@ extension SendingEmailExtension on SendingEmail {
mailboxNameRequest: mailboxNameRequest,
creationIdRequest: creationIdRequest,
sendingState: sendingState,
selectMode: SelectMode.INACTIVE
selectMode: SelectMode.INACTIVE,
previousEmailId: previousEmailId,
);
}
@@ -85,7 +89,8 @@ extension SendingEmailExtension on SendingEmail {
mailboxNameRequest: mailboxNameRequest,
creationIdRequest: creationIdRequest,
sendingState: newState,
selectMode: selectMode
selectMode: selectMode,
previousEmailId: previousEmailId,
);
}
}
@@ -31,6 +31,7 @@ class SendingEmail with EquatableMixin {
final DateTime createTime;
final SelectMode selectMode;
final SendingState sendingState;
final EmailId? previousEmailId;
SendingEmail({
required this.sendingId,
@@ -44,7 +45,8 @@ class SendingEmail with EquatableMixin {
this.mailboxNameRequest,
this.creationIdRequest,
this.selectMode = SelectMode.INACTIVE,
this.sendingState = SendingState.waiting
this.sendingState = SendingState.waiting,
this.previousEmailId,
});
Map<String, dynamic> toJson() {
@@ -66,6 +68,7 @@ class SendingEmail with EquatableMixin {
writeNotNull('identityId', const IdentityIdNullableConverter().toJson(identityId));
writeNotNull('mailboxNameRequest', mailboxNameRequest?.name);
writeNotNull('creationIdRequest', const IdNullableConverter().toJson(creationIdRequest));
writeNotNull('previousEmailId', const EmailIdNullableConverter().toJson(previousEmailId));
return val;
}
@@ -88,6 +91,7 @@ class SendingEmail with EquatableMixin {
identityId: const IdentityIdNullableConverter().fromJson(json['identityId'] as String?),
mailboxNameRequest: const MailboxNameConverter().fromJson(json['mailboxNameRequest'] as String?),
creationIdRequest: const IdNullableConverter().fromJson(json['creationIdRequest'] as String?),
previousEmailId: const EmailIdNullableConverter().fromJson(json['previousEmailId'] as String?),
);
}
@@ -134,5 +138,6 @@ class SendingEmail with EquatableMixin {
creationIdRequest,
selectMode,
sendingState,
previousEmailId,
];
}