fix(controller): commented deprecated or unsued methods of controllers

This commit is contained in:
Matthieu Haineault 2025-10-06 15:44:07 -04:00
parent caf03d8d68
commit 79c5bec0ee
8 changed files with 265 additions and 1583 deletions

File diff suppressed because it is too large Load Diff

View File

@ -7,40 +7,43 @@ import { ApiBadRequestResponse, ApiNotFoundResponse, ApiOperation, ApiResponse }
@Controller('bank-codes') @Controller('bank-codes')
export class BankCodesControllers { export class BankCodesControllers {
constructor(private readonly bankCodesService: BankCodesService) {} constructor(private readonly bankCodesService: BankCodesService) {}
//_____________________________________________________________________________________________
// Deprecated or unused methods
//_____________________________________________________________________________________________
@Post() // @Post()
@ApiOperation({ summary: 'Create a new bank code' }) // @ApiOperation({ summary: 'Create a new bank code' })
@ApiResponse({ status: 201, description: 'Bank code successfully created.' }) // @ApiResponse({ status: 201, description: 'Bank code successfully created.' })
@ApiBadRequestResponse({ description: 'Invalid input data.' }) // @ApiBadRequestResponse({ description: 'Invalid input data.' })
create(@Body() dto: CreateBankCodeDto) { // create(@Body() dto: CreateBankCodeDto) {
return this.bankCodesService.create(dto); // return this.bankCodesService.create(dto);
} // }
@Get() // @Get()
@ApiOperation({ summary: 'Retrieve all bank codes' }) // @ApiOperation({ summary: 'Retrieve all bank codes' })
@ApiResponse({ status: 200, description: 'List of bank codes.' }) // @ApiResponse({ status: 200, description: 'List of bank codes.' })
findAll() { // findAll() {
return this.bankCodesService.findAll(); // return this.bankCodesService.findAll();
} // }
@Get(':id') // @Get(':id')
@ApiOperation({ summary: 'Retrieve a bank code by its ID' }) // @ApiOperation({ summary: 'Retrieve a bank code by its ID' })
@ApiNotFoundResponse({ description: 'Bank code not found.' }) // @ApiNotFoundResponse({ description: 'Bank code not found.' })
findOne(@Param('id', ParseIntPipe) id: number){ // findOne(@Param('id', ParseIntPipe) id: number){
return this.bankCodesService.findOne(id); // return this.bankCodesService.findOne(id);
} // }
@Patch(':id') // @Patch(':id')
@ApiOperation({ summary: 'Update an existing bank code' }) // @ApiOperation({ summary: 'Update an existing bank code' })
@ApiNotFoundResponse({ description: 'Bank code not found.' }) // @ApiNotFoundResponse({ description: 'Bank code not found.' })
update(@Param('id', ParseIntPipe) id: number, @Body() dto: UpdateBankCodeDto) { // update(@Param('id', ParseIntPipe) id: number, @Body() dto: UpdateBankCodeDto) {
return this.bankCodesService.update(id, dto) // return this.bankCodesService.update(id, dto)
} // }
@Delete(':id') // @Delete(':id')
@ApiOperation({ summary: 'Delete a bank code' }) // @ApiOperation({ summary: 'Delete a bank code' })
@ApiNotFoundResponse({ description: 'Bank code not found.' }) // @ApiNotFoundResponse({ description: 'Bank code not found.' })
remove(@Param('id', ParseIntPipe) id: number) { // remove(@Param('id', ParseIntPipe) id: number) {
return this.bankCodesService.remove(id); // return this.bankCodesService.remove(id);
} // }
} }

View File

@ -14,51 +14,55 @@ import { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagg
export class CustomersController { export class CustomersController {
constructor(private readonly customersService: CustomersService) {} constructor(private readonly customersService: CustomersService) {}
@Post() //_____________________________________________________________________________________________
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.SUPERVISOR) // Deprecated or unused methods
@ApiOperation({ summary: 'Create customer' }) //_____________________________________________________________________________________________
@ApiResponse({ status: 201, description: 'Customer created', type: CreateCustomerDto })
@ApiResponse({ status: 400, description: 'Invalid task or invalid data' }) // @Post()
create(@Body() dto: CreateCustomerDto): Promise<Customers> { // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.SUPERVISOR)
return this.customersService.create(dto); // @ApiOperation({ summary: 'Create customer' })
} // @ApiResponse({ status: 201, description: 'Customer created', type: CreateCustomerDto })
// @ApiResponse({ status: 400, description: 'Invalid task or invalid data' })
// create(@Body() dto: CreateCustomerDto): Promise<Customers> {
// return this.customersService.create(dto);
// }
@Get() // @Get()
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find all customers' }) // @ApiOperation({ summary: 'Find all customers' })
@ApiResponse({ status: 201, description: 'List of customers found', type: CreateCustomerDto, isArray: true }) // @ApiResponse({ status: 201, description: 'List of customers found', type: CreateCustomerDto, isArray: true })
@ApiResponse({ status: 400, description: 'List of customers not found' }) // @ApiResponse({ status: 400, description: 'List of customers not found' })
findAll(): Promise<Customers[]> { // findAll(): Promise<Customers[]> {
return this.customersService.findAll(); // return this.customersService.findAll();
} // }
@Get(':id') // @Get(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find customer' }) // @ApiOperation({ summary: 'Find customer' })
@ApiResponse({ status: 201, description: 'Customer found', type: CreateCustomerDto }) // @ApiResponse({ status: 201, description: 'Customer found', type: CreateCustomerDto })
@ApiResponse({ status: 400, description: 'Customer not found' }) // @ApiResponse({ status: 400, description: 'Customer not found' })
findOne(@Param('id', ParseIntPipe) id: number): Promise<Customers> { // findOne(@Param('id', ParseIntPipe) id: number): Promise<Customers> {
return this.customersService.findOne(id); // return this.customersService.findOne(id);
} // }
@Patch(':id') // @Patch(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE,RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE,RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Update customer' }) // @ApiOperation({ summary: 'Update customer' })
@ApiResponse({ status: 201, description: 'Customer updated', type: CreateCustomerDto }) // @ApiResponse({ status: 201, description: 'Customer updated', type: CreateCustomerDto })
@ApiResponse({ status: 400, description: 'Customer not found' }) // @ApiResponse({ status: 400, description: 'Customer not found' })
update( // update(
@Param('id', ParseIntPipe) id: number, // @Param('id', ParseIntPipe) id: number,
@Body() dto: UpdateCustomerDto, // @Body() dto: UpdateCustomerDto,
): Promise<Customers> { // ): Promise<Customers> {
return this.customersService.update(id, dto); // return this.customersService.update(id, dto);
} // }
@Delete(':id') // @Delete(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Delete customer' }) // @ApiOperation({ summary: 'Delete customer' })
@ApiResponse({ status: 201, description: 'Customer deleted', type: CreateCustomerDto }) // @ApiResponse({ status: 201, description: 'Customer deleted', type: CreateCustomerDto })
@ApiResponse({ status: 400, description: 'Customer not found' }) // @ApiResponse({ status: 400, description: 'Customer not found' })
remove(@Param('id', ParseIntPipe) id: number): Promise<Customers>{ // remove(@Param('id', ParseIntPipe) id: number): Promise<Customers>{
return this.customersService.remove(id); // return this.customersService.remove(id);
} // }
} }

View File

@ -23,16 +23,7 @@ export class EmployeesController {
create(@Body() dto: CreateEmployeeDto): Promise<Employees> { create(@Body() dto: CreateEmployeeDto): Promise<Employees> {
return this.employeesService.create(dto); return this.employeesService.create(dto);
} }
@Get()
//@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR, RoleEnum.ACCOUNTING)
@ApiOperation({summary: 'Find all employees' })
@ApiResponse({ status: 200, description: 'List of employees found', type: CreateEmployeeDto, isArray: true })
@ApiResponse({ status: 400, description: 'List of employees not found' })
findAll(): Promise<Employees[]> {
return this.employeesService.findAll();
}
@Get('employee-list') @Get('employee-list')
//@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR, RoleEnum.ACCOUNTING) //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR, RoleEnum.ACCOUNTING)
@ApiOperation({summary: 'Find all employees with scoped info' }) @ApiOperation({summary: 'Find all employees with scoped info' })
@ -42,34 +33,6 @@ export class EmployeesController {
return this.employeesService.findListEmployees(); return this.employeesService.findListEmployees();
} }
@Get(':email')
//@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR,RoleEnum.ACCOUNTING )
@ApiOperation({summary: 'Find employee' })
@ApiResponse({ status: 200, description: 'Employee found', type: CreateEmployeeDto })
@ApiResponse({ status: 400, description: 'Employee not found' })
findOne(@Param('email', ParseIntPipe) email: string): Promise<Employees> {
return this.employeesService.findOne(email);
}
@Get('profile/:email')
@ApiOperation({summary: 'Find employee profile' })
@ApiParam({ name: 'email', type: String, description: 'Identifier of the employee' })
@ApiResponse({ status: 200, description: 'Employee profile found', type: EmployeeProfileItemDto })
@ApiResponse({ status: 400, description: 'Employee profile not found' })
findOneProfile(@Param('email') email: string): Promise<EmployeeProfileItemDto> {
return this.employeesService.findOneProfile(email);
}
@Delete(':email')
//@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR )
@ApiOperation({summary: 'Delete employee' })
@ApiParam({ name: 'email', type: Number, description: 'Email of the employee to delete' })
@ApiResponse({ status: 204, description: 'Employee deleted' })
@ApiResponse({ status: 404, description: 'Employee not found' })
remove(@Param('email', ParseIntPipe) email: string): Promise<Employees> {
return this.employeesService.remove(email);
}
@Patch(':email') @Patch(':email')
//@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiBearerAuth('access-token') @ApiBearerAuth('access-token')
@ -88,4 +51,47 @@ export class EmployeesController {
} }
return result; return result;
} }
//_____________________________________________________________________________________________
// Deprecated or unused methods
//_____________________________________________________________________________________________
// @Get()
// //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR, RoleEnum.ACCOUNTING)
// @ApiOperation({summary: 'Find all employees' })
// @ApiResponse({ status: 200, description: 'List of employees found', type: CreateEmployeeDto, isArray: true })
// @ApiResponse({ status: 400, description: 'List of employees not found' })
// findAll(): Promise<Employees[]> {
// return this.employeesService.findAll();
// }
// @Get(':email')
// //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR,RoleEnum.ACCOUNTING )
// @ApiOperation({summary: 'Find employee' })
// @ApiResponse({ status: 200, description: 'Employee found', type: CreateEmployeeDto })
// @ApiResponse({ status: 400, description: 'Employee not found' })
// findOne(@Param('email', ParseIntPipe) email: string): Promise<Employees> {
// return this.employeesService.findOne(email);
// }
// @Get('profile/:email')
// @ApiOperation({summary: 'Find employee profile' })
// @ApiParam({ name: 'email', type: String, description: 'Identifier of the employee' })
// @ApiResponse({ status: 200, description: 'Employee profile found', type: EmployeeProfileItemDto })
// @ApiResponse({ status: 400, description: 'Employee profile not found' })
// findOneProfile(@Param('email') email: string): Promise<EmployeeProfileItemDto> {
// return this.employeesService.findOneProfile(email);
// }
// @Delete(':email')
// //@RolesAllowed(RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR )
// @ApiOperation({summary: 'Delete employee' })
// @ApiParam({ name: 'email', type: Number, description: 'Email of the employee to delete' })
// @ApiResponse({ status: 204, description: 'Employee deleted' })
// @ApiResponse({ status: 404, description: 'Employee not found' })
// remove(@Param('email', ParseIntPipe) email: string): Promise<Employees> {
// return this.employeesService.remove(email);
// }
} }

View File

@ -30,56 +30,60 @@ export class ExpensesController {
return this.command.upsertExpensesByDate(email, date, dto); return this.command.upsertExpensesByDate(email, date, dto);
} }
@Post() //_____________________________________________________________________________________________
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // Deprecated or unused methods
@ApiOperation({ summary: 'Create expense' }) //_____________________________________________________________________________________________
@ApiResponse({ status: 201, description: 'Expense created',type: CreateExpenseDto })
@ApiResponse({ status: 400, description: 'Incomplete task or invalid data' })
create(@Body() dto: CreateExpenseDto): Promise<Expenses> {
return this.query.create(dto);
}
@Get() // @Post()
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find all expenses' }) // @ApiOperation({ summary: 'Create expense' })
@ApiResponse({ status: 201, description: 'List of expenses found',type: CreateExpenseDto, isArray: true }) // @ApiResponse({ status: 201, description: 'Expense created',type: CreateExpenseDto })
@ApiResponse({ status: 400, description: 'List of expenses not found' }) // @ApiResponse({ status: 400, description: 'Incomplete task or invalid data' })
@UsePipes(new ValidationPipe({ transform: true, whitelist: true })) // create(@Body() dto: CreateExpenseDto): Promise<Expenses> {
findAll(@Query() filters: SearchExpensesDto): Promise<Expenses[]> { // return this.query.create(dto);
return this.query.findAll(filters); // }
}
@Get(':id') // @Get()
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find expense' }) // @ApiOperation({ summary: 'Find all expenses' })
@ApiResponse({ status: 201, description: 'Expense found',type: CreateExpenseDto }) // @ApiResponse({ status: 201, description: 'List of expenses found',type: CreateExpenseDto, isArray: true })
@ApiResponse({ status: 400, description: 'Expense not found' }) // @ApiResponse({ status: 400, description: 'List of expenses not found' })
findOne(@Param('id', ParseIntPipe) id: number): Promise <Expenses> { // @UsePipes(new ValidationPipe({ transform: true, whitelist: true }))
return this.query.findOne(id); // findAll(@Query() filters: SearchExpensesDto): Promise<Expenses[]> {
} // return this.query.findAll(filters);
// }
@Patch(':id') // @Get(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Expense shift' }) // @ApiOperation({ summary: 'Find expense' })
@ApiResponse({ status: 201, description: 'Expense updated',type: CreateExpenseDto }) // @ApiResponse({ status: 201, description: 'Expense found',type: CreateExpenseDto })
@ApiResponse({ status: 400, description: 'Expense not found' }) // @ApiResponse({ status: 400, description: 'Expense not found' })
update(@Param('id', ParseIntPipe) id: number, @Body() dto: UpdateExpenseDto) { // findOne(@Param('id', ParseIntPipe) id: number): Promise <Expenses> {
return this.query.update(id,dto); // return this.query.findOne(id);
} // }
@Delete(':id') // @Patch(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Delete expense' }) // @ApiOperation({ summary: 'Expense shift' })
@ApiResponse({ status: 201, description: 'Expense deleted',type: CreateExpenseDto }) // @ApiResponse({ status: 201, description: 'Expense updated',type: CreateExpenseDto })
@ApiResponse({ status: 400, description: 'Expense not found' }) // @ApiResponse({ status: 400, description: 'Expense not found' })
remove(@Param('id', ParseIntPipe) id: number): Promise<Expenses> { // update(@Param('id', ParseIntPipe) id: number, @Body() dto: UpdateExpenseDto) {
return this.query.remove(id); // return this.query.update(id,dto);
} // }
@Patch('approval/:id') // @Delete(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
async approve(@Param('id', ParseIntPipe) id: number, @Body('is_approved', ParseBoolPipe) isApproved: boolean) { // @ApiOperation({ summary: 'Delete expense' })
return this.command.updateApproval(id, isApproved); // @ApiResponse({ status: 201, description: 'Expense deleted',type: CreateExpenseDto })
} // @ApiResponse({ status: 400, description: 'Expense not found' })
// remove(@Param('id', ParseIntPipe) id: number): Promise<Expenses> {
// return this.query.remove(id);
// }
// @Patch('approval/:id')
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
// async approve(@Param('id', ParseIntPipe) id: number, @Body('is_approved', ParseBoolPipe) isApproved: boolean) {
// return this.command.updateApproval(id, isApproved);
// }
} }

View File

@ -18,13 +18,6 @@ export class PayPeriodsController {
private readonly commandService: PayPeriodsCommandService, private readonly commandService: PayPeriodsCommandService,
) {} ) {}
@Get()
@ApiOperation({ summary: 'Find all pay period' })
@ApiResponse({status: 200,description: 'List of pay period found', type: PayPeriodDto, isArray: true })
async findAll(): Promise<PayPeriodDto[]> {
return this.queryService.findAll();
}
@Get('current-and-all') @Get('current-and-all')
@ApiOperation({summary: 'Return current pay period and the full list'}) @ApiOperation({summary: 'Return current pay period and the full list'})
@ApiQuery({name: 'date', required:false, example: '2025-08-11', description:'Override for resolving the current period'}) @ApiQuery({name: 'date', required:false, example: '2025-08-11', description:'Override for resolving the current period'})
@ -95,4 +88,16 @@ export class PayPeriodsController {
): Promise<PayPeriodOverviewDto> { ): Promise<PayPeriodOverviewDto> {
return this.queryService.getOverviewByYearPeriod(year, period_no); return this.queryService.getOverviewByYearPeriod(year, period_no);
} }
//_____________________________________________________________________________________________
// Deprecated or unused methods
//_____________________________________________________________________________________________
// @Get()
// @ApiOperation({ summary: 'Find all pay period' })
// @ApiResponse({status: 200,description: 'List of pay period found', type: PayPeriodDto, isArray: true })
// async findAll(): Promise<PayPeriodDto[]> {
// return this.queryService.findAll();
// }
} }

View File

@ -29,52 +29,6 @@ export class ShiftsController {
) { ) {
return this.shiftsCommandService.upsertShiftsByDate(email_param, date_param, payload); return this.shiftsCommandService.upsertShiftsByDate(email_param, date_param, payload);
} }
@Post()
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Create shift' })
@ApiResponse({ status: 201, description: 'Shift created',type: CreateShiftDto })
@ApiResponse({ status: 400, description: 'Incomplete task or invalid data' })
create(@Body() dto: CreateShiftDto): Promise<Shifts> {
return this.shiftsService.create(dto);
}
@Get()
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find all shifts' })
@ApiResponse({ status: 201, description: 'List of shifts found',type: CreateShiftDto, isArray: true })
@ApiResponse({ status: 400, description: 'List of shifts not found' })
@UsePipes(new ValidationPipe({ transform: true, whitelist: true }))
findAll(@Query() filters: SearchShiftsDto) {
return this.shiftsService.findAll(filters);
}
@Get(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find shift' })
@ApiResponse({ status: 201, description: 'Shift found',type: CreateShiftDto })
@ApiResponse({ status: 400, description: 'Shift not found' })
findOne(@Param('id', ParseIntPipe) id: number): Promise<Shifts> {
return this.shiftsService.findOne(id);
}
@Patch(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Update shift' })
@ApiResponse({ status: 201, description: 'Shift updated',type: CreateShiftDto })
@ApiResponse({ status: 400, description: 'Shift not found' })
update(@Param('id', ParseIntPipe) id: number,@Body() dto: UpdateShiftsDto): Promise<Shifts> {
return this.shiftsService.update(id, dto);
}
@Delete(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Delete shift' })
@ApiResponse({ status: 201, description: 'Shift deleted',type: CreateShiftDto })
@ApiResponse({ status: 400, description: 'Shift not found' })
remove(@Param('id', ParseIntPipe) id: number): Promise<Shifts> {
return this.shiftsService.remove(id);
}
@Patch('approval/:id') @Patch('approval/:id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ -92,7 +46,6 @@ export class ShiftsController {
@Header('Content-Disposition', 'attachment; filename="shifts-validation.csv"') @Header('Content-Disposition', 'attachment; filename="shifts-validation.csv"')
async exportCsv(@Query() query: GetShiftsOverviewDto): Promise<Buffer>{ async exportCsv(@Query() query: GetShiftsOverviewDto): Promise<Buffer>{
const rows = await this.shiftsService.getSummary(query.period_id); const rows = await this.shiftsService.getSummary(query.period_id);
//CSV Headers //CSV Headers
const header = [ const header = [
'full_name', 'full_name',
@ -123,5 +76,55 @@ export class ShiftsController {
return Buffer.from('\uFEFF' + header + body, 'utf8'); return Buffer.from('\uFEFF' + header + body, 'utf8');
} }
//_____________________________________________________________________________________________
// Deprecated or unused methods
//_____________________________________________________________________________________________
// @Post()
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Create shift' })
// @ApiResponse({ status: 201, description: 'Shift created',type: CreateShiftDto })
// @ApiResponse({ status: 400, description: 'Incomplete task or invalid data' })
// create(@Body() dto: CreateShiftDto): Promise<Shifts> {
// return this.shiftsService.create(dto);
// }
// @Get()
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Find all shifts' })
// @ApiResponse({ status: 201, description: 'List of shifts found',type: CreateShiftDto, isArray: true })
// @ApiResponse({ status: 400, description: 'List of shifts not found' })
// @UsePipes(new ValidationPipe({ transform: true, whitelist: true }))
// findAll(@Query() filters: SearchShiftsDto) {
// return this.shiftsService.findAll(filters);
// }
// @Get(':id')
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Find shift' })
// @ApiResponse({ status: 201, description: 'Shift found',type: CreateShiftDto })
// @ApiResponse({ status: 400, description: 'Shift not found' })
// findOne(@Param('id', ParseIntPipe) id: number): Promise<Shifts> {
// return this.shiftsService.findOne(id);
// }
// @Patch(':id')
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Update shift' })
// @ApiResponse({ status: 201, description: 'Shift updated',type: CreateShiftDto })
// @ApiResponse({ status: 400, description: 'Shift not found' })
// update(@Param('id', ParseIntPipe) id: number,@Body() dto: UpdateShiftsDto): Promise<Shifts> {
// return this.shiftsService.update(id, dto);
// }
// @Delete(':id')
// //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Delete shift' })
// @ApiResponse({ status: 201, description: 'Shift deleted',type: CreateShiftDto })
// @ApiResponse({ status: 400, description: 'Shift not found' })
// remove(@Param('id', ParseIntPipe) id: number): Promise<Shifts> {
// return this.shiftsService.remove(id);
// }
} }

View File

@ -50,27 +50,34 @@ export class TimesheetsController {
} }
@Get(':id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Find timesheet' }) //_____________________________________________________________________________________________
@ApiResponse({ status: 201, description: 'Timesheet found', type: CreateTimesheetDto }) // Deprecated or unused methods
@ApiResponse({ status: 400, description: 'Timesheet not found' }) //_____________________________________________________________________________________________
findOne(@Param('id', ParseIntPipe) id: number): Promise<Timesheets> {
return this.timesheetsQuery.findOne(id); // @Patch('approval/:id')
} // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
// async approve(@Param('id', ParseIntPipe) id: number, @Body('is_approved', ParseBoolPipe) isApproved: boolean) {
// return this.timesheetsCommand.updateApproval(id, isApproved);
// }
@Delete(':id') // @Get(':id')
// @RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR) // //@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.EMPLOYEE, RoleEnum.HR, RoleEnum.SUPERVISOR)
@ApiOperation({ summary: 'Delete timesheet' }) // @ApiOperation({ summary: 'Find timesheet' })
@ApiResponse({ status: 201, description: 'Timesheet deleted', type: CreateTimesheetDto }) // @ApiResponse({ status: 201, description: 'Timesheet found', type: CreateTimesheetDto })
@ApiResponse({ status: 400, description: 'Timesheet not found' }) // @ApiResponse({ status: 400, description: 'Timesheet not found' })
remove(@Param('id', ParseIntPipe) id: number): Promise<Timesheets> { // findOne(@Param('id', ParseIntPipe) id: number): Promise<Timesheets> {
return this.timesheetsQuery.remove(id); // return this.timesheetsQuery.findOne(id);
} // }
// @Delete(':id')
// // @RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
// @ApiOperation({ summary: 'Delete timesheet' })
// @ApiResponse({ status: 201, description: 'Timesheet deleted', type: CreateTimesheetDto })
// @ApiResponse({ status: 400, description: 'Timesheet not found' })
// remove(@Param('id', ParseIntPipe) id: number): Promise<Timesheets> {
// return this.timesheetsQuery.remove(id);
// }
@Patch('approval/:id')
//@RolesAllowed(RoleEnum.ACCOUNTING, RoleEnum.ADMIN, RoleEnum.HR, RoleEnum.SUPERVISOR)
async approve(@Param('id', ParseIntPipe) id: number, @Body('is_approved', ParseBoolPipe) isApproved: boolean) {
return this.timesheetsCommand.updateApproval(id, isApproved);
}
} }