import { Body, Controller, HttpCode, HttpStatus, Inject, Post, Req, UseGuards, } from '@nestjs/common'; import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard'; import { TaskService } from '../service/task.service'; @Controller('/task') @UseGuards(JwtAuthGuard) export class TaskController { constructor( @Inject('TaskService') private readonly taskService: TaskService, ) {} @Post('/by-user-and-stage') @HttpCode(HttpStatus.OK) async getTasksbyUserAndStage( @Req() req: Request & { user: any }, @Body() body: { stage_id: number; mapped_entity_type?: string; mapped_entity_id?: number; user_id?: number; }, ) { const loggedInUser = req.user.userData; const result = this.taskService.getAllTaskByUserIdandStageId( loggedInUser, body, ); return result; } @Post('/move-task') async moveTask( @Req() req: Request & { user: any }, @Body() body: { mapped_entity_type: string; mapped_entity_id: number; stage_id: number; action_id: number; reason_code: string | number; remark: string; }, ) { const loggedInUser = req.user.userData; const result = this.taskService.moveTask(loggedInUser, body); return result; } @Post('/listing') @HttpCode(HttpStatus.OK) async getAllTask( @Req() req: Request & { user: any }, @Body() body: { mapped_entity_type: string; mapped_entity_id: number; status?: string; mandatory?: boolean; overdue?: boolean; }, ) { const loggedInUser = req.user.userData; const result = this.taskService.getAllTask(loggedInUser, body); return result; } }