modulo validar usuario

This commit is contained in:
2022-09-02 16:15:05 -05:00
parent 0febd02931
commit 5c3bcb6c55
57 changed files with 390 additions and 619 deletions
@@ -1,6 +1,5 @@
import {
Body,
ForbiddenException,
Controller,
Delete,
Get,
@@ -19,17 +18,21 @@ import {
} from '@nestjs/swagger';
import { Serealize } from '../interceptors/serialize.interceptor';
import { CarreraProgramaService } from './carrera-programa.service';
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
import { Operador } from '../operador/entity/operador.entity';
import { Usuario } from '../usuario/entity/usuario.entity';
import { IdInstitucionDto } from '../dto/id-institucion.dto';
import { CreateCarreraProgramaDto } from './dto/input/create.dto';
import { DeleteCarreraProgramaDto } from './dto/input/delete.dto';
import { CarreraProgramaOutputDto } from './dto/output/carrera-programa.dto';
import { Usuario } from '../usuario/entity/usuario.entity';
@Controller('carrera-programa')
@ApiTags('carrera-programa')
export class CarreraProgramaController {
constructor(private carreraProgramaService: CarreraProgramaService) {}
constructor(
private carreraProgramaService: CarreraProgramaService,
private validarUsuarioService: ValidarUsuarioService,
) {}
@Post()
@UseGuards(AuthGuard('jwt'))
@@ -47,10 +50,7 @@ export class CarreraProgramaController {
create(@Request() req, @Body() body: CreateCarreraProgramaDto) {
const admin: Operador = req.user.operador;
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
throw new ForbiddenException(
'No tienes los permisos necesarios para realizar esta acción.',
);
this.validarUsuarioService.validarAdmin(admin);
return this.carreraProgramaService.create(
admin,
body.id_institucion_carrera,
@@ -72,10 +72,7 @@ export class CarreraProgramaController {
delete(@Request() req, @Body() body: DeleteCarreraProgramaDto) {
const admin: Operador = req.user.operador;
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
throw new ForbiddenException(
'No tienes los permisos necesarios para realizar esta acción.',
);
this.validarUsuarioService.validarAdmin(admin);
return this.carreraProgramaService.delete(admin, body.id_carrera_programa);
}
@@ -96,14 +93,9 @@ export class CarreraProgramaController {
const usuarioOperador: Operador | Usuario =
req.user.operador || req.user.usuario;
if (
!usuarioOperador ||
(usuarioOperador.tipoUsuario.id_tipo_usuario != 3 &&
usuarioOperador.tipoUsuario.id_tipo_usuario < 5)
)
throw new ForbiddenException(
'No tienes los permisos necesarios para acceder a esta información.',
);
if ('id_usuario' in usuarioOperador)
this.validarUsuarioService.validarUsuario(usuarioOperador);
else this.validarUsuarioService.validarAdmin(usuarioOperador);
return this.carreraProgramaService.findByIdInstitucion(
usuarioOperador,
parseInt(query.id_institucion),
@@ -7,6 +7,7 @@ import { CarreraPrograma } from './entity/carrera-programa.entity';
import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionCarreraModule } from '../institucion-carrera/institucion-carrera.module';
import { InstitucionProgramaModule } from '../institucion-programa/institucion-programa.module';
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
@Module({
imports: [
@@ -15,6 +16,7 @@ import { InstitucionProgramaModule } from '../institucion-programa/institucion-p
InstitucionProgramaModule,
PassportModule.register({ defaultStrategy: 'jwt' }),
TypeOrmModule.forFeature([CarreraPrograma]),
ValidarUsuarioModule,
],
controllers: [CarreraProgramaController],
providers: [CarreraProgramaService],