From 6e2aba7db06004b5c8df0bd8aa58326b18ccc0be Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Mon, 4 Aug 2025 15:32:07 +0330 Subject: [PATCH] chore: fix bug in draft --- src/modules/email/DTO/send-email.dto.ts | 4 ++-- src/modules/email/services/email.service.ts | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/modules/email/DTO/send-email.dto.ts b/src/modules/email/DTO/send-email.dto.ts index ec7069c..7cc97bc 100644 --- a/src/modules/email/DTO/send-email.dto.ts +++ b/src/modules/email/DTO/send-email.dto.ts @@ -1,4 +1,4 @@ -import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger"; +import { ApiProperty, ApiPropertyOptional, PartialType } from "@nestjs/swagger"; import { Type } from "class-transformer"; import { IsArray, @@ -296,6 +296,6 @@ export class SendEmailDto { } //######################################################## -export class UpdateDraftDto extends SendEmailDto { +export class UpdateDraftDto extends PartialType(SendEmailDto) { // Draft ID is passed in URL parameter, not in body } diff --git a/src/modules/email/services/email.service.ts b/src/modules/email/services/email.service.ts index 9a3b418..8afe788 100644 --- a/src/modules/email/services/email.service.ts +++ b/src/modules/email/services/email.service.ts @@ -483,9 +483,9 @@ export class EmailService { await firstValueFrom(this.mailServerService.messages.deleteMessage(wildduckUserId, draftsMailboxId, messageId)); this.logger.log(`Existing draft message ${messageId} deleted before update`); - const draftData: SendEmailDto = { + const draftData: UpdateDraftDto = { from: updateDraftDto.from || { address: existingDraft.from?.address || "" }, - to: updateDraftDto.to || [], + to: updateDraftDto.to, cc: updateDraftDto.cc, bcc: updateDraftDto.bcc, replyTo: updateDraftDto.replyTo, @@ -505,8 +505,8 @@ export class EmailService { 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, + text: updateDraftDto.text!, + html: updateDraftDto.html!, subject: updateDraftDto.subject, }); @@ -525,12 +525,11 @@ export class EmailService { draftData.headers = [...(draftData.headers || []), ...headers]; } - const response = await firstValueFrom(this.mailServerService.submission.submitMessage(wildduckUserId, draftData)); + const response = await firstValueFrom(this.mailServerService.submission.submitMessage(wildduckUserId, draftData as SendEmailDto)); return { message: EmailMessage.DRAFT_UPDATED_SUCCESSFULLY, messageId: response.message.id, - subject: "Draft", isDraft: true, }; }