chore: add bulk operation
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from "@nestjs/common";
|
||||
import { ApiOperation, ApiResponse } from "@nestjs/swagger";
|
||||
|
||||
import { BulkActionDto } from "./DTO/bulk-actions.dto";
|
||||
import { MessageParamDto, QueueIdParamDto } from "./DTO/email-params.dto";
|
||||
import { MessageListQueryDto } from "./DTO/email-query.dto";
|
||||
import { SearchMessagesQueryDto } from "./DTO/email-query.dto";
|
||||
@@ -199,4 +200,26 @@ export class EmailController {
|
||||
moveMessageToInboxFromTrash(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.moveMessageToInboxFromTrash(userId, Number(params.messageId));
|
||||
}
|
||||
|
||||
@Patch("messages/:messageId/junk")
|
||||
@ApiOperation({ summary: "Move a message to junk mailbox" })
|
||||
@ApiResponse({ status: 200, description: "Message moved to junk successfully" })
|
||||
@ApiResponse({ status: 404, description: "Message not found" })
|
||||
@ApiResponse({ status: 403, description: "Not authorized to move message" })
|
||||
moveMessageToJunk(@UserDec("wildduckUserId") userId: string, @Param() params: MessageParamDto) {
|
||||
return this.emailService.moveMessageToJunk(userId, Number(params.messageId));
|
||||
}
|
||||
|
||||
@Post("messages/bulk-action")
|
||||
@ApiOperation({
|
||||
summary: "Perform bulk actions on multiple messages",
|
||||
description: "Apply actions (seen, delete, archive, favorite, junk, trash) to multiple messages at once",
|
||||
})
|
||||
@ApiResponse({ status: 200, description: "Bulk action completed successfully" })
|
||||
@ApiResponse({ status: 206, description: "Bulk action partially completed" })
|
||||
@ApiResponse({ status: 400, description: "Invalid bulk action data" })
|
||||
@ApiResponse({ status: 403, description: "Not authorized to perform bulk action" })
|
||||
performBulkAction(@UserDec("wildduckUserId") userId: string, @Body() bulkActionDto: BulkActionDto) {
|
||||
return this.emailService.performBulkAction(userId, bulkActionDto);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user