TF-2520 Add abstract printEmail method in repository
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
|
||||||
|
|
||||||
|
abstract class PrintFileDataSource {
|
||||||
|
Future<void> printEmailToPDF(EmailPrint emailPrint);
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
|
import 'package:model/email/attachment.dart';
|
||||||
|
|
||||||
|
class EmailPrint with EquatableMixin {
|
||||||
|
final String appName;
|
||||||
|
final String userName;
|
||||||
|
final Email emailInformation;
|
||||||
|
final String emailContent;
|
||||||
|
final String locale;
|
||||||
|
final String toPrefix;
|
||||||
|
final String ccPrefix;
|
||||||
|
final String bccPrefix;
|
||||||
|
final String replyToPrefix;
|
||||||
|
final String titleAttachment;
|
||||||
|
final List<Attachment>? attachments;
|
||||||
|
final String? toAddress;
|
||||||
|
final String? ccAddress;
|
||||||
|
final String? bccAddress;
|
||||||
|
final String? replyToAddress;
|
||||||
|
|
||||||
|
EmailPrint({
|
||||||
|
required this.appName,
|
||||||
|
required this.userName,
|
||||||
|
required this.emailInformation,
|
||||||
|
required this.emailContent,
|
||||||
|
required this.locale,
|
||||||
|
required this.toPrefix,
|
||||||
|
required this.ccPrefix,
|
||||||
|
required this.bccPrefix,
|
||||||
|
required this.replyToPrefix,
|
||||||
|
required this.titleAttachment,
|
||||||
|
this.attachments,
|
||||||
|
this.toAddress,
|
||||||
|
this.ccAddress,
|
||||||
|
this.bccAddress,
|
||||||
|
this.replyToAddress,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [
|
||||||
|
appName,
|
||||||
|
userName,
|
||||||
|
emailInformation,
|
||||||
|
emailContent,
|
||||||
|
locale,
|
||||||
|
toPrefix,
|
||||||
|
ccPrefix,
|
||||||
|
bccPrefix,
|
||||||
|
replyToPrefix,
|
||||||
|
titleAttachment,
|
||||||
|
attachments,
|
||||||
|
toAddress,
|
||||||
|
ccAddress,
|
||||||
|
bccAddress,
|
||||||
|
replyToAddress,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
extension EmailPrintExtension on EmailPrint {
|
||||||
|
EmailPrint fromEmailContent(String newEmailContent) {
|
||||||
|
return EmailPrint(
|
||||||
|
appName: appName,
|
||||||
|
userName: userName,
|
||||||
|
emailInformation: emailInformation,
|
||||||
|
emailContent: newEmailContent,
|
||||||
|
titleAttachment: titleAttachment,
|
||||||
|
locale: locale,
|
||||||
|
toPrefix: toPrefix,
|
||||||
|
ccPrefix: ccPrefix,
|
||||||
|
bccPrefix: bccPrefix,
|
||||||
|
replyToPrefix: replyToPrefix,
|
||||||
|
attachments: attachments,
|
||||||
|
toAddress: toAddress,
|
||||||
|
ccAddress: ccAddress,
|
||||||
|
bccAddress: bccAddress,
|
||||||
|
replyToAddress: replyToAddress,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,6 +21,7 @@ import 'package:model/email/mark_star_action.dart';
|
|||||||
import 'package:model/email/read_actions.dart';
|
import 'package:model/email/read_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
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/move_to_mailbox_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/restore_deleted_message_request.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||||
@@ -112,4 +113,6 @@ abstract class EmailRepository {
|
|||||||
Future<EmailRecoveryAction> restoreDeletedMessage(RestoredDeletedMessageRequest restoredDeletedMessageRequest);
|
Future<EmailRecoveryAction> restoreDeletedMessage(RestoredDeletedMessageRequest restoredDeletedMessageRequest);
|
||||||
|
|
||||||
Future<EmailRecoveryAction> getRestoredDeletedMessage(EmailRecoveryActionId emailRecoveryActionId);
|
Future<EmailRecoveryAction> getRestoredDeletedMessage(EmailRecoveryActionId emailRecoveryActionId);
|
||||||
|
|
||||||
|
Future<void> printEmail(EmailPrint emailPrint);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user