listo modulo motivo

This commit is contained in:
2022-12-05 00:09:59 -06:00
parent 3e1dab0a6f
commit 90f062692e
27 changed files with 295 additions and 32 deletions
+22 -1
View File
@@ -1,5 +1,7 @@
import {
ConflictException,
forwardRef,
Inject,
Injectable,
NotFoundException,
} from '@nestjs/common';
@@ -11,6 +13,7 @@ import { InformacionModuloView } from './entity/views/informacion-modulo.view';
import { MinInformacionModuloView } from './entity/views/min-informacion-modulo.view';
import { Operador } from '../operador/entity/operador.entity';
import { InstitucionService } from '../institucion/institucion.service';
import { ModuloMotivoService } from '../modulo-motivo/modulo-motivo.service';
@Injectable()
export class ModuloService {
@@ -20,6 +23,8 @@ export class ModuloService {
private informacionModuloView: Repository<InformacionModuloView>,
@InjectRepository(MinInformacionModuloView)
private minInformacionModuloView: Repository<MinInformacionModuloView>,
@Inject(forwardRef(() => ModuloMotivoService))
private moduloMotivoService: ModuloMotivoService,
private institucionService: InstitucionService,
) {}
@@ -125,7 +130,15 @@ export class ModuloService {
});
}
update(admin: Operador, attrs: Partial<Modulo>) {
update(
admin: Operador,
attrs: Partial<Modulo>,
motivo?: string,
numero_alumnos?: number,
fecha_creacion?: string,
) {
if (!motivo || !numero_alumnos || !fecha_creacion)
throw new ConflictException('No se mandó toda la información necesaria.');
return this.findById(attrs.id_modulo)
.then(async (modulo) => {
// Valido que el modulo enviado sea del admin que realiza esta acción
@@ -140,6 +153,14 @@ export class ModuloService {
await this.findModulo(modulo.institucion, attrs.modulo, true);
// Asigno valores enviados al objeto
Object.assign(modulo, attrs);
if (motivo)
await this.moduloMotivoService.create(
admin,
modulo,
motivo,
numero_alumnos,
fecha_creacion,
);
// Guardar
return this.repository.save(modulo);
})