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: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/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/restore_deleted_message_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> getRestoredDeletedMessage(EmailRecoveryActionId emailRecoveryActionId);
|
||||
|
||||
Future<void> printEmail(EmailPrint emailPrint);
|
||||
}
|
||||
Reference in New Issue
Block a user