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