From 29bb3fe79bd459452aa1c6b76c078ec3bfa64bb9 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Sat, 16 Apr 2022 14:37:17 -0500 Subject: [PATCH] organizacion de institucion y modulo --- src/app.module.ts | 2 +- src/carrera/carrera.entity.ts | 2 +- src/institucion-dia/institucion-dia.entity.ts | 4 +-- .../institucion-infraccion.entity.ts | 2 +- .../{ => entity}/institucion.entity.ts | 26 +++++++------- src/institucion/institucion.module.ts | 2 +- src/institucion/institucion.service.ts | 2 +- src/modulo/entity/modulo.entity.ts | 16 ++++----- src/modulo/modulo.controller.ts | 14 ++++---- src/modulo/modulo.module.ts | 2 +- src/modulo/modulo.service.ts | 36 +++++++++---------- src/operador/operador.entity.ts | 2 +- src/usuario/usuario.entity.ts | 2 +- 13 files changed, 56 insertions(+), 56 deletions(-) rename src/institucion/{ => entity}/institucion.entity.ts (63%) diff --git a/src/app.module.ts b/src/app.module.ts index f77c8d1..70bb546 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -35,7 +35,7 @@ import { Equipo } from './equipo/equipo.entity'; import { EquipoTipoEntrada } from './equipo-tipo-entrada/equipo-tipo-entrada.entity'; import { HoraExcepcion } from './hora-excepcion/hora-excepcion.entity'; import { Infraccion } from './infraccion/infraccion.entity'; -import { Institucion } from './institucion/institucion.entity'; +import { Institucion } from './institucion/entity/institucion.entity'; import { InstitucionDia } from './institucion-dia/institucion-dia.entity'; import { InstitucionInfraccion } from './institucion-infraccion/institucion-infraccion.entity'; import { Modulo } from './modulo/entity/modulo.entity'; diff --git a/src/carrera/carrera.entity.ts b/src/carrera/carrera.entity.ts index 7abe1f7..ee5892d 100644 --- a/src/carrera/carrera.entity.ts +++ b/src/carrera/carrera.entity.ts @@ -6,7 +6,7 @@ import { ManyToOne, JoinColumn, } from 'typeorm'; -import { Institucion } from '../institucion/institucion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { Usuario } from '../usuario/usuario.entity'; import { CarreraPrograma } from '../carrera-programa/carrera-programa.entity'; diff --git a/src/institucion-dia/institucion-dia.entity.ts b/src/institucion-dia/institucion-dia.entity.ts index 1404fd5..83f1ea4 100644 --- a/src/institucion-dia/institucion-dia.entity.ts +++ b/src/institucion-dia/institucion-dia.entity.ts @@ -6,7 +6,7 @@ import { ManyToOne, JoinColumn, } from 'typeorm'; -import { Institucion } from '../institucion/institucion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { Dia } from '../dia/dia.entity'; import { HoraExcepcion } from '../hora-excepcion/hora-excepcion.entity'; @@ -24,7 +24,7 @@ export class InstitucionDia { @Column() activo: boolean; - @ManyToOne(() => Institucion, (institucion) => institucion.institucionesDias) + @ManyToOne(() => Institucion, (institucion) => institucion.institucionDias) @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; diff --git a/src/institucion-infraccion/institucion-infraccion.entity.ts b/src/institucion-infraccion/institucion-infraccion.entity.ts index 8a2faa3..9d9f263 100644 --- a/src/institucion-infraccion/institucion-infraccion.entity.ts +++ b/src/institucion-infraccion/institucion-infraccion.entity.ts @@ -7,7 +7,7 @@ import { JoinColumn, } from 'typeorm'; import { Infraccion } from '../infraccion/infraccion.entity'; -import { Institucion } from '../institucion/institucion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { Multa } from '../multa/multa.entity'; @Entity() diff --git a/src/institucion/institucion.entity.ts b/src/institucion/entity/institucion.entity.ts similarity index 63% rename from src/institucion/institucion.entity.ts rename to src/institucion/entity/institucion.entity.ts index 4f6d751..4081fe1 100644 --- a/src/institucion/institucion.entity.ts +++ b/src/institucion/entity/institucion.entity.ts @@ -1,16 +1,19 @@ -import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm'; -import { InstitucionDia } from '../institucion-dia/institucion-dia.entity'; -import { InstitucionInfraccion } from '../institucion-infraccion/institucion-infraccion.entity'; -import { Carrera } from '../carrera/carrera.entity'; -import { Modulo } from '../modulo/entity/modulo.entity'; -import { Operador } from '../operador/operador.entity'; -import { Usuario } from '../usuario/usuario.entity'; +import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; +import { Carrera } from '../../carrera/carrera.entity'; +import { InstitucionDia } from '../../institucion-dia/institucion-dia.entity'; +import { InstitucionInfraccion } from '../../institucion-infraccion/institucion-infraccion.entity'; +import { Modulo } from '../../modulo/entity/modulo.entity'; +import { Operador } from '../../operador/operador.entity'; +import { Usuario } from '../../usuario/usuario.entity'; @Entity() export class Institucion { @PrimaryGeneratedColumn() id_institucion: number; + @Column() + dias_multa_retraso: number; + @Column() institucion: string; @@ -23,14 +26,14 @@ export class Institucion { @Column() tiempo_recoger: number; - @Column() - dias_multa_retraso: number; + @OneToMany(() => Carrera, (carrera) => carrera.institucion) + carreras: Carrera[]; @OneToMany( () => InstitucionDia, (institucionDia) => institucionDia.institucion, ) - institucionesDias: InstitucionDia[]; + institucionDias: InstitucionDia[]; @OneToMany( () => InstitucionInfraccion, @@ -41,9 +44,6 @@ export class Institucion { @OneToMany(() => Modulo, (modulo) => modulo.institucion) modulos: Modulo[]; - @OneToMany(() => Carrera, (carrera) => carrera.institucion) - carreras: Carrera[]; - @OneToMany(() => Operador, (operador) => operador.institucion) operadores: Operador[]; diff --git a/src/institucion/institucion.module.ts b/src/institucion/institucion.module.ts index fde85d0..251b80a 100644 --- a/src/institucion/institucion.module.ts +++ b/src/institucion/institucion.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionController } from './institucion.controller'; -import { Institucion } from './institucion.entity'; import { InstitucionService } from './institucion.service'; +import { Institucion } from './entity/institucion.entity'; @Module({ imports: [TypeOrmModule.forFeature([Institucion])], diff --git a/src/institucion/institucion.service.ts b/src/institucion/institucion.service.ts index 6f780c0..841c82a 100644 --- a/src/institucion/institucion.service.ts +++ b/src/institucion/institucion.service.ts @@ -1,7 +1,7 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { Repository } from 'typeorm'; import { InjectRepository } from '@nestjs/typeorm'; -import { Institucion } from './institucion.entity'; +import { Institucion } from './entity/institucion.entity'; @Injectable() export class InstitucionService { diff --git a/src/modulo/entity/modulo.entity.ts b/src/modulo/entity/modulo.entity.ts index 4a6cf31..5f8b142 100644 --- a/src/modulo/entity/modulo.entity.ts +++ b/src/modulo/entity/modulo.entity.ts @@ -1,25 +1,25 @@ import { - Entity, Column, - PrimaryGeneratedColumn, - OneToMany, - ManyToOne, + Entity, JoinColumn, + ManyToOne, + OneToMany, + PrimaryGeneratedColumn, } from 'typeorm'; import { Carrito } from '../../carrito/carrito.entity'; -import { Institucion } from '../../institucion/institucion.entity'; +import { Institucion } from '../../institucion/entity/institucion.entity'; @Entity() export class Modulo { @PrimaryGeneratedColumn() id_modulo: number; - @Column({ type: String, nullable: false, length: 50 }) - modulo: string; - @Column({ type: Boolean, nullable: false, default: false }) activo: boolean; + @Column({ type: String, nullable: false, length: 50 }) + modulo: string; + @ManyToOne(() => Institucion, (institucion) => institucion.modulos, { eager: true, }) diff --git a/src/modulo/modulo.controller.ts b/src/modulo/modulo.controller.ts index 5a318a9..f2e0227 100644 --- a/src/modulo/modulo.controller.ts +++ b/src/modulo/modulo.controller.ts @@ -8,23 +8,23 @@ import { ModuloUpdateDto } from './dto/modulo-update.dto'; export class ModuloController { constructor(private moduloService: ModuloService) {} - @Get('') + @Post() + create(@Body() body: ModuloCrearDto) { + return this.moduloService.create(body.id_institucion, body.modulo); + } + + @Get() get() { return this.moduloService.findAll(); } @Get('modulos') - modulosInstitucion(@Query() query: IdInstitucionDto) { + modulos(@Query() query: IdInstitucionDto) { return this.moduloService.findAllByIdInstitucion( Number(query.id_institucion), ); } - @Post() - create(@Body() body: ModuloCrearDto) { - return this.moduloService.create(body.id_institucion, body.modulo); - } - @Put() update(@Body() body: ModuloUpdateDto) { return this.moduloService.update(body); diff --git a/src/modulo/modulo.module.ts b/src/modulo/modulo.module.ts index cd1fbfb..868ee0f 100644 --- a/src/modulo/modulo.module.ts +++ b/src/modulo/modulo.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ModuloController } from './modulo.controller'; -import { Modulo } from './entity/modulo.entity'; import { ModuloService } from './modulo.service'; +import { Modulo } from './entity/modulo.entity'; import { InstitucionModule } from '../institucion/institucion.module'; @Module({ diff --git a/src/modulo/modulo.service.ts b/src/modulo/modulo.service.ts index 66fd282..e742862 100644 --- a/src/modulo/modulo.service.ts +++ b/src/modulo/modulo.service.ts @@ -5,8 +5,8 @@ import { } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { Modulo } from './entity/modulo.entity'; import { InstitucionService } from '../institucion/institucion.service'; +import { Modulo } from './entity/modulo.entity'; @Injectable() export class ModuloService { @@ -15,23 +15,6 @@ export class ModuloService { private institucionService: InstitucionService, ) {} - findById(id_modulo: number) { - return this.moduloRepository.findOne({ id_modulo }).then((modulo) => { - if (!modulo) throw new NotFoundException('No existe este módulo.'); - return modulo; - }); - } - - findAll() { - return this.moduloRepository.find(); - } - - findAllByIdInstitucion(id_institucion: number) { - return this.institucionService - .findById(id_institucion) - .then((institucion) => this.moduloRepository.find({ institucion })); - } - async create(id_institucion: number, modulo: string) { const institucion = await this.institucionService.findById(id_institucion); const nuevoModulo = this.moduloRepository.create({ @@ -51,6 +34,23 @@ export class ModuloService { .then(() => ({ message: 'Se creo correctamente el módulo.' })); } + findAll() { + return this.moduloRepository.find(); + } + + findAllByIdInstitucion(id_institucion: number) { + return this.institucionService + .findById(id_institucion) + .then((institucion) => this.moduloRepository.find({ institucion })); + } + + findById(id_modulo: number) { + return this.moduloRepository.findOne({ id_modulo }).then((modulo) => { + if (!modulo) throw new NotFoundException('No existe este módulo.'); + return modulo; + }); + } + async update(attrs: Partial) { const modulo = await this.findById(attrs.id_modulo); diff --git a/src/operador/operador.entity.ts b/src/operador/operador.entity.ts index 8193f67..205d64e 100644 --- a/src/operador/operador.entity.ts +++ b/src/operador/operador.entity.ts @@ -6,7 +6,7 @@ import { ManyToOne, JoinColumn, } from 'typeorm'; -import { Institucion } from '../institucion/institucion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { Motivo } from '../motivo/motivo.entity'; import { Prestamo } from '../prestamo/prestamo.entity'; import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity'; diff --git a/src/usuario/usuario.entity.ts b/src/usuario/usuario.entity.ts index 42956c1..4a6c549 100644 --- a/src/usuario/usuario.entity.ts +++ b/src/usuario/usuario.entity.ts @@ -7,7 +7,7 @@ import { JoinColumn, } from 'typeorm'; import { Carrera } from '../carrera/carrera.entity'; -import { Institucion } from '../institucion/institucion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { Prestamo } from '../prestamo/prestamo.entity'; import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity';