chore: fix
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from "@nestjs/common";
|
||||
import { ApiOperation, ApiResponse } from "@nestjs/swagger";
|
||||
|
||||
import { QueueIdParamDto, UserMailboxMessageParamDto } from "./DTO/email-params.dto";
|
||||
import { MessageParamDto, QueueIdParamDto } from "./DTO/email-params.dto";
|
||||
import { MessageListQueryDto } from "./DTO/email-query.dto";
|
||||
import { SearchMessagesQueryDto } from "./DTO/email-query.dto";
|
||||
import { SendEmailDto } from "./DTO/send-email.dto";
|
||||
import { SendEmailDto, UpdateDraftDto } from "./DTO/send-email.dto";
|
||||
import { EmailService } from "./services/email.service";
|
||||
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
|
||||
import { UserDec } from "../../common/decorators/user.decorator";
|
||||
@@ -31,28 +31,20 @@ export class EmailController {
|
||||
return this.emailService.getEmailStatus(params.queueId);
|
||||
}
|
||||
|
||||
@Get("messages/inbox")
|
||||
@ApiOperation({ summary: "List messages in a inbox" })
|
||||
@ApiResponse({ status: 200, description: "List of messages" })
|
||||
@ApiResponse({ status: 404, description: "Mailbox not found" })
|
||||
listMessages(@UserDec("wildduckUserId") userId: string, @UserDec("inboxId") inboxId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.listMessages(userId, inboxId, query);
|
||||
}
|
||||
|
||||
@Get("messages/inbox/:messageId")
|
||||
@ApiOperation({ summary: "Get a specific message" })
|
||||
@ApiResponse({ status: 200, description: "Message details" })
|
||||
@ApiResponse({ status: 404, description: "Message not found" })
|
||||
getMessage(@UserDec("wildduckUserId") userId: string, @UserDec("inboxId") inboxId: string, @Param() params: UserMailboxMessageParamDto) {
|
||||
return this.emailService.getMessage(userId, inboxId, params.messageId);
|
||||
getMessage(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.getMessage(userId, params.messageId);
|
||||
}
|
||||
|
||||
@Delete("messages/inbox/:messageId")
|
||||
@ApiOperation({ summary: "Delete a message" })
|
||||
@ApiResponse({ status: 200, description: "Message deleted successfully" })
|
||||
@ApiResponse({ status: 404, description: "Message not found" })
|
||||
deleteMessage(@UserDec("wildduckUserId") userId: string, @UserDec("inboxId") inboxId: string, @Param() params: UserMailboxMessageParamDto) {
|
||||
return this.emailService.deleteMessage(userId, inboxId, params.messageId);
|
||||
deleteMessage(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.deleteMessage(userId, params.messageId);
|
||||
}
|
||||
|
||||
@Get("search")
|
||||
@@ -66,23 +58,67 @@ export class EmailController {
|
||||
@ApiOperation({ summary: "Mark a message as seen" })
|
||||
@ApiResponse({ status: 200, description: "Message marked as seen successfully" })
|
||||
@ApiResponse({ status: 404, description: "Message not found" })
|
||||
markMessageAsSeen(@UserDec("wildduckUserId") userId: string, @UserDec("inboxId") inboxId: string, @Param() params: UserMailboxMessageParamDto) {
|
||||
return this.emailService.markMessageAsSeen(userId, inboxId, Number(params.messageId));
|
||||
markMessageAsSeen(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.markMessageAsSeen(userId, Number(params.messageId));
|
||||
}
|
||||
|
||||
@Get("messages/inbox")
|
||||
@ApiOperation({ summary: "List messages in a inbox" })
|
||||
@ApiResponse({ status: 200, description: "List of messages" })
|
||||
@ApiResponse({ status: 404, description: "Mailbox not found" })
|
||||
listMessages(@UserDec("wildduckUserId") userId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.listMessages(userId, query);
|
||||
}
|
||||
|
||||
@Get("messages/sent")
|
||||
@ApiOperation({ summary: "List messages in sent mailbox" })
|
||||
@ApiResponse({ status: 200, description: "List of sent messages" })
|
||||
@ApiResponse({ status: 404, description: "Sent mailbox not found" })
|
||||
getSentMessages(@UserDec("wildduckUserId") userId: string, @UserDec("sentId") sentId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.getSentMessages(userId, sentId, query);
|
||||
getSentMessages(@UserDec("wildduckUserId") userId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.getSentMessages(userId, query);
|
||||
}
|
||||
|
||||
@Get("messages/trash")
|
||||
@ApiOperation({ summary: "List messages in trash mailbox" })
|
||||
@ApiResponse({ status: 200, description: "List of trash messages" })
|
||||
@ApiResponse({ status: 404, description: "Trash mailbox not found" })
|
||||
getTrashMessages(@UserDec("wildduckUserId") userId: string, @UserDec("trashId") trashId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.getTrashMessages(userId, trashId, query);
|
||||
getTrashMessages(@UserDec("wildduckUserId") userId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.getTrashMessages(userId, query);
|
||||
}
|
||||
|
||||
@Get("messages/drafts")
|
||||
@ApiOperation({ summary: "List messages in drafts mailbox" })
|
||||
@ApiResponse({ status: 200, description: "List of drafts messages" })
|
||||
@ApiResponse({ status: 404, description: "Drafts mailbox not found" })
|
||||
getDraftsMessages(@UserDec("wildduckUserId") userId: string, @Query() query: MessageListQueryDto) {
|
||||
return this.emailService.getDraftsMessages(userId, query);
|
||||
}
|
||||
|
||||
@Patch("messages/drafts/:messageId")
|
||||
@ApiOperation({ summary: "Update an existing draft" })
|
||||
@ApiResponse({ status: 200, description: "Draft updated successfully" })
|
||||
@ApiResponse({ status: 400, description: "Invalid draft data" })
|
||||
@ApiResponse({ status: 404, description: "Draft not found" })
|
||||
@ApiResponse({ status: 403, description: "Not authorized to update draft" })
|
||||
updateDraft(@UserDec("wildduckUserId") userEmailId: string, @Param() params: MessageParamDto, @Body() updateDraftDto: UpdateDraftDto) {
|
||||
return this.emailService.updateDraft(userEmailId, Number(params.messageId), updateDraftDto);
|
||||
}
|
||||
|
||||
@Post("messages/drafts/:messageId/send")
|
||||
@ApiOperation({ summary: "Send a draft message" })
|
||||
@ApiResponse({ status: 200, description: "Draft sent successfully" })
|
||||
@ApiResponse({ status: 404, description: "Draft not found" })
|
||||
@ApiResponse({ status: 403, description: "Not authorized to send draft" })
|
||||
sendDraft(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.sendDraft(userId, Number(params.messageId));
|
||||
}
|
||||
|
||||
@Delete("messages/drafts/:messageId")
|
||||
@ApiOperation({ summary: "Delete a draft message" })
|
||||
@ApiResponse({ status: 200, description: "Draft deleted successfully" })
|
||||
@ApiResponse({ status: 404, description: "Draft not found" })
|
||||
@ApiResponse({ status: 403, description: "Not authorized to delete draft" })
|
||||
deleteDraft(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.deleteDraft(userId, Number(params.messageId));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user