mini cambios
This commit is contained in:
parent
0189e7fcee
commit
80111e15e0
@ -35,12 +35,11 @@ export class AuthService {
|
||||
id_operador: admin.id_operador,
|
||||
operador: admin.operador,
|
||||
nombre: admin.nombre,
|
||||
// institucion: { id_institucion: admin.institucion.id_institucion },
|
||||
tipoUsuario: { id_tipo_usuario: admin.tipoUsuario.id_tipo_usuario },
|
||||
},
|
||||
};
|
||||
|
||||
// Los super admin y sistema no tienen institucion
|
||||
// Los super admin y sistema no tienen institución
|
||||
if (JwtPayload.Operador.tipoUsuario.id_tipo_usuario > 2)
|
||||
JwtPayload.Operador.institucion = {
|
||||
id_institucion: admin.institucion.id_institucion,
|
||||
@ -83,7 +82,7 @@ export class AuthService {
|
||||
|
||||
loginUsuario(usuario: string, password: string) {
|
||||
return this.usuarioService.findByUsuario(usuario).then((usuario) => {
|
||||
// Sin password = no registrado, valida que este registrado
|
||||
// Sin password = no registrado, valido que este registrado
|
||||
if (usuario && !usuario.password)
|
||||
throw new BadRequestException('Este usuario no ha sido registrado.');
|
||||
this.validacionBasica(usuario, password);
|
||||
|
@ -50,7 +50,7 @@ export class JwtStrategyService extends PassportStrategy(Strategy) {
|
||||
// Valida que la cuena del operador este activa
|
||||
if (!operador.activo)
|
||||
throw new ForbiddenException('Esta cuenta esta desactivada.');
|
||||
// Validar que venga en el payload venga con un objeto Modulo en
|
||||
// Validar que venga en el payload con un objeto Modulo en
|
||||
// caso de ser tipo usuario operador y asignarlo al objeto user
|
||||
if (operador.tipoUsuario.id_tipo_usuario === 4) {
|
||||
if ('Modulo' in payload)
|
||||
|
@ -58,7 +58,6 @@ export class CarritoService {
|
||||
throw new ForbiddenException(
|
||||
'No puedes crear carritos para este módulo porque no pertenece a tu institución.',
|
||||
);
|
||||
|
||||
// Creo y guardo el registro
|
||||
return this.repository
|
||||
.save(
|
||||
@ -94,10 +93,7 @@ export class CarritoService {
|
||||
id_tipo_carrito: tipoCarrito.id_tipo_carrito,
|
||||
},
|
||||
})
|
||||
.then((infoCarrito) => {
|
||||
if (!infoCarrito) return null;
|
||||
return this.viewToCarrito(infoCarrito);
|
||||
});
|
||||
.then((infoCarrito) => this.viewToCarrito(infoCarrito));
|
||||
}
|
||||
|
||||
findFullInfoById(id_carrito: number) {
|
||||
@ -242,7 +238,7 @@ export class CarritoService {
|
||||
return this.repository.save(carrito);
|
||||
})
|
||||
.then((carrito) => {
|
||||
// Creo reporte de cambio de status del carrito
|
||||
// Creo reporte de desactivación del carrito
|
||||
if (attrs.activo === false)
|
||||
this.caritoMotivoService.create(
|
||||
carrito,
|
||||
@ -256,6 +252,7 @@ export class CarritoService {
|
||||
}
|
||||
|
||||
private viewToCarrito(infoCarrito: InformacionCarritoView) {
|
||||
if (!infoCarrito) return null;
|
||||
return this.repository.create({
|
||||
id_carrito: infoCarrito.id_carrito,
|
||||
modulo: {
|
||||
|
@ -23,19 +23,11 @@ export class EquipoMotivoService {
|
||||
|
||||
async create(
|
||||
equipo: Equipo,
|
||||
id_operador: number | Operador,
|
||||
id_status: number | Status,
|
||||
operador: Operador,
|
||||
status: Status,
|
||||
motivo: string,
|
||||
) {
|
||||
const ahora = moment();
|
||||
const operador =
|
||||
typeof id_operador === 'number'
|
||||
? await this.operadorService.findById(id_operador)
|
||||
: id_operador;
|
||||
const status =
|
||||
typeof id_status === 'number'
|
||||
? await this.statusService.findById(id_status)
|
||||
: id_status;
|
||||
|
||||
// Creo registro y lo guardo
|
||||
return this.repository.save(
|
||||
|
@ -159,37 +159,22 @@ export class EquipoService {
|
||||
.take(15)
|
||||
.skip((parseInt(filtros.pagina) - 1) * 15);
|
||||
|
||||
// Si se mando id modulo
|
||||
if (modulo) {
|
||||
// Valido que el módulo le pertenezca a la institución del
|
||||
// operador que solicita la información
|
||||
if (
|
||||
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
||||
operador.institucion.id_institucion != modulo.institucion.id_institucion
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No puedes acceder a esta información porque este módulo no pertenece a tu institución.',
|
||||
);
|
||||
if (operador.tipoUsuario.id_tipo_usuario > 2)
|
||||
query.andWhere('m.id_institucion = :id_institucion', {
|
||||
id_institucion: operador.institucion.id_institucion,
|
||||
});
|
||||
else if (institucion)
|
||||
query.andWhere('m.id_institucion = :id_institucion', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
});
|
||||
if (modulo)
|
||||
query.andWhere('m.id_modulo = :id_modulo', {
|
||||
id_modulo: modulo.id_modulo,
|
||||
});
|
||||
}
|
||||
// Si se mando id carrito
|
||||
if (carrito) {
|
||||
// Valido que el carrito le pertenezca a la institución del
|
||||
// operador que solicita la información
|
||||
if (
|
||||
operador.tipoUsuario.id_tipo_usuario > 2 &&
|
||||
operador.institucion.id_institucion !=
|
||||
carrito.modulo.institucion.id_institucion
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No puedes acceder a esta información porque este carrito no pertenece a tu institución.',
|
||||
);
|
||||
if (carrito)
|
||||
query.andWhere('c.id_carrito = :id_carrito', {
|
||||
id_carrito: carrito.id_carrito,
|
||||
});
|
||||
}
|
||||
if (filtros.carrito)
|
||||
query.andWhere('c.carrito LIKE :carrito', {
|
||||
carrito: `%${filtros.carrito}%`,
|
||||
@ -198,10 +183,6 @@ export class EquipoService {
|
||||
query.andWhere('e.equipo LIKE :equipo', {
|
||||
equipo: `%${filtros.equipo}%`,
|
||||
});
|
||||
if (institucion)
|
||||
query.andWhere('m.id_institucion = :id_institucion', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
});
|
||||
if (marca)
|
||||
query.andWhere('ma.id_marca = :id_marca', {
|
||||
id_marca: marca.id_marca,
|
||||
@ -248,13 +229,10 @@ export class EquipoService {
|
||||
},
|
||||
})
|
||||
.then((infoEquipo) => {
|
||||
if (!infoEquipo) {
|
||||
if (validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
if (!infoEquipo && validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return this.viewToEquipo(infoEquipo);
|
||||
});
|
||||
}
|
||||
@ -272,13 +250,10 @@ export class EquipoService {
|
||||
},
|
||||
})
|
||||
.then((infoEquipo) => {
|
||||
if (!infoEquipo) {
|
||||
if (validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
if (!infoEquipo && validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return this.viewToEquipo(infoEquipo);
|
||||
});
|
||||
}
|
||||
@ -423,26 +398,27 @@ export class EquipoService {
|
||||
return this.repository
|
||||
.createQueryBuilder()
|
||||
.update()
|
||||
.where('id_status != 3')
|
||||
.set({ prestado: false })
|
||||
.execute();
|
||||
}
|
||||
|
||||
async update(
|
||||
update(
|
||||
operador: Operador,
|
||||
attrs: Partial<Equipo>,
|
||||
id_carrito?: number,
|
||||
id_status?: number,
|
||||
motivo?: string,
|
||||
) {
|
||||
const carrito = id_carrito
|
||||
? await this.carritoService.findById(id_carrito)
|
||||
: null;
|
||||
const status = id_status
|
||||
? await this.statusService.findById(id_status)
|
||||
: null;
|
||||
|
||||
return this.findById(attrs.id_equipo)
|
||||
.then(async (equipo) => {
|
||||
const carrito = id_carrito
|
||||
? await this.carritoService.findById(id_carrito)
|
||||
: null;
|
||||
const status = id_status
|
||||
? await this.statusService.findById(id_status)
|
||||
: null;
|
||||
|
||||
// Valido que el equipo pertenezca a la institución del operador
|
||||
// que realiza esta acción
|
||||
if (
|
||||
@ -463,7 +439,7 @@ export class EquipoService {
|
||||
// El operador no puede cambiar el status de un equipo a uno de estos
|
||||
if (status.id_status === 2 || status.id_status === 3)
|
||||
throw new ConflictException(
|
||||
'No se puede cambiar manualmente el status de un equipo a este status.',
|
||||
'No se puede cambiar manualmente el status de un equipo a apartado o en uso.',
|
||||
);
|
||||
if (!motivo)
|
||||
throw new ConflictException(
|
||||
@ -550,6 +526,7 @@ export class EquipoService {
|
||||
}
|
||||
|
||||
private viewToEquipo(infoEquipo: InformacionEquipoView) {
|
||||
if (!infoEquipo) return null;
|
||||
return this.repository.create({
|
||||
id_equipo: infoEquipo.id_equipo,
|
||||
equipo: infoEquipo.equipo,
|
||||
|
Loading…
Reference in New Issue
Block a user