This commit is contained in:
xXpuma99Xx
2022-04-16 13:05:27 -05:00
parent 9323a1dad4
commit ff0c37d0ec
10 changed files with 67 additions and 17 deletions
+31 -3
View File
@@ -1,7 +1,11 @@
import { ConflictException, Injectable } from '@nestjs/common';
import {
ConflictException,
Injectable,
NotFoundException,
} from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Modulo } from './modulo.entity';
import { Modulo } from './entity/modulo.entity';
import { InstitucionService } from '../institucion/institucion.service';
@Injectable()
@@ -11,7 +15,14 @@ export class ModuloService {
private institucionService: InstitucionService,
) {}
async findAllByIdInstitucion(id_institucion: number) {
findById(id_modulo: number) {
return this.moduloRepository.findOne({ id_modulo }).then((modulo) => {
if (!modulo) throw new NotFoundException('No existe este módulo.');
return modulo;
});
}
findAllByIdInstitucion(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.then((institucion) => this.moduloRepository.find({ institucion }));
@@ -35,4 +46,21 @@ export class ModuloService {
})
.then(() => ({ message: 'Se creo correctamente el módulo.' }));
}
async update(attrs: Partial<Modulo>) {
const modulo = await this.findById(attrs.id_modulo);
return this.moduloRepository
.findOne({ modulo: attrs.modulo, institucion: modulo.institucion })
.then((existeModulo) => {
if (existeModulo)
throw new ConflictException(
'Ya existe un módulo con este nombre, intente con otro nombre.',
);
Object.assign(modulo, attrs);
return this.moduloRepository.save(modulo).then(() => ({
message: 'Se actualizo correctamente la información del módulo.',
}));
});
}
}