rol coordinators solo ve sus registros, correcciones al guardar osp y añadido logs o modo debug al registrar

This commit is contained in:
2026-04-08 20:06:17 -04:00
parent d29edf1f4e
commit 883dee0588

View File

@@ -28,7 +28,7 @@ import { TrainingService } from './training.service';
@ApiTags('training')
@Controller('training')
export class TrainingController {
constructor(private readonly trainingService: TrainingService) {}
constructor(private readonly trainingService: TrainingService) { }
// @Public()
// @Get('export/:id')
@@ -48,6 +48,7 @@ export class TrainingController {
// return new StreamableFile(data);
// }
// ========== //
@Get()
@ApiOperation({
summary: 'Get all training records with pagination and filters',
@@ -56,8 +57,10 @@ export class TrainingController {
status: 200,
description: 'Return paginated training records.',
})
async findAll(@Query() paginationDto: PaginationDto) {
const result = await this.trainingService.findAll(paginationDto);
async findAll(@Req() req: Request, @Query() paginationDto: PaginationDto) {
const user = (req as any).user;
const result = await this.trainingService.findAll(paginationDto, { role: user?.roles[0], id: user?.id });
return {
message: 'Training records fetched successfully',
data: result.data,
@@ -65,6 +68,7 @@ export class TrainingController {
};
}
// ========== //
@Get('statistics')
@ApiOperation({ summary: 'Get training statistics' })
@ApiResponse({ status: 200, description: 'Return training statistics.' })
@@ -73,6 +77,7 @@ export class TrainingController {
return { message: 'Training statistics fetched successfully', data };
}
// ========== //
@Get(':id')
@ApiOperation({ summary: 'Get a training record by ID' })
@ApiResponse({ status: 200, description: 'Return the training record.' })
@@ -82,6 +87,7 @@ export class TrainingController {
return { message: 'Training record fetched successfully', data };
}
// ========== //
@Post()
@UseInterceptors(FilesInterceptor('files', 3))
@ApiConsumes('multipart/form-data')
@@ -104,6 +110,7 @@ export class TrainingController {
return { message: 'Training record created successfully', data };
}
// ========== //
@Patch(':id')
@UseInterceptors(FilesInterceptor('files', 3))
@ApiConsumes('multipart/form-data')
@@ -129,6 +136,7 @@ export class TrainingController {
return { message: 'Training record updated successfully', data };
}
// ========== //
@Delete(':id')
@ApiOperation({ summary: 'Delete a training record' })
@ApiResponse({