chore: template phase 2
This commit is contained in:
@@ -10,7 +10,6 @@ import { MailboxResolverService } from "./services/mailbox-resolver.service";
|
||||
import { WebSocketAuthService } from "./services/websocket-auth.service";
|
||||
import { jwtConfig } from "../../configs/jwt.config";
|
||||
import { MailServerModule } from "../mail-server/mail-server.module";
|
||||
import { TemplateProcessorService } from "../templates/services/template-processor.service";
|
||||
import { TemplatesModule } from "../templates/templates.module";
|
||||
import { User } from "../users/entities/user.entity";
|
||||
import { UsersModule } from "../users/users.module";
|
||||
@@ -18,7 +17,7 @@ import { UsersModule } from "../users/users.module";
|
||||
@Module({
|
||||
imports: [MailServerModule, UsersModule, TemplatesModule, JwtModule.registerAsync(jwtConfig()), MikroOrmModule.forFeature([User])],
|
||||
controllers: [EmailController],
|
||||
providers: [EmailService, MailboxResolverService, EmailGateway, EmailNotificationService, WebSocketAuthService, TemplateProcessorService],
|
||||
exports: [EmailService, MailboxResolverService, EmailGateway, EmailNotificationService, WebSocketAuthService, TemplateProcessorService],
|
||||
providers: [EmailService, MailboxResolverService, EmailGateway, EmailNotificationService, WebSocketAuthService],
|
||||
exports: [EmailService, MailboxResolverService, EmailGateway, EmailNotificationService, WebSocketAuthService],
|
||||
})
|
||||
export class EmailModule {}
|
||||
|
||||
@@ -37,15 +37,20 @@ export class EmailService {
|
||||
this.logger.log(`Processing email through business template for business: ${user.business.id}`);
|
||||
|
||||
// Process email content through business template
|
||||
const processedTemplate = await this.templateProcessorService.processEmailWithTemplate(user.business.id, {
|
||||
const processedTemplate = await this.templateProcessorService.processEmailContent(user.business.id, {
|
||||
text: sendEmailDto.text,
|
||||
html: sendEmailDto.html,
|
||||
subject: sendEmailDto.subject,
|
||||
});
|
||||
|
||||
// Update the DTO with processed content
|
||||
sendEmailDto.html = processedTemplate.html;
|
||||
sendEmailDto.text = processedTemplate.text;
|
||||
if (processedTemplate.isHtml) {
|
||||
sendEmailDto.html = processedTemplate.content;
|
||||
sendEmailDto.text = undefined; // Clear text when using HTML template
|
||||
} else {
|
||||
sendEmailDto.text = processedTemplate.content;
|
||||
sendEmailDto.html = undefined; // Clear HTML when no template
|
||||
}
|
||||
|
||||
if (processedTemplate.hasTemplate) {
|
||||
this.logger.log(`Email content processed through template for business: ${user.business.id}`);
|
||||
@@ -410,14 +415,19 @@ export class EmailService {
|
||||
const user = await this.userRepository.findOne({ wildduckUserId: userEmailId, deletedAt: null }, { populate: ["business"] });
|
||||
|
||||
if (user && user.business && (updateDraftDto.text || updateDraftDto.html)) {
|
||||
const processedTemplate = await this.templateProcessorService.processEmailWithTemplate(user.business.id, {
|
||||
const processedTemplate = await this.templateProcessorService.processEmailContent(user.business.id, {
|
||||
text: updateDraftDto.text,
|
||||
html: updateDraftDto.html,
|
||||
subject: updateDraftDto.subject,
|
||||
});
|
||||
|
||||
draftData.html = processedTemplate.html;
|
||||
draftData.text = processedTemplate.text;
|
||||
if (processedTemplate.isHtml) {
|
||||
draftData.html = processedTemplate.content;
|
||||
draftData.text = undefined;
|
||||
} else {
|
||||
draftData.text = processedTemplate.content;
|
||||
draftData.html = undefined;
|
||||
}
|
||||
|
||||
if (processedTemplate.hasTemplate) {
|
||||
this.logger.log(`Draft content processed through template for business: ${user.business.id}`);
|
||||
|
||||
Reference in New Issue
Block a user