TF-4050 refactor: move attachment preview & download logic to download controller

This commit is contained in:
dab246
2025-10-23 12:14:39 +07:00
committed by Dat H. Pham
parent 1398a30ed6
commit 92286b48e1
33 changed files with 1055 additions and 651 deletions
@@ -26,11 +26,9 @@ import 'package:tmail_ui_user/features/email/data/datasource/print_file_datasour
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart';
import 'package:tmail_ui_user/features/email/domain/model/preview_email_eml_request.dart';
import 'package:tmail_ui_user/features/email/domain/model/restore_deleted_message_request.dart';
import 'package:tmail_ui_user/features/email/domain/model/view_entire_message_request.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/presentation/model/eml_previewer.dart';
import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart';
import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
@@ -496,51 +494,6 @@ class EmailRepositoryImpl extends EmailRepository {
return _printFileDataSource.printEmail(emailPrint);
}
@override
Future<List<Email>> parseEmailByBlobIds(AccountId accountId, Set<Id> blobIds) {
return emailDataSource[DataSourceType.network]!.parseEmailByBlobIds(accountId, blobIds);
}
@override
Future<String> generatePreviewEmailEMLContent(PreviewEmailEMLRequest previewEmailEMLRequest) {
return emailDataSource[DataSourceType.network]!.generatePreviewEmailEMLContent(previewEmailEMLRequest);
}
@override
Future<void> sharePreviewEmailEMLContent(EMLPreviewer emlPreviewer) {
return emailDataSource[DataSourceType.local]!.sharePreviewEmailEMLContent(emlPreviewer);
}
@override
Future<EMLPreviewer> getPreviewEmailEMLContentShared(String keyStored) {
return emailDataSource[DataSourceType.local]!.getPreviewEmailEMLContentShared(keyStored);
}
@override
Future<void> removePreviewEmailEMLContentShared(String keyStored) {
return emailDataSource[DataSourceType.local]!.removePreviewEmailEMLContentShared(keyStored);
}
@override
Future<void> storePreviewEMLContentToSessionStorage(EMLPreviewer emlPreviewer) {
return emailDataSource[DataSourceType.session]!.storePreviewEMLContentToSessionStorage(emlPreviewer);
}
@override
Future<EMLPreviewer> getPreviewEMLContentInMemory(String keyStored) {
return emailDataSource[DataSourceType.session]!.getPreviewEMLContentInMemory(keyStored);
}
@override
Future<String> sanitizeHtmlContent(
String htmlContent,
TransformConfiguration configuration
) {
return _htmlDataSource.transformHtmlEmailContent(
htmlContent,
configuration);
}
@override
Future<DownloadedResponse> exportAllAttachments(
AccountId accountId,