merge
This commit is contained in:
+2
-1
@@ -77,6 +77,7 @@ import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/in
|
||||
import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view';
|
||||
import { InformacionOperadorView } from './operador/entity/views/informacion-operador.view';
|
||||
import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuario.view';
|
||||
import { ValidarUsuarioModule } from './validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -177,7 +178,7 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar
|
||||
TipoUsuarioModule,
|
||||
UploadFileModule,
|
||||
UsuarioModule,
|
||||
PasscodeModule,
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
export class JwtPayload {
|
||||
nombre: string;
|
||||
|
||||
id_operador: number;
|
||||
|
||||
institucion: { id_institucion: number };
|
||||
|
||||
operador: string;
|
||||
|
||||
tipoUsuario: { id_tipo_usuario: number };
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
export class JwtPayload {
|
||||
id_operador: number;
|
||||
|
||||
nombre: string;
|
||||
|
||||
operador: string;
|
||||
id_modulo: number;
|
||||
|
||||
id_operador: number;
|
||||
|
||||
institucion: { id_institucion: number };
|
||||
|
||||
tipoUsuario: { id_tipo_usuario: number };
|
||||
operador: string;
|
||||
|
||||
id_modulo?: number;
|
||||
tipoUsuario: { id_tipo_usuario: number };
|
||||
}
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
export class JwtPayload {
|
||||
id_usuario: number;
|
||||
|
||||
nombre: string;
|
||||
|
||||
usuario: string;
|
||||
|
||||
tipoUsuario: { id_tipo_usuario: number };
|
||||
id_usuario: number;
|
||||
|
||||
instituciones: {
|
||||
id_institucion_usuario: number;
|
||||
@@ -15,4 +11,8 @@ export class JwtPayload {
|
||||
carrera: { id_carrera: number };
|
||||
};
|
||||
}[];
|
||||
|
||||
tipoUsuario: { id_tipo_usuario: number };
|
||||
|
||||
usuario: string;
|
||||
}
|
||||
|
||||
@@ -39,16 +39,16 @@ export class JwtStrategyService extends PassportStrategy(Strategy) {
|
||||
if (!operador.activo)
|
||||
throw new ForbiddenException('Esta cuenta esta desactivada.');
|
||||
/*
|
||||
if (operador.tipoUsuario.id_tipo_usuario === 4) {
|
||||
if (payload.id_modulo)
|
||||
if (operador.tipoUsuario.id_tipo_usuario === 4) {
|
||||
if (payload.id_modulo)
|
||||
await this.moduloService
|
||||
.findById(payload.id_modulo)
|
||||
.then((modulo) => (user.modulo = modulo));
|
||||
else
|
||||
.findById(payload.id_modulo)
|
||||
.then((modulo) => (user.modulo = modulo));
|
||||
else
|
||||
throw new ForbiddenException(
|
||||
'Credenciales no válidas, inicia sesión de nuevo.',
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
*/
|
||||
user.operador = operador;
|
||||
});
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
import {
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Query,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { Controller, Get, Query, Request, UseGuards } from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import {
|
||||
ApiBearerAuth,
|
||||
@@ -14,7 +7,8 @@ import {
|
||||
ApiTags,
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { CaritoMotivoService } from './carrito-motivo.service';
|
||||
import { CarritoMotivoService } from './carrito-motivo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { GetDto } from './dto/input/get.dto';
|
||||
import { CarritoMotivoOutputDto } from './dto/output/carrito-motivo.dto';
|
||||
@@ -22,7 +16,10 @@ import { CarritoMotivoOutputDto } from './dto/output/carrito-motivo.dto';
|
||||
@Controller('carrito-motivo')
|
||||
@ApiTags('carrito-motivo')
|
||||
export class CarritoMotivoController {
|
||||
constructor(private carritoMotivoService: CaritoMotivoService) {}
|
||||
constructor(
|
||||
private carritoMotivoService: CarritoMotivoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(CarritoMotivoOutputDto)
|
||||
@Get()
|
||||
@@ -45,14 +42,7 @@ export class CarritoMotivoController {
|
||||
get(@Request() req, @Query() query: GetDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.carritoMotivoService.findAllByIdCarrito(
|
||||
parseInt(query.id_carrito),
|
||||
parseInt(query.pagina),
|
||||
|
||||
@@ -2,11 +2,12 @@ import { forwardRef, Module } from '@nestjs/common';
|
||||
import { PassportModule } from '@nestjs/passport';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CarritoMotivoController } from './carrito-motivo.controller';
|
||||
import { CaritoMotivoService } from './carrito-motivo.service';
|
||||
import { CarritoMotivoService } from './carrito-motivo.service';
|
||||
import { CarritoMotivo } from './entity/carrito-motivo.entity';
|
||||
import { CarritoModule } from '../carrito/carrito.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -15,9 +16,10 @@ import { StatusModule } from '../status/status.module';
|
||||
StatusModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([CarritoMotivo]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [CarritoMotivoController],
|
||||
providers: [CaritoMotivoService],
|
||||
exports: [CaritoMotivoService],
|
||||
providers: [CarritoMotivoService],
|
||||
exports: [CarritoMotivoService],
|
||||
})
|
||||
export class CarritoMotivoModule {}
|
||||
|
||||
@@ -9,7 +9,7 @@ import { CarritoService } from '../carrito/carrito.service';
|
||||
import { OperadorService } from '../operador/operador.service';
|
||||
|
||||
@Injectable()
|
||||
export class CaritoMotivoService {
|
||||
export class CarritoMotivoService {
|
||||
constructor(
|
||||
@InjectRepository(CarritoMotivo)
|
||||
private repository: Repository<CarritoMotivo>,
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { CarritoService } from './carrito.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { CarritoDto } from './dto/input/carrito.dto';
|
||||
import { CarritosDto } from './dto/input/carritos.dto';
|
||||
import { CreateCarritoDto } from './dto/input/create.dto';
|
||||
@@ -30,7 +31,10 @@ import { CarritosOutputDto } from './dto/output/carritos.dto';
|
||||
@Controller('carrito')
|
||||
@ApiTags('carrito')
|
||||
export class CarritoController {
|
||||
constructor(private carritoService: CarritoService) {}
|
||||
constructor(
|
||||
private carritoService: CarritoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(CarritoOutputDto)
|
||||
@Get('carrito')
|
||||
@@ -47,14 +51,7 @@ export class CarritoController {
|
||||
carrito(@Request() req, @Query() query: CarritoDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.carritoService
|
||||
.findById(parseInt(query.id_carrito))
|
||||
.then((carrito) => {
|
||||
@@ -128,14 +125,7 @@ export class CarritoController {
|
||||
carritos(@Request() req, @Query() query: CarritosDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.carritoService.findAll(operador, query);
|
||||
}
|
||||
|
||||
@@ -156,10 +146,7 @@ export class CarritoController {
|
||||
create(@Request() req, @Body() body: CreateCarritoDto) {
|
||||
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.carritoService.create(
|
||||
admin,
|
||||
body.id_modulo,
|
||||
@@ -191,14 +178,7 @@ export class CarritoController {
|
||||
const data = { ...body };
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
delete data.motivo;
|
||||
return this.carritoService.update(operador, data, body.motivo);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/instit
|
||||
import { MarcaModule } from '../marca/marca.module';
|
||||
import { ModeloModule } from '../modelo/modelo.module';
|
||||
import { ModuloModule } from '../modulo/modulo.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -21,6 +22,7 @@ import { ModuloModule } from '../modulo/modulo.module';
|
||||
ModuloModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Carrito]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [CarritoController],
|
||||
providers: [CarritoService],
|
||||
|
||||
@@ -12,7 +12,7 @@ import { Carrito } from './entity/carrito.entity';
|
||||
import { Modulo } from '../modulo/entity/modulo.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { TipoCarrito } from '../institucion-tipo-carrito/entity/tipo-carrito.entity';
|
||||
import { CaritoMotivoService } from '../carrito-motivo/carrito-motivo.service';
|
||||
import { CarritoMotivoService } from '../carrito-motivo/carrito-motivo.service';
|
||||
import { InstitucionService } from '../institucion/institucion.service';
|
||||
import { InstitucionTipoCarritoService } from '../institucion-tipo-carrito/institucion-tipo-carrito.service';
|
||||
import { MarcaService } from '../marca/marca.service';
|
||||
@@ -23,8 +23,8 @@ import { ModuloService } from '../modulo/modulo.service';
|
||||
export class CarritoService {
|
||||
constructor(
|
||||
@InjectRepository(Carrito) private repository: Repository<Carrito>,
|
||||
@Inject(forwardRef(() => CaritoMotivoService))
|
||||
private caritoMotivoService: CaritoMotivoService,
|
||||
@Inject(forwardRef(() => CarritoMotivoService))
|
||||
private caritoMotivoService: CarritoMotivoService,
|
||||
private institucionService: InstitucionService,
|
||||
private institucionTipoCarritoService: InstitucionTipoCarritoService,
|
||||
private marcaService: MarcaService,
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
import {
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Query,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { Controller, Get, Query, Request, UseGuards } from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import {
|
||||
ApiBearerAuth,
|
||||
@@ -15,6 +8,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { EquipoMotivoService } from './equipo-motivo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { IdEquipoPaginaDto } from '../dto/id-equipo-pagina.dto';
|
||||
import { EquipoMotivoOutputDto } from './dto/output/equipo-motivo.dto';
|
||||
@@ -22,7 +16,10 @@ import { EquipoMotivoOutputDto } from './dto/output/equipo-motivo.dto';
|
||||
@Controller('equipo-motivo')
|
||||
@ApiTags('equipo-motivo')
|
||||
export class EquipoMotivoController {
|
||||
constructor(private equipoMotivoService: EquipoMotivoService) {}
|
||||
constructor(
|
||||
private equipoMotivoService: EquipoMotivoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(EquipoMotivoOutputDto)
|
||||
@Get()
|
||||
@@ -45,14 +42,7 @@ export class EquipoMotivoController {
|
||||
get(@Request() req, @Query() query: IdEquipoPaginaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoMotivoService.findAllByIdEquipo(
|
||||
parseInt(query.id_equipo),
|
||||
parseInt(query.pagina),
|
||||
|
||||
@@ -7,6 +7,7 @@ import { EquipoMotivo } from './entity/equipo-motivo.entity';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -15,6 +16,7 @@ import { StatusModule } from '../status/status.module';
|
||||
StatusModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([EquipoMotivo]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [EquipoMotivoController],
|
||||
providers: [EquipoMotivoService],
|
||||
|
||||
@@ -2,7 +2,6 @@ import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
ForbiddenException,
|
||||
Post,
|
||||
Request,
|
||||
UseGuards,
|
||||
@@ -11,13 +10,17 @@ import { AuthGuard } from '@nestjs/passport';
|
||||
import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { EquipoProgramaService } from './equipo-programa.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { CreateEquipoProgramaDto } from './dto/input/create.dto';
|
||||
import { DeleteEquipoProgramaDto } from './dto/input/delete.dto';
|
||||
|
||||
@Controller('equipo-programa')
|
||||
@ApiTags('equipo-programa')
|
||||
export class EquipoProgramaController {
|
||||
constructor(private equipoProgramaService: EquipoProgramaService) {}
|
||||
constructor(
|
||||
private equipoProgramaService: EquipoProgramaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -33,14 +36,7 @@ export class EquipoProgramaController {
|
||||
create(@Request() req, @Body() body: CreateEquipoProgramaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoProgramaService.create(body.id_equipo, body.id_programa);
|
||||
}
|
||||
|
||||
@@ -58,14 +54,7 @@ export class EquipoProgramaController {
|
||||
delete(@Request() req, @Body() body: DeleteEquipoProgramaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoProgramaService.delete(operador, body.id_equipo_programa);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { EquipoPrograma } from '../equipo-programa/entity/equipo-programa.entity
|
||||
import { InformacionEquipoProgramaView } from './entity/views/informacion-equipo-programa.view';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { InstitucionProgramaModule } from '../institucion-programa/institucion-programa.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -14,6 +15,7 @@ import { InstitucionProgramaModule } from '../institucion-programa/institucion-p
|
||||
InstitucionProgramaModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([EquipoPrograma, InformacionEquipoProgramaView]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [EquipoProgramaController],
|
||||
providers: [EquipoProgramaService],
|
||||
|
||||
@@ -2,7 +2,6 @@ import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
ForbiddenException,
|
||||
Post,
|
||||
Request,
|
||||
UseGuards,
|
||||
@@ -10,6 +9,7 @@ import {
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { EquipoTipoEntradaService } from './equipo-tipo-entrada.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CreateEquipoTipoEntradaDto } from './dto/input/create.dto';
|
||||
import { DeleteEquipoTipoEntradaDto } from './dto/input/delete.dto';
|
||||
@@ -17,7 +17,10 @@ import { DeleteEquipoTipoEntradaDto } from './dto/input/delete.dto';
|
||||
@Controller('equipo-tipo-entrada')
|
||||
@ApiTags('equipo-tipo-entrada')
|
||||
export class EquipoTipoEntradaController {
|
||||
constructor(private equipoTipoEntradaService: EquipoTipoEntradaService) {}
|
||||
constructor(
|
||||
private equipoTipoEntradaService: EquipoTipoEntradaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -33,14 +36,7 @@ export class EquipoTipoEntradaController {
|
||||
create(@Request() req, @Body() body: CreateEquipoTipoEntradaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoTipoEntradaService.create(
|
||||
body.id_equipo,
|
||||
body.id_tipo_entrada,
|
||||
@@ -61,14 +57,7 @@ export class EquipoTipoEntradaController {
|
||||
delete(@Request() req, @Body() body: DeleteEquipoTipoEntradaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoTipoEntradaService.delete(body.id_equipo_tipo_entrada);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { EquipoTipoEntrada } from '../equipo-tipo-entrada/entity/equipo-tipo-ent
|
||||
import { InformacionEquipoTipoEntradaView } from './entity/views/informacion-equipo-tipo-entrada.view';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { InstitucionTipoEntradaModule } from '../institucion-tipo-entrada/institucion-tipo-entrada.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -17,6 +18,7 @@ import { InstitucionTipoEntradaModule } from '../institucion-tipo-entrada/instit
|
||||
EquipoTipoEntrada,
|
||||
InformacionEquipoTipoEntradaView,
|
||||
]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [EquipoTipoEntradaController],
|
||||
providers: [EquipoTipoEntradaService],
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { EquipoService } from './equipo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { NumeroInventarioDto } from '../dto/numero-inventario.dto';
|
||||
import { EquiposDto } from './dto/input/equipos.dto';
|
||||
@@ -28,7 +29,10 @@ import { EquiposOutputDto } from './dto/output/equipos.dto';
|
||||
@Controller('equipo')
|
||||
@ApiTags('equipo')
|
||||
export class EquipoController {
|
||||
constructor(private equipoService: EquipoService) {}
|
||||
constructor(
|
||||
private equipoService: EquipoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(EquipoOutputDto)
|
||||
@Get('equipo')
|
||||
@@ -51,14 +55,7 @@ export class EquipoController {
|
||||
equipo(@Request() req, @Query() query: NumeroInventarioDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoService
|
||||
.findByNumeroInventario(
|
||||
parseInt(query.id_institucion),
|
||||
@@ -159,14 +156,7 @@ export class EquipoController {
|
||||
equipos(@Request() req, @Query() query: EquiposDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.equipoService.findAll(operador, query);
|
||||
}
|
||||
|
||||
@@ -196,14 +186,7 @@ export class EquipoController {
|
||||
const operador: Operador = req.user.operador;
|
||||
const data = { ...body };
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
delete data.id_carrito;
|
||||
delete data.id_status;
|
||||
delete data.id_operador;
|
||||
|
||||
@@ -17,6 +17,7 @@ import { ModuloModule } from '../modulo/modulo.module';
|
||||
import { EquipoMotivoModule } from '../equipo-motivo/equipo-motivo.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -34,6 +35,7 @@ import { StatusModule } from '../status/status.module';
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
StatusModule,
|
||||
TypeOrmModule.forFeature([Equipo, InformacionEquipoView]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [EquipoController],
|
||||
providers: [EquipoService],
|
||||
|
||||
@@ -2,7 +2,6 @@ import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Query,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { HoraExcepcionService } from './hora-excepcion.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CreateHoraExcepcionDto } from './dto/input/create.dto';
|
||||
import { DeleteHoraExcepcionDto } from './dto/input/delete.dto';
|
||||
@@ -28,7 +28,10 @@ import { HoraExcepcionOutputDto } from './dto/output/hora-excepcion.dto';
|
||||
@Controller('hora-excepcion')
|
||||
@ApiTags('hora-excepcion')
|
||||
export class HoraExcepcionController {
|
||||
constructor(private horaExcepcionService: HoraExcepcionService) {}
|
||||
constructor(
|
||||
private horaExcepcionService: HoraExcepcionService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -51,10 +54,7 @@ export class HoraExcepcionController {
|
||||
create(@Request() req, @Body() body: CreateHoraExcepcionDto) {
|
||||
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.horaExcepcionService.create(
|
||||
admin,
|
||||
body.id_institucion_dia,
|
||||
@@ -76,10 +76,7 @@ export class HoraExcepcionController {
|
||||
delete(@Request() req, @Body() body: DeleteHoraExcepcionDto) {
|
||||
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.horaExcepcionService.delete(admin, body.id_hora_excepcion);
|
||||
}
|
||||
|
||||
@@ -98,10 +95,7 @@ export class HoraExcepcionController {
|
||||
get(@Request() req, @Query() query: GetHoraExcepcionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.horaExcepcionService.findAllByIdInstitucionDia(
|
||||
parseInt(query.id_institucion_dia),
|
||||
);
|
||||
|
||||
@@ -5,12 +5,14 @@ import { HoraExcepcionController } from './hora-excepcion.controller';
|
||||
import { HoraExcepcionService } from './hora-excepcion.service';
|
||||
import { HoraExcepcion } from './entity/hora-excepcion.entity';
|
||||
import { InstitucionDiaModule } from '../institucion-dia/institucion-dia.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionDiaModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([HoraExcepcion]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [HoraExcepcionController],
|
||||
providers: [HoraExcepcionService],
|
||||
|
||||
@@ -20,7 +20,7 @@ export class Carrera {
|
||||
@Column({ type: String, nullable: false, length: 10 })
|
||||
clave: string;
|
||||
|
||||
@ManyToOne(() => Nivel, (nivel) => nivel.carreras, { eager: true })
|
||||
@ManyToOne(() => Nivel, (nivel) => nivel.carreras)
|
||||
@JoinColumn({ name: 'id_nivel' })
|
||||
nivel: Nivel;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Put,
|
||||
Query,
|
||||
@@ -18,6 +17,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionDiaService } from './institucion-dia.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
import { UpdateInstitucionDiaDto } from './dto/input/update.dto';
|
||||
@@ -27,7 +27,10 @@ import { Usuario } from '../usuario/entity/usuario.entity';
|
||||
@Controller('institucion-dia')
|
||||
@ApiTags('institucion-dia')
|
||||
export class InstitucionDiaController {
|
||||
constructor(private institucionDiaService: InstitucionDiaService) {}
|
||||
constructor(
|
||||
private institucionDiaService: InstitucionDiaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(InstitucionCarreaOutputDto)
|
||||
@Get()
|
||||
@@ -44,10 +47,7 @@ export class InstitucionDiaController {
|
||||
dias(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.institucionDiaService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -69,10 +69,7 @@ export class InstitucionDiaController {
|
||||
hoy(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.institucionDiaService.hoy(parseInt(query.id_institucion));
|
||||
}
|
||||
|
||||
@@ -102,10 +99,7 @@ export class InstitucionDiaController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionDiaDto) {
|
||||
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.institucionDiaService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import { InstitucionDiaService } from './institucion-dia.service';
|
||||
import { Dia } from './entity/dia.entity';
|
||||
import { InstitucionDia } from './entity/institucion-dia.entity';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Dia, InstitucionDia]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionDiaController],
|
||||
providers: [InstitucionDiaService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionInfraccionService } from './institucion-infraccion.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
import { CreateInstitucionInfraccionDto } from './dto/input/create.dto';
|
||||
@@ -31,6 +31,7 @@ import { InstitucionInfraccionOutputDto } from './dto/output/institucion-infracc
|
||||
export class InstitucionInfraccionController {
|
||||
constructor(
|
||||
private institucionInfraccionService: InstitucionInfraccionService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@@ -44,10 +45,7 @@ export class InstitucionInfraccionController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionInfraccionDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionInfraccionService.create(body.infraccion);
|
||||
}
|
||||
|
||||
@@ -59,10 +57,7 @@ export class InstitucionInfraccionController {
|
||||
get(@Request() req) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionInfraccionService.findAll();
|
||||
}
|
||||
|
||||
@@ -81,14 +76,7 @@ export class InstitucionInfraccionController {
|
||||
infracciones(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.institucionInfraccionService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -109,10 +97,7 @@ export class InstitucionInfraccionController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionInfraccionDto) {
|
||||
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.institucionInfraccionService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import { InstitucionInfraccionService } from './institucion-infraccion.service';
|
||||
import { Infraccion } from './entity/infraccion.entity';
|
||||
import { InstitucionInfraccion } from './entity/institucion-infraccion.entity';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Infraccion, InstitucionInfraccion]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionInfraccionController],
|
||||
providers: [InstitucionInfraccionService],
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
Body,
|
||||
ForbiddenException,
|
||||
Controller,
|
||||
Get,
|
||||
Post,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionProgramaService } from './institucion-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';
|
||||
@@ -31,7 +31,10 @@ import { ProgramaOutputDto } from './dto/output/programa.dto';
|
||||
@Controller('institucion-programa')
|
||||
@ApiTags('institucion-programa')
|
||||
export class InstitucionProgramaController {
|
||||
constructor(private institucionProgramaService: InstitucionProgramaService) {}
|
||||
constructor(
|
||||
private institucionProgramaService: InstitucionProgramaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -44,10 +47,7 @@ export class InstitucionProgramaController {
|
||||
create(@Request() req, @Body() body: CreateProgramaDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionProgramaService.create(body.programa);
|
||||
}
|
||||
|
||||
@@ -59,15 +59,7 @@ export class InstitucionProgramaController {
|
||||
get(@Request() req) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.institucionProgramaService.findAllProgramas();
|
||||
}
|
||||
|
||||
@@ -86,10 +78,7 @@ export class InstitucionProgramaController {
|
||||
programas(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.institucionProgramaService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -111,10 +100,7 @@ export class InstitucionProgramaController {
|
||||
programasMostrar(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.institucionProgramaService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
true,
|
||||
@@ -137,10 +123,7 @@ export class InstitucionProgramaController {
|
||||
update(@Request() req, @Body() body: UpdateProgramaDto) {
|
||||
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.institucionProgramaService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import { InstitucionProgramaService } from './institucion-programa.service';
|
||||
import { InstitucionPrograma } from './entity/institucion-programa.entity';
|
||||
import { Programa } from './entity/programa.entity';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([InstitucionPrograma, Programa]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionProgramaController],
|
||||
providers: [InstitucionProgramaService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionTipoCarritoService } from './institucion-tipo-carrito.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';
|
||||
@@ -33,6 +33,7 @@ import { TipoCarritoOutputDto } from './dto/output/tipo-carrito.dto';
|
||||
export class InstitucionTipoCarritoController {
|
||||
constructor(
|
||||
private institucionTipoCarritoService: InstitucionTipoCarritoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@@ -46,10 +47,7 @@ export class InstitucionTipoCarritoController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionTipoCarritoDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionTipoCarritoService.create(
|
||||
body.letra,
|
||||
body.tipo_carrito,
|
||||
@@ -66,15 +64,7 @@ export class InstitucionTipoCarritoController {
|
||||
get(@Request() req) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.institucionTipoCarritoService.findAll();
|
||||
}
|
||||
|
||||
@@ -94,10 +84,7 @@ export class InstitucionTipoCarritoController {
|
||||
tiposCarrito(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.institucionTipoCarritoService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -119,10 +106,7 @@ export class InstitucionTipoCarritoController {
|
||||
tiposCarritoMostrar(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.institucionTipoCarritoService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
true,
|
||||
@@ -145,10 +129,7 @@ export class InstitucionTipoCarritoController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionTipoCarritoDto) {
|
||||
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.institucionTipoCarritoService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import { InstitucionTipoCarritoService } from './institucion-tipo-carrito.servic
|
||||
import { InstitucionTipoCarrito } from './entity/institucion-tipo-carrito.entity';
|
||||
import { TipoCarrito } from './entity/tipo-carrito.entity';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([InstitucionTipoCarrito, TipoCarrito]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionTipoCarritoController],
|
||||
providers: [InstitucionTipoCarritoService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.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';
|
||||
@@ -31,7 +31,10 @@ import { TipoEntradaOutputDto } from './dto/output/tipo-entrada.dto';
|
||||
@Controller('institucion-tipo-entrada')
|
||||
@ApiTags('institucion-tipo-entrada')
|
||||
export class InstitucionTipoEntradaController {
|
||||
constructor(private tipoEntradaService: InstitucionTipoEntradaService) {}
|
||||
constructor(
|
||||
private tipoEntradaService: InstitucionTipoEntradaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -44,10 +47,7 @@ export class InstitucionTipoEntradaController {
|
||||
create(@Request() req, @Body() body: CreateInstitucionTipoEntradaDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.tipoEntradaService.create(body.tipo_entrada);
|
||||
}
|
||||
|
||||
@@ -61,15 +61,7 @@ export class InstitucionTipoEntradaController {
|
||||
get(@Request() req) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.tipoEntradaService.findAll();
|
||||
}
|
||||
|
||||
@@ -89,10 +81,7 @@ export class InstitucionTipoEntradaController {
|
||||
tiposEntrada(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.tipoEntradaService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -114,10 +103,7 @@ export class InstitucionTipoEntradaController {
|
||||
tipoEntradaMostrar(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.tipoEntradaService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
true,
|
||||
@@ -140,10 +126,7 @@ export class InstitucionTipoEntradaController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionTipoEntradaDto) {
|
||||
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.tipoEntradaService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.servic
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { InstitucionTipoEntrada } from './entity/institucion-tipo-entrada.entity';
|
||||
import { TipoEntrada } from './entity/tipo-entrada.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([InstitucionTipoEntrada, TipoEntrada]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionTipoEntradaController],
|
||||
providers: [InstitucionTipoEntradaService],
|
||||
|
||||
@@ -6,9 +6,5 @@ export class UpdateInstitucionUsuarioInputDto {
|
||||
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
activo?: boolean;
|
||||
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
multa?: boolean;
|
||||
activo: boolean;
|
||||
}
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Put,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { Body, Controller, Put, Request, UseGuards } from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { InstitucionUsuarioService } from './institucion-usuario.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { UpdateInstitucionUsuarioInputDto } from './dto/input/update.dto';
|
||||
|
||||
@Controller('institucion-usuario')
|
||||
@ApiTags('institucion-usuario')
|
||||
export class InstitucionUsuarioController {
|
||||
constructor(private institucionUsuarioService: InstitucionUsuarioService) {}
|
||||
constructor(
|
||||
private institucionUsuarioService: InstitucionUsuarioService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Put()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -24,13 +21,12 @@ export class InstitucionUsuarioController {
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'Todas las variables a excepción de id_ son opcionales.',
|
||||
description: 'Todas las variables son obligatorias.',
|
||||
examples: {
|
||||
ejemplo: {
|
||||
value: {
|
||||
correo: '',
|
||||
id_usuario: 1,
|
||||
telefono: '',
|
||||
activo: true,
|
||||
id_institucion_usuario: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -38,14 +34,7 @@ export class InstitucionUsuarioController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionUsuarioInputDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(admin);
|
||||
return this.institucionUsuarioService.update(body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { InstitucionUsuarioService } from './institucion-usuario.service';
|
||||
import { InstitucionUsuario } from './entity/institucion-usuario.entity';
|
||||
import { InstitucionUsuarioController } from './institucion-usuario.controller';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([InstitucionUsuario]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
providers: [InstitucionUsuarioService],
|
||||
exports: [InstitucionUsuarioService],
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { InstitucionService } from './institucion.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
import { UpdateInstitucionDto } from './dto/input/update.dto';
|
||||
@@ -29,7 +30,10 @@ import { InstitucionesMinOutputDto } from './dto/output/instituciones-min.dto';
|
||||
@Controller('institucion')
|
||||
@ApiTags('institucion')
|
||||
export class InstitucionController {
|
||||
constructor(private institucionService: InstitucionService) {}
|
||||
constructor(
|
||||
private institucionService: InstitucionService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(InstitucionesMinOutputDto)
|
||||
@Get('instituciones-activas')
|
||||
@@ -50,10 +54,7 @@ export class InstitucionController {
|
||||
get(@Request() req) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionService.findAll();
|
||||
}
|
||||
|
||||
@@ -72,14 +73,7 @@ export class InstitucionController {
|
||||
institucion(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdminAdmin(admin);
|
||||
return this.institucionService
|
||||
.findById(parseInt(query.id_institucion))
|
||||
.then((institucion) => {
|
||||
@@ -104,10 +98,7 @@ export class InstitucionController {
|
||||
instituciones(@Request() req) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.institucionService.findAll();
|
||||
}
|
||||
|
||||
@@ -140,14 +131,7 @@ export class InstitucionController {
|
||||
update(@Request() req, @Body() body: UpdateInstitucionDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdminAdmin(admin);
|
||||
return this.institucionService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { InstitucionController } from './institucion.controller';
|
||||
import { InstitucionService } from './institucion.service';
|
||||
import { Institucion } from './entity/institucion.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Institucion]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [InstitucionController],
|
||||
providers: [InstitucionService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Query,
|
||||
@@ -18,6 +17,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { MarcaService } from './marca.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CreateMarcaDto } from './dto/input/create.dto';
|
||||
import { MarcaDto } from './dto/input/marca.dto';
|
||||
@@ -26,7 +26,10 @@ import { MarcaOutputDto } from './dto/output/marca.dto';
|
||||
@Controller('marca')
|
||||
@ApiTags('marca')
|
||||
export class MarcaController {
|
||||
constructor(private marcaService: MarcaService) {}
|
||||
constructor(
|
||||
private marcaService: MarcaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -39,10 +42,7 @@ export class MarcaController {
|
||||
create(@Request() req, @Body() body: CreateMarcaDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.marcaService.create(body.marca, body.tipo);
|
||||
}
|
||||
|
||||
@@ -59,15 +59,7 @@ export class MarcaController {
|
||||
get(@Request() req, @Query() query: MarcaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.marcaService.findAll(query.tipo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { MarcaController } from './marca.controller';
|
||||
import { MarcaService } from './marca.service';
|
||||
import { Marca } from './entity/marca.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Marca]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [MarcaController],
|
||||
providers: [MarcaService],
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { ModeloService } from './modelo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CreateModeloDto } from './dto/input/create.dto';
|
||||
import { ModeloDto } from './dto/input/modelo.dto';
|
||||
@@ -26,7 +27,10 @@ import { ModeloOutputDto } from './dto/output/modelo.dto';
|
||||
@Controller('modelo')
|
||||
@ApiTags('modelo')
|
||||
export class ModeloController {
|
||||
constructor(private modeloService: ModeloService) {}
|
||||
constructor(
|
||||
private modeloService: ModeloService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -39,6 +43,7 @@ export class ModeloController {
|
||||
create(@Request() req, @Body() body: CreateModeloDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
@@ -59,15 +64,7 @@ export class ModeloController {
|
||||
get(@Request() req, @Query() query: ModeloDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para accedar a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.modeloService.findAll(query.tipo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { ModeloController } from './modelo.controller';
|
||||
import { ModeloService } from './modelo.service';
|
||||
import { Modelo } from './entity/modelo.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Modelo]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [ModeloController],
|
||||
providers: [ModeloService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,8 +18,8 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { ModuloService } from './modulo.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 { CreateModuloDto } from './dto/input/create.dto';
|
||||
import { ModuloDto } from './dto/input/modulo.dto';
|
||||
@@ -31,7 +30,10 @@ import { ModuloMinOutputDto } from './dto/output/modulo-min.dto';
|
||||
@Controller('modulo')
|
||||
@ApiTags('modulo')
|
||||
export class ModuloController {
|
||||
constructor(private moduloService: ModuloService) {}
|
||||
constructor(
|
||||
private moduloService: ModuloService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -44,10 +46,7 @@ export class ModuloController {
|
||||
create(@Request() req, @Body() body: CreateModuloDto) {
|
||||
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.moduloService.create(admin, body.modulo);
|
||||
}
|
||||
|
||||
@@ -66,10 +65,7 @@ export class ModuloController {
|
||||
modulo(@Request() req, @Query() query: ModuloDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.moduloService.findById(parseInt(query.id_modulo));
|
||||
}
|
||||
|
||||
@@ -88,15 +84,7 @@ export class ModuloController {
|
||||
modulos(@Request() req, @Query() query: IdInstitucionDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.moduloService.findAllByIdInstitucion(
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
@@ -134,10 +122,7 @@ export class ModuloController {
|
||||
update(@Request() req, @Body() body: UpdateModuloDto) {
|
||||
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.moduloService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,14 @@ import { ModuloController } from './modulo.controller';
|
||||
import { ModuloService } from './modulo.service';
|
||||
import { Modulo } from './entity/modulo.entity';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
InstitucionModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Modulo]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [ModuloController],
|
||||
providers: [ModuloService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { MultaService } from './multa.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { Usuario } from '../usuario/entity/usuario.entity';
|
||||
import { IdUsuarioDto } from '../dto/id-usuario.dto';
|
||||
@@ -35,7 +35,10 @@ import { MultasUsuarioOutputDto } from './dto/output/multas-usuario.dto';
|
||||
@Controller('multa')
|
||||
@ApiTags('multa')
|
||||
export class MultaController {
|
||||
constructor(private multaService: MultaService) {}
|
||||
constructor(
|
||||
private multaService: MultaService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -57,14 +60,7 @@ export class MultaController {
|
||||
multar(@Request() req, @Body() body: MultarDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.create(
|
||||
body.id_prestamo,
|
||||
body.id_operador,
|
||||
@@ -102,15 +98,7 @@ export class MultaController {
|
||||
multas(@Request() req, @Query() query: MultasDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.findAll(query);
|
||||
}
|
||||
|
||||
@@ -134,14 +122,7 @@ export class MultaController {
|
||||
multasEquipo(@Request() req, @Query() query: IdEquipoPaginaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.findAllByIdEquipo(
|
||||
parseInt(query.id_equipo),
|
||||
parseInt(query.pagina),
|
||||
@@ -168,15 +149,7 @@ export class MultaController {
|
||||
multasUsuario(@Request() req, @Query() query: IdUsuarioPaginaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.findAllByIdUsuario(
|
||||
parseInt(query.id_usuario),
|
||||
parseInt(query.pagina),
|
||||
@@ -199,10 +172,7 @@ export class MultaController {
|
||||
multasActivas(@Request() req, @Query() query: IdUsuarioDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.multaService.findMultasActivas(parseInt(query.id_usuario));
|
||||
}
|
||||
|
||||
@@ -220,10 +190,7 @@ export class MultaController {
|
||||
quitarMulta(@Request() req, @Body() body: QuitarMultarDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.multaService.quitarMulta(body.id_institucion_usuario);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import { InstitucionUsuarioModule } from '../institucion-usuario/institucion-usu
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { PrestamoModule } from '../prestamo/prestamo.module';
|
||||
import { UsuarioModule } from '../usuario/usuario.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -23,6 +24,7 @@ import { UsuarioModule } from '../usuario/usuario.module';
|
||||
OperadorModule,
|
||||
TypeOrmModule.forFeature([Multa]),
|
||||
UsuarioModule,
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [MultaController],
|
||||
providers: [MultaService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { OperadorService } from './operador.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from './entity/operador.entity';
|
||||
import { CreateAdminDto } from './dto/input/create-admin.dto';
|
||||
import { CreateOperadorDto } from './dto/input/create-operador.dto';
|
||||
@@ -29,7 +29,10 @@ import { OperadorOutputDto } from './dto/output/operador.dto';
|
||||
@Controller('operador')
|
||||
@ApiTags('operador')
|
||||
export class OperadorController {
|
||||
constructor(private operadorService: OperadorService) {}
|
||||
constructor(
|
||||
private operadorService: OperadorService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post('admin')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -51,10 +54,7 @@ export class OperadorController {
|
||||
createAdmin(@Request() req, @Body() body: CreateAdminDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.operadorService.create(
|
||||
body.id_institucion,
|
||||
3,
|
||||
@@ -84,10 +84,7 @@ export class OperadorController {
|
||||
createOperador(@Request() req, @Body() body: CreateOperadorDto) {
|
||||
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.operadorService.create(
|
||||
admin.institucion,
|
||||
4,
|
||||
@@ -132,14 +129,7 @@ export class OperadorController {
|
||||
operadores(@Request() req, @Query() query: OperadoresDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdminAdmin(admin);
|
||||
return this.operadorService.findAll(query);
|
||||
}
|
||||
|
||||
@@ -156,14 +146,7 @@ export class OperadorController {
|
||||
passwordResset(@Request() req, @Body() body: UpdateOperadorDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdminAdmin(admin);
|
||||
return this.operadorService.passwordReset(
|
||||
admin,
|
||||
body.id_operador,
|
||||
@@ -192,14 +175,7 @@ export class OperadorController {
|
||||
update(@Request() req, @Body() body: UpdateOperadorDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdminAdmin(admin);
|
||||
return this.operadorService.update(admin, body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import { BcryptModule } from '../bcrypt/bcrypt.module';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { NodemailerModule } from '../nodemailer/nodemailer.module';
|
||||
import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -18,6 +19,7 @@ import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TipoUsuarioModule,
|
||||
TypeOrmModule.forFeature([Operador, InformacionOperadorView]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [OperadorController],
|
||||
providers: [OperadorService],
|
||||
|
||||
@@ -188,7 +188,9 @@ export class OperadorService {
|
||||
id_operador: admin.id_operador,
|
||||
nombre: admin.nombre,
|
||||
operador: admin.operador,
|
||||
institucion: { id_institucion: admin.id_institucion },
|
||||
institucion: admin.id_institucion
|
||||
? { id_institucion: admin.id_institucion }
|
||||
: null,
|
||||
tipoUsuario: { id_tipo_usuario: admin.id_tipo_usuario },
|
||||
},
|
||||
activo: admin.activo,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
IsBooleanString,
|
||||
IsDateString,
|
||||
IsNotEmpty,
|
||||
IsNumberString,
|
||||
@@ -10,6 +11,14 @@ export class HistorialDto {
|
||||
@IsNumberString()
|
||||
pagina: string;
|
||||
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
cancelado_operador?: string;
|
||||
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
cancelado_usuario?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { PrestamoService } from './prestamo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { IdEquipoPaginaDto } from '../dto/id-equipo-pagina.dto';
|
||||
import { IdUsuarioDto } from '../dto/id-usuario.dto';
|
||||
@@ -48,7 +48,10 @@ import { Usuario } from '../usuario/entity/usuario.entity';
|
||||
@Controller('prestamo')
|
||||
@ApiTags('prestamo')
|
||||
export class PrestamoController {
|
||||
constructor(private prestamoService: PrestamoService) {}
|
||||
constructor(
|
||||
private prestamoService: PrestamoService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(ActivosOutputDto)
|
||||
@Get('activos')
|
||||
@@ -114,14 +117,7 @@ export class PrestamoController {
|
||||
activos(@Request() req, @Query() query: ActivosDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
}
|
||||
|
||||
@@ -168,14 +164,7 @@ export class PrestamoController {
|
||||
cancelarOperador(@Request() req, @Body() body: CancelarOperadorDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.cancelarOperador(
|
||||
body.id_prestamo,
|
||||
body.id_operador,
|
||||
@@ -196,10 +185,7 @@ export class PrestamoController {
|
||||
cancelarUsuario(@Request() req, @Body() body: CancelarUsuarioDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.prestamoService.cancelarUsuario(body.id_prestamo);
|
||||
}
|
||||
|
||||
@@ -217,14 +203,7 @@ export class PrestamoController {
|
||||
entregar(@Request() req, @Body() body: EntregarDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.entregar(body.id_prestamo, body.id_operador);
|
||||
}
|
||||
|
||||
@@ -304,14 +283,7 @@ export class PrestamoController {
|
||||
historial(@Request() req, @Query() query: HistorialDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
}
|
||||
|
||||
@@ -336,14 +308,7 @@ export class PrestamoController {
|
||||
historialEquipo(@Request() req, @Query() query: IdEquipoPaginaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.findAllByIdEquipo(
|
||||
parseInt(query.id_equipo),
|
||||
parseInt(query.pagina),
|
||||
@@ -371,14 +336,7 @@ export class PrestamoController {
|
||||
historialUsuario(@Request() req, @Query() query: IdUsuarioPaginaDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.findAllByIdUsuario(
|
||||
parseInt(query.id_usuario),
|
||||
parseInt(query.pagina),
|
||||
@@ -407,10 +365,7 @@ export class PrestamoController {
|
||||
pedir(@Request() req, @Body() body: PedirDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.prestamoService.create(
|
||||
usuario,
|
||||
body.id_modulo,
|
||||
@@ -431,17 +386,12 @@ export class PrestamoController {
|
||||
type: 'text',
|
||||
})
|
||||
prestamoIdPrestamo(@Request() req, @Query() query: IdPrestamoDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
const usuarioOperador: Operador | Usuario =
|
||||
req.user.operador || req.user.usuario;
|
||||
|
||||
if (
|
||||
operador &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
if ('id_usuario' in usuarioOperador)
|
||||
this.validarUsuarioService.validarUsuario(usuarioOperador);
|
||||
else this.validarUsuarioService.validarAdminOperador(usuarioOperador);
|
||||
return this.prestamoService.findById(parseInt(query.id_prestamo));
|
||||
}
|
||||
|
||||
@@ -461,10 +411,7 @@ export class PrestamoController {
|
||||
prestamoIdUsuario(@Request() req, @Query() query: IdUsuarioDto) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
if (!usuario)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarUsuario(usuario);
|
||||
return this.prestamoService.findByIdUsuario(parseInt(query.id_usuario));
|
||||
}
|
||||
|
||||
@@ -492,14 +439,7 @@ export class PrestamoController {
|
||||
) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.findByNumeroInventario(
|
||||
parseInt(query.id_institucion),
|
||||
query.numero_inventario,
|
||||
@@ -583,14 +523,7 @@ export class PrestamoController {
|
||||
regresarIdPrestamo(@Request() req, @Body() body: RegresarIdPrestamoDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.regresarIdPrestamo(
|
||||
body.id_operador,
|
||||
body.id_prestamo,
|
||||
@@ -622,14 +555,7 @@ export class PrestamoController {
|
||||
) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.prestamoService.regresarNumeroInventario(
|
||||
body.id_operador,
|
||||
body.numero_inventario,
|
||||
|
||||
@@ -17,6 +17,8 @@ import { ModuloModule } from '../modulo/modulo.module';
|
||||
import { MultaModule } from '../multa/multa.module';
|
||||
import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
import { UsuarioModule } from '../usuario/usuario.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
EquipoModule,
|
||||
@@ -33,6 +35,7 @@ import { UsuarioModule } from '../usuario/usuario.module';
|
||||
TypeOrmModule.forFeature([Prestamo]),
|
||||
TipoUsuarioModule,
|
||||
UsuarioModule,
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [PrestamoController],
|
||||
providers: [AppGateway, PrestamoService],
|
||||
|
||||
@@ -288,6 +288,8 @@ export class PrestamoService {
|
||||
async findAll(filtros: {
|
||||
pagina: string;
|
||||
activo?: string | boolean;
|
||||
cancelado_operador?: string;
|
||||
cancelado_usuario?: string;
|
||||
carrito?: string;
|
||||
equipo?: string;
|
||||
fechaFin?: string;
|
||||
@@ -344,8 +346,10 @@ export class PrestamoService {
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.innerJoinAndSelect('ca.nivel', 'n')
|
||||
.orderBy('p.id_prestamo', 'DESC')
|
||||
.orderBy(
|
||||
'p.id_prestamo',
|
||||
filtros.activo && typeof filtros.activo === 'boolean' ? 'ASC' : 'DESC',
|
||||
)
|
||||
.addOrderBy('i.institucion')
|
||||
.addOrderBy('m.modulo')
|
||||
.addOrderBy('tc.tipo_carrito')
|
||||
@@ -362,6 +366,22 @@ export class PrestamoService {
|
||||
activo: filtros.activo === 'true',
|
||||
});
|
||||
}
|
||||
if (filtros.cancelado_operador)
|
||||
query.andWhere('p.cancelado_operador = :cancelado_operador', {
|
||||
cancelado_operador: filtros.cancelado_operador === 'true',
|
||||
});
|
||||
if (filtros.cancelado_usuario)
|
||||
query.andWhere('p.cancelado_usuario = :cancelado_usuario', {
|
||||
cancelado_usuario: filtros.cancelado_usuario === 'true',
|
||||
});
|
||||
if (filtros.fechaInicio)
|
||||
query.andWhere('p.fecha_inicio >= :fechaInicio', {
|
||||
fechaInicio: filtros.fechaInicio,
|
||||
});
|
||||
if (filtros.fechaFin)
|
||||
query.andWhere('p.fecha_inicio <= :fechaFin', {
|
||||
fechaFin: filtros.fechaFin,
|
||||
});
|
||||
if (filtros.id_prestamo)
|
||||
query.andWhere('p.id_prestamo LIKE :id_prestamo', {
|
||||
id_prestamo: `%${filtros.id_prestamo}%`,
|
||||
@@ -451,7 +471,6 @@ export class PrestamoService {
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.innerJoinAndSelect('ca.nivel', 'n')
|
||||
.orderBy('p.id_prestamo', 'DESC')
|
||||
.skip((pagina - 1) * 25)
|
||||
.take(25)
|
||||
@@ -476,7 +495,6 @@ export class PrestamoService {
|
||||
.innerJoinAndSelect('is.institucionCarrera', 'ic')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.innerJoinAndSelect('ca.nivel', 'n')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.where('p.id_prestamo = :id_prestamo', {
|
||||
id_prestamo,
|
||||
@@ -546,7 +564,6 @@ export class PrestamoService {
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.innerJoinAndSelect('ca.nivel', 'n')
|
||||
.where('p.activo = 1')
|
||||
.getOne(),
|
||||
)
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
import {
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { Controller, Get, Request, UseGuards } from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { StatusService } from './status.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { StatusOutputDto } from './dto/output/status.dto';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
|
||||
@Controller('status')
|
||||
@ApiTags('status')
|
||||
export class StatusController {
|
||||
constructor(private statusService: StatusService) {}
|
||||
constructor(
|
||||
private statusService: StatusService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Serealize(StatusOutputDto)
|
||||
@Get()
|
||||
@@ -25,15 +23,7 @@ export class StatusController {
|
||||
get(@Request() req) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.statusService.findAll();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { StatusController } from './status.controller';
|
||||
import { StatusService } from './status.service';
|
||||
import { Status } from './entity/status.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Status]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [StatusController],
|
||||
providers: [StatusService],
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
Body,
|
||||
ConflictException,
|
||||
Controller,
|
||||
Get,
|
||||
Post,
|
||||
@@ -11,6 +10,7 @@ import { AuthGuard } from '@nestjs/passport';
|
||||
import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { TipoUsuarioService } from './tipo-usuario.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CreateTipoUsuarioDto } from './dto/input/create.dto';
|
||||
import { TipoUsuarioOutputDto } from './dto/output/tipo-usuario.dto';
|
||||
@@ -18,7 +18,10 @@ import { TipoUsuarioOutputDto } from './dto/output/tipo-usuario.dto';
|
||||
@Controller('tipo-usuario')
|
||||
@ApiTags('tipo-usuario')
|
||||
export class TipoUsuarioController {
|
||||
constructor(private tipoUsuarioService: TipoUsuarioService) {}
|
||||
constructor(
|
||||
private tipoUsuarioService: TipoUsuarioService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@@ -31,10 +34,7 @@ export class TipoUsuarioController {
|
||||
create(@Request() req, @Body() body: CreateTipoUsuarioDto) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.tipoUsuarioService.create(body.tipo_usuario);
|
||||
}
|
||||
|
||||
@@ -48,10 +48,7 @@ export class TipoUsuarioController {
|
||||
get(@Request() req) {
|
||||
const superAdmin: Operador = req.user.operador;
|
||||
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
throw new ConflictException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarSuperAdmin(superAdmin);
|
||||
return this.tipoUsuarioService.findAll();
|
||||
}
|
||||
|
||||
@@ -66,15 +63,7 @@ export class TipoUsuarioController {
|
||||
operador(@Request() req) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ConflictException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.tipoUsuarioService.findAll('operador');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { TipoUsuarioController } from './tipo-usuario.controller';
|
||||
import { TipoUsuarioService } from './tipo-usuario.service';
|
||||
import { TipoUsuario } from './entity/tipo-usuario.entity';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([TipoUsuario]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [TipoUsuarioController],
|
||||
providers: [TipoUsuarioService],
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
Post,
|
||||
Query,
|
||||
Response,
|
||||
Request,
|
||||
UploadedFile,
|
||||
UseGuards,
|
||||
UseInterceptors,
|
||||
@@ -13,23 +14,31 @@ import { AuthGuard } from '@nestjs/passport';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
|
||||
import { UploadFileService } from './upload-file.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
||||
|
||||
@Controller('upload-file')
|
||||
@ApiTags('upload-file')
|
||||
export class UploadFileController {
|
||||
constructor(private uploadFileService: UploadFileService) {}
|
||||
constructor(
|
||||
private uploadFileService: UploadFileService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post('carga-masiva-equipos')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@UseInterceptors(FileInterceptor('csv'))
|
||||
@ApiBearerAuth('jwt')
|
||||
cargaMasivaEquipos(
|
||||
@Request() req,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Query() query: IdInstitucionDto,
|
||||
) {
|
||||
const admin: Operador = req.user.operador;
|
||||
const path = file ? `${file.destination}/${file.filename}` : null;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
if (!file) throw new BadRequestException('No se mandó ningún archivo.');
|
||||
return this.uploadFileService.createEquipos(
|
||||
path,
|
||||
@@ -42,11 +51,14 @@ export class UploadFileController {
|
||||
@UseInterceptors(FileInterceptor('csv'))
|
||||
@ApiBearerAuth('jwt')
|
||||
cargaMasivaUsuarios(
|
||||
@Request() req,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Query() query: IdInstitucionDto,
|
||||
) {
|
||||
const admin: Operador = req.user.operador;
|
||||
const path = file ? `${file.destination}/${file.filename}` : null;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
if (!file) throw new BadRequestException('No se mandó ningún archivo.');
|
||||
return this.uploadFileService.createUsuarios(
|
||||
path,
|
||||
@@ -57,7 +69,14 @@ export class UploadFileController {
|
||||
@Get('download-logo')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiBearerAuth('jwt')
|
||||
downloadLogo(@Response() res, @Query() query: IdInstitucionDto) {
|
||||
downloadLogo(
|
||||
@Request() req,
|
||||
@Response() res,
|
||||
@Query() query: IdInstitucionDto,
|
||||
) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.uploadFileService
|
||||
.downloadLogo(parseInt(query.id_institucion))
|
||||
.then((logo) => res.download(logo));
|
||||
@@ -66,14 +85,20 @@ export class UploadFileController {
|
||||
@Get('download-plantilla-equipos')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiBearerAuth('jwt')
|
||||
downloadPlantillaEquipos(@Response() res) {
|
||||
downloadPlantillaEquipos(@Request() req, @Response() res) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return res.download('./upload/plantilla_equipos.csv');
|
||||
}
|
||||
|
||||
@Get('download-plantilla-usuarios')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiBearerAuth('jwt')
|
||||
downloadPlantillaUsuarios(@Response() res) {
|
||||
downloadPlantillaUsuarios(@Request() req, @Response() res) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return res.download('./upload/plantilla_alumnos.csv');
|
||||
}
|
||||
|
||||
@@ -82,9 +107,13 @@ export class UploadFileController {
|
||||
@ApiBearerAuth('jwt')
|
||||
@UseInterceptors(FileInterceptor('logo'))
|
||||
uploadLogo(
|
||||
@Request() req,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@Query() query: IdInstitucionDto,
|
||||
) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdmin(admin);
|
||||
return this.uploadFileService.uploadLogo(
|
||||
file,
|
||||
parseInt(query.id_institucion),
|
||||
|
||||
@@ -19,6 +19,7 @@ import { ModeloModule } from '../modelo/modelo.module';
|
||||
import { ModuloModule } from '../modulo/modulo.module';
|
||||
import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
import { UsuarioModule } from '../usuario/usuario.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -49,6 +50,7 @@ import { UsuarioModule } from '../usuario/usuario.module';
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TipoUsuarioModule,
|
||||
UsuarioModule,
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [UploadFileController],
|
||||
providers: [AppGateway, UploadFileService],
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
@@ -20,6 +19,7 @@ import {
|
||||
import { Recaptcha } from '@nestlab/google-recaptcha';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { UsuarioService } from './usuario.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { RegistrarUsuarioInputDto } from './dto/input/registrar.dto';
|
||||
import { UpdateUsuarioInputDto } from './dto/input/update.dto';
|
||||
@@ -31,7 +31,10 @@ import { UsuariosOutputDto } from './dto/output/usuarios.dto';
|
||||
@Controller('usuario')
|
||||
@ApiTags('usuario')
|
||||
export class UsuarioController {
|
||||
constructor(private usuarioService: UsuarioService) {}
|
||||
constructor(
|
||||
private usuarioService: UsuarioService,
|
||||
private validarUsuarioService: ValidarUsuarioService,
|
||||
) {}
|
||||
|
||||
@Post('registrar')
|
||||
@Recaptcha()
|
||||
@@ -77,14 +80,7 @@ export class UsuarioController {
|
||||
update(@Request() req, @Body() body: UpdateUsuarioInputDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(admin);
|
||||
return this.usuarioService.update(body);
|
||||
}
|
||||
|
||||
@@ -101,14 +97,7 @@ export class UsuarioController {
|
||||
passwordResset(@Request() req, @Body() body: UpdateUsuarioInputDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(admin);
|
||||
return this.usuarioService.passwordReset(body.id_usuario);
|
||||
}
|
||||
|
||||
@@ -127,14 +116,7 @@ export class UsuarioController {
|
||||
usuario(@Request() req, @Query() query: UsuarioInputDto) {
|
||||
const admin: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarAdminOperador(admin);
|
||||
return this.usuarioService.findByUsuario(query.usuario, true, true);
|
||||
}
|
||||
|
||||
@@ -184,15 +166,7 @@ export class UsuarioController {
|
||||
usuarios(@Request() req, @Query() query: UsuariosInputDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.usuarioService.findAll(query);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import { InstitucionCarreraModule } from '../institucion-carrera/institucion-car
|
||||
import { InstitucionUsuarioModule } from '../institucion-usuario/institucion-usuario.module';
|
||||
import { NodemailerModule } from '../nodemailer/nodemailer.module';
|
||||
import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -22,6 +23,7 @@ import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TipoUsuarioModule,
|
||||
TypeOrmModule.forFeature([Usuario, InformacionUsuarioView]),
|
||||
ValidarUsuarioModule,
|
||||
],
|
||||
controllers: [UsuarioController],
|
||||
providers: [UsuarioService],
|
||||
|
||||
@@ -204,7 +204,7 @@ export class UsuarioService {
|
||||
})
|
||||
.then((usuario) =>
|
||||
this.nodemailerService.sendEmail({
|
||||
email: `${usuario.usuario}@pcpuma.acatlan.unam.mx`,
|
||||
email: usuario.correo,
|
||||
subject: 'Credenciales Pc Puma',
|
||||
html: this.nodemailerService.correoPasswordUsuario(password),
|
||||
}),
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ValidarUsuarioService } from './validar-usuario.service';
|
||||
|
||||
@Module({
|
||||
providers: [ValidarUsuarioService],
|
||||
exports: [ValidarUsuarioService],
|
||||
})
|
||||
export class ValidarUsuarioModule {}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { ValidarUsuarioService } from './validar-usuario.service';
|
||||
|
||||
describe('ValidarUsuarioService', () => {
|
||||
let service: ValidarUsuarioService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [ValidarUsuarioService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<ValidarUsuarioService>(ValidarUsuarioService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(service).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,53 @@
|
||||
import { ForbiddenException, Injectable } from '@nestjs/common';
|
||||
import { Operador } from 'src/operador/entity/operador.entity';
|
||||
import { Usuario } from 'src/usuario/entity/usuario.entity';
|
||||
|
||||
@Injectable()
|
||||
export class ValidarUsuarioService {
|
||||
validarUsuario(usuario: Usuario) {
|
||||
if (!usuario) this.sinPermisos();
|
||||
}
|
||||
|
||||
validarAdmin(admin: Operador) {
|
||||
if (!admin || admin.tipoUsuario.id_tipo_usuario != 3) this.sinPermisos();
|
||||
}
|
||||
|
||||
validarAdminOperador(admin: Operador) {
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
this.sinPermisos();
|
||||
}
|
||||
|
||||
validarOperador(operador: Operador) {
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
this.sinPermisos();
|
||||
}
|
||||
|
||||
validarSuperAdmin(superAdmin: Operador) {
|
||||
if (!superAdmin || superAdmin.tipoUsuario.id_tipo_usuario != 2)
|
||||
this.sinPermisos();
|
||||
}
|
||||
|
||||
validarSuperAdminAdmin(admin: Operador) {
|
||||
if (
|
||||
!admin ||
|
||||
(admin.tipoUsuario.id_tipo_usuario != 2 &&
|
||||
admin.tipoUsuario.id_tipo_usuario != 3)
|
||||
)
|
||||
this.sinPermisos();
|
||||
}
|
||||
|
||||
sinPermisos() {
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para realizar esta acción.',
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
numero_cuenta,nombres,apellido_p,apellido_m,carrera,tipo_usuario,rfc
|
||||
316313528,LEMUEL HELON,MARQUEZ,ROSAS,MATEMATICAS APLICADAS Y COMPUTACION,Alumno,
|
||||
316019251,MARCO ANTONIO,ROMERO,VAZQUEZ,ACTUARIA,Alumno,
|
||||
316304326,JEREMY,CARRERA,SERRANO,ARQUITECTURA,Alumno,
|
||||
419085500,ANDRES HERNAN,SAAVEDRA,TREJO,,Profesor,KDIE993388EOX
|
||||
numero_cuenta,nombres,apellido_p,apellido_m,carrera,tipo_usuario,rfc,correo
|
||||
316313528,LEMUEL HELON,MARQUEZ,ROSAS,MATEMATICAS APLICADAS Y COMPUTACION,Alumno,,
|
||||
316019251,MARCO ANTONIO,ROMERO,VAZQUEZ,ACTUARIA,Alumno,,
|
||||
316304326,JEREMY,CARRERA,SERRANO,ARQUITECTURA,Alumno,,
|
||||
419085500,ANDRES HERNAN,SAAVEDRA,TREJO,,Profesor,KDIE993388EOX,
|
||||
|
||||
|
Reference in New Issue
Block a user