institucion tipo carrito casi terminado

This commit is contained in:
xXpuma99Xx
2022-04-18 16:55:19 -05:00
parent 104ba5c816
commit e60e04a197
18 changed files with 174 additions and 100 deletions
@@ -1,6 +1,6 @@
import { IsNumber, IsString } from 'class-validator';
export class ModuloCrearDto {
export class ModuloCreateDto {
@IsNumber()
id_institucion: number;
+2 -2
View File
@@ -1,7 +1,7 @@
import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common';
import { ModuloService } from './modulo.service';
import { IdInstitucionDto } from '../dto/id-institucion.dto';
import { ModuloCrearDto } from './dto/modulo-crear.dto';
import { ModuloCreateDto } from './dto/modulo-create.dto';
import { ModuloUpdateDto } from './dto/modulo-update.dto';
// import { Serealize } from '../interceptors/serialize.interceptor';
@Controller('modulo')
@@ -9,7 +9,7 @@ export class ModuloController {
constructor(private moduloService: ModuloService) {}
@Post()
create(@Body() body: ModuloCrearDto) {
create(@Body() body: ModuloCreateDto) {
return this.moduloService.create(body.id_institucion, body.modulo);
}
+11 -11
View File
@@ -11,41 +11,41 @@ import { InstitucionService } from '../institucion/institucion.service';
@Injectable()
export class ModuloService {
constructor(
@InjectRepository(Modulo) private moduloRepository: Repository<Modulo>,
@InjectRepository(Modulo) private repository: Repository<Modulo>,
private institucionService: InstitucionService,
) {}
async create(id_institucion: number, modulo: string) {
const institucion = await this.institucionService.findById(id_institucion);
const nuevoModulo = this.moduloRepository.create({
const nuevoModulo = this.repository.create({
institucion,
modulo,
});
return this.moduloRepository
return this.repository
.findOne({ modulo, institucion })
.then((existeModulo) => {
if (existeModulo)
throw new ConflictException(
'Ya existe un módulo con este nombre, intente con otro nombre.',
);
return this.moduloRepository.save(nuevoModulo);
return this.repository.save(nuevoModulo);
})
.then(() => ({ message: 'Se creo correctamente el módulo.' }));
.then((_) => ({ message: 'Se creo correctamente el módulo.' }));
}
findAll() {
return this.moduloRepository.find();
return this.repository.find();
}
findAllByIdInstitucion(id_institucion: number) {
return this.institucionService
.findById(id_institucion)
.then((institucion) => this.moduloRepository.find({ institucion }));
.then((institucion) => this.repository.find({ institucion }));
}
findById(id_modulo: number) {
return this.moduloRepository.findOne({ id_modulo }).then((modulo) => {
return this.repository.findOne({ id_modulo }).then((modulo) => {
if (!modulo) throw new NotFoundException('No existe este módulo.');
return modulo;
});
@@ -54,7 +54,7 @@ export class ModuloService {
async update(attrs: Partial<Modulo>) {
const modulo = await this.findById(attrs.id_modulo);
return this.moduloRepository
return this.repository
.findOne({ modulo: attrs.modulo, institucion: modulo.institucion })
.then((existeModulo) => {
if (existeModulo)
@@ -62,9 +62,9 @@ export class ModuloService {
'Ya existe un módulo con este nombre, intente con otro nombre.',
);
Object.assign(modulo, attrs);
return this.moduloRepository.save(modulo);
return this.repository.save(modulo);
})
.then(() => ({
.then((_) => ({
message: 'Se actualizo correctamente la información del módulo.',
}));
}