update: new draft logic
This commit is contained in:
@@ -10,6 +10,7 @@ import { EmailMessage } from "../../../common/enums/message.enum";
|
||||
import { EmailNotificationService } from "../../email-utils/services/email-notification.service";
|
||||
import { MailboxResolverService } from "../../email-utils/services/mailbox-resolver.service";
|
||||
import { SearchMessagesMailServerQueryDto } from "../../mail-server/DTO/message.dto";
|
||||
import { MessageHeaders } from "../../mail-server/interfaces/messages-response.interface";
|
||||
import { MailServerService } from "../../mail-server/services/mail-server.service";
|
||||
import { TemplateProcessorService } from "../../templates/services/template-processor.service";
|
||||
import { User } from "../../users/entities/user.entity";
|
||||
@@ -501,29 +502,29 @@ export class EmailService {
|
||||
uploadOnly: true,
|
||||
};
|
||||
|
||||
const user = await this.userRepository.findOne({ wildduckUserId, deletedAt: null }, { populate: ["business"] });
|
||||
// const user = await this.userRepository.findOne({ wildduckUserId, deletedAt: null }, { populate: ["business"] });
|
||||
|
||||
if (user && user.business && (updateDraftDto.text || updateDraftDto.html)) {
|
||||
const processedTemplate = await this.templateProcessorService.processEmailContent(user.business.id, user.id, {
|
||||
text: updateDraftDto.text!,
|
||||
html: updateDraftDto.html!,
|
||||
subject: updateDraftDto.subject,
|
||||
});
|
||||
// if (user && user.business && (updateDraftDto.text || updateDraftDto.html)) {
|
||||
// const processedTemplate = await this.templateProcessorService.processEmailContent(user.business.id, user.id, {
|
||||
// text: updateDraftDto.text!,
|
||||
// html: updateDraftDto.html!,
|
||||
// subject: updateDraftDto.subject,
|
||||
// });
|
||||
|
||||
if (processedTemplate.isHtml) {
|
||||
draftData.html = processedTemplate.content;
|
||||
draftData.text = "";
|
||||
} else {
|
||||
draftData.text = processedTemplate.content;
|
||||
draftData.html = "";
|
||||
}
|
||||
// if (processedTemplate.isHtml) {
|
||||
// draftData.html = processedTemplate.content;
|
||||
// draftData.text = "";
|
||||
// } else {
|
||||
// draftData.text = processedTemplate.content;
|
||||
// draftData.html = "";
|
||||
// }
|
||||
|
||||
const headers = this.generateHeadersForEmailType(user, {
|
||||
html: draftData.html,
|
||||
text: draftData.text,
|
||||
});
|
||||
draftData.headers = [...(draftData.headers || []), ...headers];
|
||||
}
|
||||
// const headers = this.generateHeadersForEmailType(user, {
|
||||
// html: draftData.html,
|
||||
// text: draftData.text,
|
||||
// });
|
||||
// draftData.headers = [...(draftData.headers || []), ...headers];
|
||||
// }
|
||||
|
||||
const response = await firstValueFrom(this.mailServerService.submission.submitMessage(wildduckUserId, draftData as SendEmailDto));
|
||||
|
||||
@@ -540,6 +541,30 @@ export class EmailService {
|
||||
|
||||
const message = await firstValueFrom(this.mailServerService.messages.getMessage(wildduckUserId, draftsMailboxId, messageId));
|
||||
|
||||
const user = await this.userRepository.findOne({ wildduckUserId, deletedAt: null }, { populate: ["business"] });
|
||||
|
||||
if (!user) throw new BadRequestException(EmailMessage.USER_NOT_FOUND);
|
||||
|
||||
const processedTemplate = await this.templateProcessorService.processEmailContent(user.business.id, user.id, {
|
||||
text: message.text || "",
|
||||
html: message.html?.[0] || "",
|
||||
subject: message.subject,
|
||||
});
|
||||
|
||||
if (processedTemplate.isHtml) {
|
||||
message.html = [processedTemplate.content];
|
||||
message.text = "";
|
||||
} else {
|
||||
message.text = processedTemplate.content;
|
||||
message.html = [];
|
||||
}
|
||||
|
||||
const headers = this.generateHeadersForEmailType(user, {
|
||||
html: message.html?.[0] || "",
|
||||
text: message.text || "",
|
||||
});
|
||||
message.headers = { ...message.headers, ...headers } as unknown as MessageHeaders;
|
||||
|
||||
const result = await firstValueFrom(
|
||||
this.mailServerService.messages.submitDraft(wildduckUserId, draftsMailboxId, messageId, { deleteFiles: false }),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user