TF-3515 Add save email as template feature

This commit is contained in:
DatDang
2025-02-25 16:10:20 +07:00
committed by Dat H. Pham
parent ef1f979c4b
commit 7f09f9ceb4
40 changed files with 1079 additions and 54 deletions
@@ -336,6 +336,65 @@ class EmailRepositoryImpl extends EmailRepository {
return result;
}
@override
Future<Email> saveEmailAsTemplate(
Session session,
AccountId accountId,
Email email,
{
CreateNewMailboxRequest? createNewMailboxRequest,
CancelToken? cancelToken,
}
) async {
final result = await emailDataSource[DataSourceType.network]!.saveEmailAsTemplate(
session,
accountId,
email,
createNewMailboxRequest: createNewMailboxRequest,
cancelToken: cancelToken
);
try {
await emailDataSource[DataSourceType.hiveCache]!.saveEmailAsTemplate(
session,
accountId,
result,
createNewMailboxRequest: createNewMailboxRequest,
cancelToken: cancelToken
);
} catch (e) {
logError('EmailRepositoryImpl::saveEmailAsTemplate:exception $e');
}
return result;
}
@override
Future<Email> updateEmailTemplate(
Session session,
AccountId accountId,
Email newEmail,
EmailId oldEmailId,
{CancelToken? cancelToken}
) async {
final result = await emailDataSource[DataSourceType.network]!.updateEmailTemplate(
session,
accountId,
newEmail,
oldEmailId,
cancelToken: cancelToken
);
try {
await emailDataSource[DataSourceType.hiveCache]!.updateEmailTemplate(
session,
accountId,
result,
oldEmailId,
);
} catch (e) {
logError('EmailRepositoryImpl::updateEmailTemplate:exception $e');
}
return result;
}
@override
Future<Uint8List> downloadAttachmentForWeb(
DownloadTaskId taskId,