modulos
This commit is contained in:
@@ -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.',
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user