diff --git a/src/modules/archival/controllers/leave-requests-archive.controller.ts b/src/modules/archival/controllers/leave-requests-archive.controller.ts index 62e6925..51ad8e6 100644 --- a/src/modules/archival/controllers/leave-requests-archive.controller.ts +++ b/src/modules/archival/controllers/leave-requests-archive.controller.ts @@ -2,6 +2,7 @@ import { Get, Param, ParseIntPipe, NotFoundException, Controller, UseGuards } fr import { ApiOperation, ApiResponse, ApiTags } from "@nestjs/swagger"; import { LeaveRequestsArchive, Roles as RoleEnum } from "@prisma/client"; import { RolesAllowed } from "src/common/decorators/roles.decorators"; +import { LeaveRequestViewDto } from "src/modules/leave-requests/dtos/leave-request.view.dto"; import { LeaveRequestsService } from "src/modules/leave-requests/services/leave-requests.service"; @ApiTags('LeaveRequests Archives') @@ -22,7 +23,7 @@ export class LeaveRequestsArchiveController { //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) @ApiOperation({ summary: 'Fetch leaveRequest in archives with its Id'}) @ApiResponse({ status: 200, description: 'Archived leaveRequest found'}) - async findOneArchived(@Param('id', ParseIntPipe) id: number ): Promise { + async findOneArchived(@Param('id', ParseIntPipe) id: number ): Promise { try{ return await this.leaveRequestsService.findOneArchived(id); }catch { diff --git a/src/modules/leave-requests/controllers/leave-requests.controller.ts b/src/modules/leave-requests/controllers/leave-requests.controller.ts index 1878b64..8948df4 100644 --- a/src/modules/leave-requests/controllers/leave-requests.controller.ts +++ b/src/modules/leave-requests/controllers/leave-requests.controller.ts @@ -1,4 +1,4 @@ -import { BadRequestException, Body, Controller, Delete, Get, Param, ParseBoolPipe, ParseEnumPipe, ParseIntPipe, Patch, Post, Query, UseGuards, UsePipes, ValidationPipe } from "@nestjs/common"; +import { Body, Controller, Delete, Get, Param, ParseBoolPipe, ParseIntPipe, Patch, Post, Query, UseGuards, UsePipes, ValidationPipe } from "@nestjs/common"; import { LeaveRequestsService } from "../services/leave-requests.service"; import { CreateLeaveRequestsDto } from "../dtos/create-leave-request.dto"; import { LeaveRequests } from "@prisma/client"; @@ -7,6 +7,7 @@ import { RolesAllowed } from "src/common/decorators/roles.decorators"; import { LeaveApprovalStatus, Roles as RoleEnum } from '.prisma/client'; import { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from "@nestjs/swagger"; import { SearchLeaveRequestsDto } from "../dtos/search-leave-request.dto"; +import { LeaveRequestViewDto } from "../dtos/leave-request.view.dto"; @ApiTags('Leave Requests') @ApiBearerAuth('access-token') @@ -20,35 +21,35 @@ export class LeaveRequestController { @ApiOperation({summary: 'Create leave request' }) @ApiResponse({ status: 201, description: 'Leave request created',type: CreateLeaveRequestsDto }) @ApiResponse({ status: 400, description: 'Incomplete task or invalid data' }) - create(@Body() dto: CreateLeaveRequestsDto): Promise { + create(@Body() dto: CreateLeaveRequestsDto): Promise { return this. leaveRequetsService.create(dto); } @Get() //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) @ApiOperation({summary: 'Find all leave request' }) - @ApiResponse({ status: 201, description: 'List of Leave requests found',type: CreateLeaveRequestsDto, isArray: true }) + @ApiResponse({ status: 201, description: 'List of Leave requests found',type: LeaveRequestViewDto, isArray: true }) @ApiResponse({ status: 400, description: 'List of leave request not found' }) @UsePipes(new ValidationPipe({transform: true, whitelist: true})) - findAll(@Query() filters: SearchLeaveRequestsDto): Promise<(LeaveRequests & {daysRequested:number; cost: number})[]> { + findAll(@Query() filters: SearchLeaveRequestsDto): Promise { return this.leaveRequetsService.findAll(filters); } //remove emp_id and use email @Get(':id') //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) @ApiOperation({summary: 'Find leave request' }) - @ApiResponse({ status: 201, description: 'Leave request found',type: CreateLeaveRequestsDto }) + @ApiResponse({ status: 201, description: 'Leave request found',type: LeaveRequestViewDto }) @ApiResponse({ status: 400, description: 'Leave request not found' }) - findOne(@Param('id', ParseIntPipe) id: number): Promise { + findOne(@Param('id', ParseIntPipe) id: number): Promise { return this.leaveRequetsService.findOne(id); } //remove emp_id and use email @Patch(':id') //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) @ApiOperation({summary: 'Update leave request' }) - @ApiResponse({ status: 201, description: 'Leave request updated',type: CreateLeaveRequestsDto }) + @ApiResponse({ status: 201, description: 'Leave request updated',type: LeaveRequestViewDto }) @ApiResponse({ status: 400, description: 'Leave request not found' }) - update(@Param('id', ParseIntPipe) id: number,@Body() dto: UpdateLeaveRequestsDto): Promise { + update(@Param('id', ParseIntPipe) id: number,@Body() dto: UpdateLeaveRequestsDto): Promise { return this.leaveRequetsService.update(id, dto); } @@ -58,14 +59,14 @@ export class LeaveRequestController { @ApiOperation({summary: 'Delete leave request' }) @ApiResponse({ status: 201, description: 'Leave request deleted',type: CreateLeaveRequestsDto }) @ApiResponse({ status: 400, description: 'Leave request not found' }) - remove(@Param('id', ParseIntPipe) id: number): Promise { + remove(@Param('id', ParseIntPipe) id: number): Promise { return this.leaveRequetsService.remove(id); } //remove emp_id and use email @Patch(':id/approval') updateApproval( @Param('id', ParseIntPipe) id: number, - @Body('is_approved', ParseBoolPipe) is_approved: boolean): Promise { + @Body('is_approved', ParseBoolPipe) is_approved: boolean): Promise { const approvalStatus = is_approved ? LeaveApprovalStatus.APPROVED : LeaveApprovalStatus.DENIED; return this.leaveRequetsService.update(id, { approval_status: approvalStatus });