listo institución infracción

This commit is contained in:
xXpuma99Xx 2022-10-24 12:04:03 -05:00
parent 1363c13676
commit f3f5fe7d8a

View File

@ -22,19 +22,22 @@ export class InstitucionInfraccionService {
) {} ) {}
create(infraccion: string) { create(infraccion: string) {
// Busco una infracción con ese nombre
return this.infraccionRepository return this.infraccionRepository
.findOne({ where: { infraccion } }) .findOne({ where: { infraccion } })
.then((existeInfraccion) => { .then((existeInfraccion) => {
// Saco error si existe
if (existeInfraccion) if (existeInfraccion)
throw new ConflictException('Ya existe esta infracción.'); throw new ConflictException('Ya existe esta infracción.');
// Creo y guardo el registro
return this.infraccionRepository.save( return this.infraccionRepository.save(
this.infraccionRepository.create({ infraccion }), this.infraccionRepository.create({ infraccion }),
); );
}) })
.then(async (infraccion) => { .then(async (infraccion) => {
const instituciones = const instituciones = await this.institucionService.findAll();
await this.institucionService.findAll();
// Le asigno la nueva infracción a todas las instituciones
for (let i = 0; i < instituciones.length; i++) for (let i = 0; i < instituciones.length; i++)
await this.institucionInfraccionRepository.save( await this.institucionInfraccionRepository.save(
this.institucionInfraccionRepository.create({ this.institucionInfraccionRepository.create({
@ -102,6 +105,8 @@ export class InstitucionInfraccionService {
update(admin: Operador, attrs: Partial<InstitucionInfraccion>) { update(admin: Operador, attrs: Partial<InstitucionInfraccion>) {
return this.findById(attrs.id_institucion_infraccion) return this.findById(attrs.id_institucion_infraccion)
.then((institucionInfraccion) => { .then((institucionInfraccion) => {
// Valido que la institucionInfraccion le pertenezca al operador que
// realiza esta acción
if ( if (
admin.institucion.id_institucion != admin.institucion.id_institucion !=
institucionInfraccion.institucion.id_institucion institucionInfraccion.institucion.id_institucion
@ -109,11 +114,11 @@ export class InstitucionInfraccionService {
throw new ConflictException( throw new ConflictException(
'No puedes actualizar la información de esta infraccion porque no le pertenece a tu institución.', 'No puedes actualizar la información de esta infraccion porque no le pertenece a tu institución.',
); );
// Asigno valores enviados al objeto
Object.assign(institucionInfraccion, attrs); Object.assign(institucionInfraccion, attrs);
// Guardar
return this.institucionInfraccionRepository.save(institucionInfraccion); return this.institucionInfraccionRepository.save(institucionInfraccion);
}) })
.then((_) => ({ .then((_) => ({ message: 'Se guardaron los cambios correctamente.' }));
message: 'Se guardaron los cambios correctamente.',
}));
} }
} }