nuevas tablas por nuevos requisitos

This commit is contained in:
lemuel 2022-03-31 14:33:11 -06:00
parent 4eb8c1336e
commit 631bfa6c11
24 changed files with 319 additions and 1 deletions

View File

@ -16,14 +16,22 @@ import { MotivoModule } from './motivo/motivo.module';
import { MultaModule } from './multa/multa.module'; import { MultaModule } from './multa/multa.module';
import { OperadorModule } from './operador/operador.module'; import { OperadorModule } from './operador/operador.module';
import { PrestamoModule } from './prestamo/prestamo.module'; import { PrestamoModule } from './prestamo/prestamo.module';
import { ProgramaModule } from './programa/programa.module';
import { StatusModule } from './status/status.module'; import { StatusModule } from './status/status.module';
import { TipoCarritoModule } from './tipo-carrito/tipo-carrito.module'; import { TipoCarritoModule } from './tipo-carrito/tipo-carrito.module';
import { TipoUsuarioModule } from './tipo-usuario/tipo-usuario.module'; import { TipoUsuarioModule } from './tipo-usuario/tipo-usuario.module';
import { UsuarioModule } from './usuario/usuario.module'; import { UsuarioModule } from './usuario/usuario.module';
import { CarreraModule } from './carrera/carrera.module';
import { TipoEntradaModule } from './tipo-entrada/tipo-entrada.module';
import { EquipoTipoEntradaModule } from './equipo-tipo-entrada/equipo-tipo-entrada.module';
import { CarreraProgramaModule } from './carrera-programa/carrera-programa.module';
import { Carrera } from './carrera/carrera.entity';
import { CarreraPrograma } from './carrera-programa/carrera-programa.entity';
import { Carrito } from './carrito/carrito.entity'; import { Carrito } from './carrito/carrito.entity';
import { Dia } from './dia/dia.entity'; import { Dia } from './dia/dia.entity';
import { Equipo } from './equipo/equipo.entity'; 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 { HoraExcepcion } from './hora-excepcion/hora-excepcion.entity';
import { Infraccion } from './infraccion/infraccion.entity'; import { Infraccion } from './infraccion/infraccion.entity';
import { Institucion } from './institucion/institucion.entity'; import { Institucion } from './institucion/institucion.entity';
@ -34,8 +42,10 @@ import { Motivo } from './motivo/motivo.entity';
import { Multa } from './multa/multa.entity'; import { Multa } from './multa/multa.entity';
import { Operador } from './operador/operador.entity'; import { Operador } from './operador/operador.entity';
import { Prestamo } from './prestamo/prestamo.entity'; import { Prestamo } from './prestamo/prestamo.entity';
import { Programa } from './programa/programa.entity';
import { Status } from './status/status.entity'; import { Status } from './status/status.entity';
import { TipoCarrito } from './tipo-carrito/tipo-carrito.entity'; import { TipoCarrito } from './tipo-carrito/tipo-carrito.entity';
import { TipoEntrada } from './tipo-entrada/tipo-entrada.entity';
import { TipoUsuario } from './tipo-usuario/tipo-usuario.entity'; import { TipoUsuario } from './tipo-usuario/tipo-usuario.entity';
import { Usuario } from './usuario/usuario.entity'; import { Usuario } from './usuario/usuario.entity';
@ -53,9 +63,12 @@ import { Usuario } from './usuario/usuario.entity';
password: config.get<string>('PASSWORD_DB'), password: config.get<string>('PASSWORD_DB'),
synchronize: true, synchronize: true,
entities: [ entities: [
Carrera,
CarreraPrograma,
Carrito, Carrito,
Dia, Dia,
Equipo, Equipo,
EquipoTipoEntrada,
HoraExcepcion, HoraExcepcion,
Infraccion, Infraccion,
Institucion, Institucion,
@ -66,17 +79,22 @@ import { Usuario } from './usuario/usuario.entity';
Multa, Multa,
Operador, Operador,
Prestamo, Prestamo,
Programa,
Status, Status,
TipoCarrito, TipoCarrito,
TipoEntrada,
TipoUsuario, TipoUsuario,
Usuario, Usuario,
], ],
}; };
}, },
}), }),
CarreraModule,
CarreraProgramaModule,
CarritoModule, CarritoModule,
DiaModule, DiaModule,
EquipoModule, EquipoModule,
EquipoTipoEntradaModule,
HoraExcepcionModule, HoraExcepcionModule,
InfraccionModule, InfraccionModule,
InstitucionModule, InstitucionModule,
@ -87,8 +105,10 @@ import { Usuario } from './usuario/usuario.entity';
MultaModule, MultaModule,
OperadorModule, OperadorModule,
PrestamoModule, PrestamoModule,
ProgramaModule,
StatusModule, StatusModule,
TipoCarritoModule, TipoCarritoModule,
TipoEntradaModule,
TipoUsuarioModule, TipoUsuarioModule,
UsuarioModule, UsuarioModule,
], ],

View File

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { CarreraProgramaController } from './carrera-programa.controller';
describe('CarreraProgramaController', () => {
let controller: CarreraProgramaController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [CarreraProgramaController],
}).compile();
controller = module.get<CarreraProgramaController>(CarreraProgramaController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('carrera-programa')
export class CarreraProgramaController {}

View File

@ -0,0 +1,23 @@
import {
Entity,
Column,
PrimaryGeneratedColumn,
ManyToOne,
JoinColumn,
} from 'typeorm';
import { Carrera } from '../carrera/carrera.entity';
import { Programa } from '../programa/programa.entity';
@Entity()
export class CarreraPrograma {
@PrimaryGeneratedColumn()
id_carrera_programa: number;
@ManyToOne(() => Programa, (programa) => programa.carrerasPrograma)
@JoinColumn({ name: 'id_programa' })
programa: Programa;
@ManyToOne(() => Carrera, (carrera) => carrera.carreraProgramas)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
}

View File

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { CarreraProgramaController } from './carrera-programa.controller';
import { CarreraPrograma } from './carrera-programa.entity';
@Module({
imports: [TypeOrmModule.forFeature([CarreraPrograma])],
controllers: [CarreraProgramaController],
})
export class CarreraProgramaModule {}

View File

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { CarreraController } from './carrera.controller';
describe('CarreraController', () => {
let controller: CarreraController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [CarreraController],
}).compile();
controller = module.get<CarreraController>(CarreraController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('carrera')
export class CarreraController {}

View File

@ -0,0 +1,33 @@
import {
Entity,
Column,
PrimaryGeneratedColumn,
OneToMany,
ManyToOne,
JoinColumn,
} from 'typeorm';
import { Institucion } from '../institucion/institucion.entity';
import { Usuario } from '../usuario/usuario.entity';
import { CarreraPrograma } from '../carrera-programa/carrera-programa.entity';
@Entity()
export class Carrera {
@PrimaryGeneratedColumn()
id_carrera: number;
@Column()
carrera: string;
@ManyToOne(() => Institucion, (institucion) => institucion.carreras)
@JoinColumn({ name: 'id_institucion' })
institucion: Institucion;
@OneToMany(() => Usuario, (usuario) => usuario.carrera)
usuarios: Usuario[];
@OneToMany(
() => CarreraPrograma,
(carreraPrograma) => carreraPrograma.carrera,
)
carreraProgramas: CarreraPrograma[];
}

View File

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { CarreraController } from './carrera.controller';
import { Carrera } from './carrera.entity';
@Module({
imports: [TypeOrmModule.forFeature([Carrera])],
controllers: [CarreraController],
})
export class CarreraModule {}

View File

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { EquipoTipoEntradaController } from './equipo-tipo-entrada.controller';
describe('EquipoTipoEntradaController', () => {
let controller: EquipoTipoEntradaController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [EquipoTipoEntradaController],
}).compile();
controller = module.get<EquipoTipoEntradaController>(EquipoTipoEntradaController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('equipo-tipo-entrada')
export class EquipoTipoEntradaController {}

View File

@ -0,0 +1,23 @@
import {
Entity,
Column,
PrimaryGeneratedColumn,
ManyToOne,
JoinColumn,
} from 'typeorm';
import { Equipo } from '../equipo/equipo.entity';
import { TipoEntrada } from '../tipo-entrada/tipo-entrada.entity';
@Entity()
export class EquipoTipoEntrada {
@PrimaryGeneratedColumn()
id_equipo_entrada: number;
@ManyToOne(() => Equipo, (equipo) => equipo.equipoTipoEntradas)
@JoinColumn({ name: 'id_equipo' })
equipo: Equipo;
@ManyToOne(() => TipoEntrada, (tipoEntrada) => tipoEntrada.equiposTipoEntrada)
@JoinColumn({ name: 'id_tipo_entrada' })
tipoEntrada: TipoEntrada;
}

View File

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { EquipoTipoEntradaController } from './equipo-tipo-entrada.controller';
import { EquipoTipoEntrada } from './equipo-tipo-entrada.entity';
@Module({
imports: [TypeOrmModule.forFeature([EquipoTipoEntrada])],
controllers: [EquipoTipoEntradaController],
})
export class EquipoTipoEntradaModule {}

View File

@ -7,9 +7,11 @@ import {
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Carrito } from '../carrito/carrito.entity'; import { Carrito } from '../carrito/carrito.entity';
import { Prestamo } from '../prestamo/prestamo.entity';
import { Motivo } from '../motivo/motivo.entity'; import { Motivo } from '../motivo/motivo.entity';
import { Prestamo } from '../prestamo/prestamo.entity';
import { Programa } from '../programa/programa.entity';
import { Status } from '../status/status.entity'; import { Status } from '../status/status.entity';
import { EquipoTipoEntrada } from '../equipo-tipo-entrada/equipo-tipo-entrada.entity';
@Entity() @Entity()
export class Equipo { export class Equipo {
@ -36,9 +38,19 @@ export class Equipo {
@JoinColumn({ name: 'id_status' }) @JoinColumn({ name: 'id_status' })
status: Status; status: Status;
@ManyToOne(() => Programa, (programa) => programa.equipos)
@JoinColumn({ name: 'id_programa' })
programa: Programa;
@OneToMany(() => Motivo, (motivo) => motivo.equipo) @OneToMany(() => Motivo, (motivo) => motivo.equipo)
motivos: Motivo[]; motivos: Motivo[];
@OneToMany(() => Prestamo, (prestamo) => prestamo.equipo) @OneToMany(() => Prestamo, (prestamo) => prestamo.equipo)
prestamos: Prestamo[]; prestamos: Prestamo[];
@OneToMany(
() => EquipoTipoEntrada,
(equipoTipoEntrada) => equipoTipoEntrada.tipoEntrada,
)
equipoTipoEntradas: EquipoTipoEntrada[];
} }

View File

@ -1,6 +1,7 @@
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm'; import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { InstitucionDia } from '../institucion-dia/institucion-dia.entity'; import { InstitucionDia } from '../institucion-dia/institucion-dia.entity';
import { InstitucionInfraccion } from '../institucion-infraccion/institucion-infraccion.entity'; import { InstitucionInfraccion } from '../institucion-infraccion/institucion-infraccion.entity';
import { Carrera } from '../carrera/carrera.entity';
import { Modulo } from '../modulo/modulo.entity'; import { Modulo } from '../modulo/modulo.entity';
import { Operador } from '../operador/operador.entity'; import { Operador } from '../operador/operador.entity';
import { Usuario } from '../usuario/usuario.entity'; import { Usuario } from '../usuario/usuario.entity';
@ -40,6 +41,9 @@ export class Institucion {
@OneToMany(() => Modulo, (modulo) => modulo.institucion) @OneToMany(() => Modulo, (modulo) => modulo.institucion)
modulos: Modulo[]; modulos: Modulo[];
@OneToMany(() => Carrera, (carrera) => carrera.institucion)
carreras: Carrera[];
@OneToMany(() => Operador, (operador) => operador.institucion) @OneToMany(() => Operador, (operador) => operador.institucion)
operadores: Operador[]; operadores: Operador[];

View File

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ProgramaController } from './programa.controller';
describe('ProgramaController', () => {
let controller: ProgramaController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [ProgramaController],
}).compile();
controller = module.get<ProgramaController>(ProgramaController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('programa')
export class ProgramaController {}

View File

@ -0,0 +1,21 @@
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { Equipo } from '../equipo/equipo.entity';
import { CarreraPrograma } from '../carrera-programa/carrera-programa.entity';
@Entity()
export class Programa {
@PrimaryGeneratedColumn()
id_programa: number;
@Column()
programa: string;
@OneToMany(() => Equipo, (equipo) => equipo.programa)
equipos: Equipo[];
@OneToMany(
() => CarreraPrograma,
(carreraPrograma) => carreraPrograma.programa,
)
carrerasPrograma: CarreraPrograma[];
}

View File

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ProgramaController } from './programa.controller';
import { Programa } from './programa.entity';
@Module({
imports: [TypeOrmModule.forFeature([Programa])],
controllers: [ProgramaController],
})
export class ProgramaModule {}

View File

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { TipoEntradaController } from './tipo-entrada.controller';
describe('TipoEntradaController', () => {
let controller: TipoEntradaController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [TipoEntradaController],
}).compile();
controller = module.get<TipoEntradaController>(TipoEntradaController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('tipo-entrada')
export class TipoEntradaController {}

View File

@ -0,0 +1,17 @@
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { EquipoTipoEntrada } from '../equipo-tipo-entrada/equipo-tipo-entrada.entity';
@Entity()
export class TipoEntrada {
@PrimaryGeneratedColumn()
id_tipo_entrada: number;
@Column()
tipo_entrada: string;
@OneToMany(
() => EquipoTipoEntrada,
(equipoTipoEntrada) => equipoTipoEntrada.tipoEntrada,
)
equiposTipoEntrada: EquipoTipoEntrada[];
}

View File

@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { TipoEntradaController } from './tipo-entrada.controller';
import { TipoEntrada } from './tipo-entrada.entity';
@Module({
imports: [TypeOrmModule.forFeature([TipoEntrada])],
controllers: [TipoEntradaController],
})
export class TipoEntradaModule {}

View File

@ -6,6 +6,7 @@ import {
ManyToOne, ManyToOne,
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Carrera } from '../carrera/carrera.entity';
import { Institucion } from '../institucion/institucion.entity'; import { Institucion } from '../institucion/institucion.entity';
import { Prestamo } from '../prestamo/prestamo.entity'; import { Prestamo } from '../prestamo/prestamo.entity';
import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity'; import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity';
@ -31,6 +32,10 @@ export class Usuario {
@JoinColumn({ name: 'id_institucion' }) @JoinColumn({ name: 'id_institucion' })
institucion: Institucion; institucion: Institucion;
@ManyToOne(() => Carrera, (carrera) => carrera.usuarios)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
@ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios) @ManyToOne(() => TipoUsuario, (tipoUsuario) => tipoUsuario.usuarios)
@JoinColumn({ name: 'id_tipo_usuario' }) @JoinColumn({ name: 'id_tipo_usuario' })
tipoUsuario: TipoUsuario; tipoUsuario: TipoUsuario;