Api fix
This commit is contained in:
@@ -6,12 +6,12 @@ import {RolesGuard} from '../permissions/roles.guard'
|
||||
import {Role} from '../permissions/role.enum'
|
||||
|
||||
@Controller('profesor')
|
||||
//@UseGuards(RolesGuard)
|
||||
@UseGuards(RolesGuard)
|
||||
export class ProfesorController {
|
||||
constructor(private profesorService: ProfesorService) {}
|
||||
|
||||
@Post()
|
||||
//@Roles(Role.Responsable,Role.Admin)
|
||||
@Roles(Role.Responsable,Role.Admin)
|
||||
async register(@Body() data: profesorDto) {
|
||||
return this.profesorService.register(data);
|
||||
}
|
||||
@@ -30,13 +30,13 @@ export class ProfesorController {
|
||||
}
|
||||
|
||||
@Put(':id_profesor')
|
||||
//@Roles(Role.Responsable,Role.Admin)
|
||||
@Roles(Role.Responsable,Role.Admin)
|
||||
async postModify(@Param('id_profesor', ParseIntPipe) id_profesor: number, @Body() data: profesorDto) {
|
||||
return this.profesorService.modify(id_profesor, data);
|
||||
}
|
||||
|
||||
@Delete(':id_profesor')
|
||||
//@Roles(Role.Responsable,Role.Admin)
|
||||
@Roles(Role.Responsable,Role.Admin)
|
||||
async remove(@Param('id_profesor', ParseIntPipe) id_profesor: number) {
|
||||
return this.profesorService.remove(id_profesor);
|
||||
}
|
||||
|
||||
@@ -16,15 +16,18 @@ export class RolesGuard implements CanActivate {
|
||||
]);
|
||||
|
||||
if (!requiredRoles) {
|
||||
return true;
|
||||
return true; // Si no hay roles requeridos, se permite el acceso
|
||||
}
|
||||
|
||||
const { user } = context.switchToHttp().getRequest();
|
||||
|
||||
if (!user || !user.roles || user.roles.length === 0) {
|
||||
return false;
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const permissionsHeader = request.headers['permissions'];
|
||||
|
||||
if (!permissionsHeader) {
|
||||
return false; // Si no hay encabezado 'permissions', se niega el acceso
|
||||
}
|
||||
|
||||
return requiredRoles.some(role => user.roles.includes(role));
|
||||
const userRoles: Role[] = JSON.parse(permissionsHeader);
|
||||
|
||||
return requiredRoles.some(role => userRoles.includes(role));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user