diff --git a/src/app.module.ts b/src/app.module.ts index 7cabe39..d707cd9 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -15,7 +15,9 @@ import { InstitucionModule } from './institucion/institucion.module'; import { InstitucionCarreraModule } from './institucion-carrera/institucion-carrera.module'; import { InstitucionDiaModule } from './institucion-dia/institucion-dia.module'; import { InstitucionInfraccionModule } from './institucion-infraccion/institucion-infraccion.module'; +import { InstitucionProgramaModule } from './institucion-programa/institucion-programa.module'; import { InstitucionTipoCarritoModule } from './institucion-tipo-carrito/institucion-tipo-carrito.module'; +import { InstitucionTipoEntradaModule } from './institucion-tipo-entrada/institucion-tipo-entrada.module'; import { ModuloModule } from './modulo/modulo.module'; import { MotivoModule } from './motivo/motivo.module'; import { MultaModule } from './multa/multa.module'; @@ -41,7 +43,9 @@ import { Institucion } from './institucion/entity/institucion.entity'; import { InstitucionCarrera } from './institucion-carrera/entity/institucion-carrera.entity'; import { InstitucionDia } from './institucion-dia/entity/institucion-dia.entity'; import { InstitucionInfraccion } from './institucion-infraccion/entity/institucion-infraccion.entity'; +import { InstitucionPrograma } from './institucion-programa/entity/institucion-programa.entity'; import { InstitucionTipoCarrito } from './institucion-tipo-carrito/entity/institucion-tipo-carrito.entity'; +import { InstitucionTipoEntrada } from './institucion-tipo-entrada/entity/institucion-tipo-entrada.entity'; import { Modulo } from './modulo/entity/modulo.entity'; import { Motivo } from './motivo/entity/motivo.entity'; import { Multa } from './multa/entity/multa.entity'; @@ -83,7 +87,9 @@ import { SoapClientModule } from './soap-client/soap-client.module'; InstitucionCarrera, InstitucionDia, InstitucionInfraccion, + InstitucionPrograma, InstitucionTipoCarrito, + InstitucionTipoEntrada, Modulo, Motivo, Multa, @@ -112,7 +118,9 @@ import { SoapClientModule } from './soap-client/soap-client.module'; InstitucionCarreraModule, InstitucionDiaModule, InstitucionInfraccionModule, + InstitucionProgramaModule, InstitucionTipoCarritoModule, + InstitucionTipoEntradaModule, ModuloModule, MotivoModule, MultaModule, diff --git a/src/institucion-dia/entity/institucion-dia.entity.ts b/src/institucion-dia/entity/institucion-dia.entity.ts index 92b9b8c..5185464 100644 --- a/src/institucion-dia/entity/institucion-dia.entity.ts +++ b/src/institucion-dia/entity/institucion-dia.entity.ts @@ -28,7 +28,7 @@ export class InstitucionDia { @JoinColumn({ name: 'id_dia' }) dia: Dia; - @ManyToOne(() => Institucion, (institucion) => institucion.institucionDias) + @ManyToOne(() => Institucion, (institucion) => institucion.dias) @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; diff --git a/src/institucion-infraccion/entity/institucion-infraccion.entity.ts b/src/institucion-infraccion/entity/institucion-infraccion.entity.ts index 82efa0d..d981282 100644 --- a/src/institucion-infraccion/entity/institucion-infraccion.entity.ts +++ b/src/institucion-infraccion/entity/institucion-infraccion.entity.ts @@ -26,10 +26,7 @@ export class InstitucionInfraccion { @JoinColumn({ name: 'id_infraccion' }) infraccion: Infraccion; - @ManyToOne( - () => Institucion, - (institucion) => institucion.institucionInfracciones, - ) + @ManyToOne(() => Institucion, (institucion) => institucion.infracciones) @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; diff --git a/src/institucion-programa/entity/institucion-programa.entity.ts b/src/institucion-programa/entity/institucion-programa.entity.ts new file mode 100644 index 0000000..3b65ff5 --- /dev/null +++ b/src/institucion-programa/entity/institucion-programa.entity.ts @@ -0,0 +1,26 @@ +import { + Column, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Institucion } from '../../institucion/entity/institucion.entity'; +import { Programa } from '../../programa/entity/programa.entity'; + +@Entity() +export class InstitucionPrograma { + @PrimaryGeneratedColumn() + id_institucion_carrera: number; + + @Column({ type: Boolean, nullable: false, default: false }) + mostrar: boolean; + + @ManyToOne(() => Programa, (programa) => programa.instituciones) + @JoinColumn({ name: 'id_programa' }) + programa: Programa; + + @ManyToOne(() => Institucion, (institucion) => institucion.programas) + @JoinColumn({ name: 'id_institucion' }) + institucion: Institucion; +} diff --git a/src/institucion-programa/institucion-programa.controller.spec.ts b/src/institucion-programa/institucion-programa.controller.spec.ts new file mode 100644 index 0000000..9da0f8b --- /dev/null +++ b/src/institucion-programa/institucion-programa.controller.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { InstitucionProgramaController } from './institucion-programa.controller'; + +describe('InstitucionProgramaController', () => { + let controller: InstitucionProgramaController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [InstitucionProgramaController], + }).compile(); + + controller = module.get(InstitucionProgramaController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/src/institucion-programa/institucion-programa.controller.ts b/src/institucion-programa/institucion-programa.controller.ts new file mode 100644 index 0000000..5351935 --- /dev/null +++ b/src/institucion-programa/institucion-programa.controller.ts @@ -0,0 +1,4 @@ +import { Controller } from '@nestjs/common'; + +@Controller('institucion-programa') +export class InstitucionProgramaController {} diff --git a/src/institucion-programa/institucion-programa.module.ts b/src/institucion-programa/institucion-programa.module.ts new file mode 100644 index 0000000..d5d1e9a --- /dev/null +++ b/src/institucion-programa/institucion-programa.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { InstitucionProgramaController } from './institucion-programa.controller'; +import { InstitucionProgramaService } from './institucion-programa.service'; +import { InstitucionPrograma } from './entity/institucion-programa.entity'; + +@Module({ + imports: [TypeOrmModule.forFeature([InstitucionPrograma])], + controllers: [InstitucionProgramaController], + providers: [InstitucionProgramaService], +}) +export class InstitucionProgramaModule {} diff --git a/src/institucion-programa/institucion-programa.service.spec.ts b/src/institucion-programa/institucion-programa.service.spec.ts new file mode 100644 index 0000000..2943ef1 --- /dev/null +++ b/src/institucion-programa/institucion-programa.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { InstitucionProgramaService } from './institucion-programa.service'; + +describe('InstitucionProgramaService', () => { + let service: InstitucionProgramaService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [InstitucionProgramaService], + }).compile(); + + service = module.get(InstitucionProgramaService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/institucion-programa/institucion-programa.service.ts b/src/institucion-programa/institucion-programa.service.ts new file mode 100644 index 0000000..c192d22 --- /dev/null +++ b/src/institucion-programa/institucion-programa.service.ts @@ -0,0 +1,12 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; +import { InstitucionPrograma } from './entity/institucion-programa.entity'; + +@Injectable() +export class InstitucionProgramaService { + constructor( + @InjectRepository(InstitucionPrograma) + private repository: Repository, + ) {} +} diff --git a/src/institucion-tipo-carrito/entity/institucion-tipo-carrito.entity.ts b/src/institucion-tipo-carrito/entity/institucion-tipo-carrito.entity.ts index 2b9f35a..a0969ee 100644 --- a/src/institucion-tipo-carrito/entity/institucion-tipo-carrito.entity.ts +++ b/src/institucion-tipo-carrito/entity/institucion-tipo-carrito.entity.ts @@ -16,10 +16,7 @@ export class InstitucionTipoCarrito { @Column({ type: Boolean, nullable: false, default: false }) mostrar: boolean; - @ManyToOne( - () => Institucion, - (institucion) => institucion.institucionTiposCarritos, - ) + @ManyToOne(() => Institucion, (institucion) => institucion.tiposCarrito) @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; diff --git a/src/institucion-tipo-entrada/entity/institucion-tipo-entrada.entity.ts b/src/institucion-tipo-entrada/entity/institucion-tipo-entrada.entity.ts new file mode 100644 index 0000000..c6bcbc8 --- /dev/null +++ b/src/institucion-tipo-entrada/entity/institucion-tipo-entrada.entity.ts @@ -0,0 +1,26 @@ +import { + Column, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Institucion } from '../../institucion/entity/institucion.entity'; +import { TipoEntrada } from '../../tipo-entrada/entity/tipo-entrada.entity'; + +@Entity() +export class InstitucionTipoEntrada { + @PrimaryGeneratedColumn() + id_institucion_carrera: number; + + @Column({ type: Boolean, nullable: false, default: false }) + mostrar: boolean; + + @ManyToOne(() => TipoEntrada, (tipoEntrada) => tipoEntrada.instituciones) + @JoinColumn({ name: 'id_tipo_entrada' }) + tipoEntrada: TipoEntrada; + + @ManyToOne(() => Institucion, (institucion) => institucion.tiposEntrada) + @JoinColumn({ name: 'id_institucion' }) + institucion: Institucion; +} diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.spec.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.spec.ts new file mode 100644 index 0000000..7d91366 --- /dev/null +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { InstitucionTipoEntradaController } from './institucion-tipo-entrada.controller'; + +describe('InstitucionTipoEntradaController', () => { + let controller: InstitucionTipoEntradaController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [InstitucionTipoEntradaController], + }).compile(); + + controller = module.get(InstitucionTipoEntradaController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts new file mode 100644 index 0000000..05ecbc0 --- /dev/null +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.controller.ts @@ -0,0 +1,4 @@ +import { Controller } from '@nestjs/common'; + +@Controller('institucion-tipo-entrada') +export class InstitucionTipoEntradaController {} diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts new file mode 100644 index 0000000..2b638fa --- /dev/null +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { InstitucionTipoEntradaController } from './institucion-tipo-entrada.controller'; +import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.service'; +import { InstitucionTipoEntrada } from './entity/institucion-tipo-entrada.entity'; + +@Module({ + imports: [TypeOrmModule.forFeature([InstitucionTipoEntrada])], + controllers: [InstitucionTipoEntradaController], + providers: [InstitucionTipoEntradaService], +}) +export class InstitucionTipoEntradaModule {} diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.spec.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.spec.ts new file mode 100644 index 0000000..e9fef6a --- /dev/null +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { InstitucionTipoEntradaService } from './institucion-tipo-entrada.service'; + +describe('InstitucionTipoEntradaService', () => { + let service: InstitucionTipoEntradaService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [InstitucionTipoEntradaService], + }).compile(); + + service = module.get(InstitucionTipoEntradaService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts new file mode 100644 index 0000000..2293fa4 --- /dev/null +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts @@ -0,0 +1,12 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; +import { InstitucionTipoEntrada } from './entity/institucion-tipo-entrada.entity'; + +@Injectable() +export class InstitucionTipoEntradaService { + constructor( + @InjectRepository(InstitucionTipoEntrada) + private repository: Repository, + ) {} +} diff --git a/src/institucion/entity/institucion.entity.ts b/src/institucion/entity/institucion.entity.ts index 17ca5dd..518417f 100644 --- a/src/institucion/entity/institucion.entity.ts +++ b/src/institucion/entity/institucion.entity.ts @@ -2,7 +2,9 @@ import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { InstitucionCarrera } from '../../institucion-carrera/entity/institucion-carrera.entity'; import { InstitucionDia } from '../../institucion-dia/entity/institucion-dia.entity'; import { InstitucionInfraccion } from '../../institucion-infraccion/entity/institucion-infraccion.entity'; +import { InstitucionPrograma } from '../../institucion-programa/entity/institucion-programa.entity'; import { InstitucionTipoCarrito } from '../../institucion-tipo-carrito/entity/institucion-tipo-carrito.entity'; +import { InstitucionTipoEntrada } from '../../institucion-tipo-entrada/entity/institucion-tipo-entrada.entity'; import { Modulo } from '../../modulo/entity/modulo.entity'; import { Operador } from '../../operador/entity/operador.entity'; import { Usuario } from '../../usuario/entity/usuario.entity'; @@ -12,7 +14,7 @@ export class Institucion { @PrimaryGeneratedColumn() id_institucion: number; - @Column({ type: Boolean, nullable: true, default:false }) + @Column({ type: Boolean, nullable: true, default: false }) activo: boolean; @Column({ type: String, nullable: true, length: 4 }) @@ -52,19 +54,31 @@ export class Institucion { () => InstitucionDia, (institucionDia) => institucionDia.institucion, ) - institucionDias: InstitucionDia[]; + dias: InstitucionDia[]; @OneToMany( () => InstitucionInfraccion, (institucionInfraccion) => institucionInfraccion.institucion, ) - institucionInfracciones: InstitucionInfraccion[]; + infracciones: InstitucionInfraccion[]; + + @OneToMany( + () => InstitucionPrograma, + (institucionPrograma) => institucionPrograma.institucion, + ) + programas: InstitucionPrograma[]; @OneToMany( () => InstitucionTipoCarrito, (institucionTipoCarrito) => institucionTipoCarrito.institucion, ) - institucionTiposCarritos: InstitucionTipoCarrito[]; + tiposCarrito: InstitucionTipoCarrito[]; + + @OneToMany( + () => InstitucionTipoEntrada, + (institucionTipoEntrada) => institucionTipoEntrada.institucion, + ) + tiposEntrada: InstitucionTipoEntrada[]; @OneToMany(() => Modulo, (modulo) => modulo.institucion) modulos: Modulo[]; diff --git a/src/programa/entity/programa.entity.ts b/src/programa/entity/programa.entity.ts index 8bbb94a..8aacf6b 100644 --- a/src/programa/entity/programa.entity.ts +++ b/src/programa/entity/programa.entity.ts @@ -1,6 +1,7 @@ import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { CarreraPrograma } from '../../carrera-programa/entity/carrera-programa.entity'; import { Equipo } from '../../equipo/entity/equipo.entity'; +import { InstitucionPrograma } from '../../institucion-programa/entity/institucion-programa.entity'; @Entity() export class Programa { @@ -18,4 +19,10 @@ export class Programa { @OneToMany(() => Equipo, (equipo) => equipo.programa) equipos: Equipo[]; + + @OneToMany( + () => InstitucionPrograma, + (institucionPrograma) => institucionPrograma.programa, + ) + instituciones: InstitucionPrograma[]; } diff --git a/src/tipo-entrada/entity/tipo-entrada.entity.ts b/src/tipo-entrada/entity/tipo-entrada.entity.ts index 305aa5a..8d00067 100644 --- a/src/tipo-entrada/entity/tipo-entrada.entity.ts +++ b/src/tipo-entrada/entity/tipo-entrada.entity.ts @@ -1,5 +1,6 @@ import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { EquipoTipoEntrada } from '../../equipo/entity/equipo-tipo-entrada.entity'; +import { InstitucionTipoEntrada } from '../../institucion-tipo-entrada/entity/institucion-tipo-entrada.entity'; @Entity() export class TipoEntrada { @@ -14,4 +15,10 @@ export class TipoEntrada { (equipoTipoEntrada) => equipoTipoEntrada.tipoEntrada, ) equiposTipoEntrada: EquipoTipoEntrada[]; + + @OneToMany( + () => InstitucionTipoEntrada, + (institucionTipoEntrada) => institucionTipoEntrada.tipoEntrada, + ) + instituciones: InstitucionTipoEntrada[]; }