organizacion de institucion y modulo

This commit is contained in:
xXpuma99Xx 2022-04-16 14:37:17 -05:00
parent 594af0cde9
commit 29bb3fe79b
13 changed files with 56 additions and 56 deletions

View File

@ -35,7 +35,7 @@ import { Equipo } from './equipo/equipo.entity';
import { EquipoTipoEntrada } from './equipo-tipo-entrada/equipo-tipo-entrada.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/entity/institucion.entity';
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 { Modulo } from './modulo/entity/modulo.entity'; import { Modulo } from './modulo/entity/modulo.entity';

View File

@ -6,7 +6,7 @@ import {
ManyToOne, ManyToOne,
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Institucion } from '../institucion/institucion.entity'; import { Institucion } from '../institucion/entity/institucion.entity';
import { Usuario } from '../usuario/usuario.entity'; import { Usuario } from '../usuario/usuario.entity';
import { CarreraPrograma } from '../carrera-programa/carrera-programa.entity'; import { CarreraPrograma } from '../carrera-programa/carrera-programa.entity';

View File

@ -6,7 +6,7 @@ import {
ManyToOne, ManyToOne,
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Institucion } from '../institucion/institucion.entity'; import { Institucion } from '../institucion/entity/institucion.entity';
import { Dia } from '../dia/dia.entity'; import { Dia } from '../dia/dia.entity';
import { HoraExcepcion } from '../hora-excepcion/hora-excepcion.entity'; import { HoraExcepcion } from '../hora-excepcion/hora-excepcion.entity';
@ -24,7 +24,7 @@ export class InstitucionDia {
@Column() @Column()
activo: boolean; activo: boolean;
@ManyToOne(() => Institucion, (institucion) => institucion.institucionesDias) @ManyToOne(() => Institucion, (institucion) => institucion.institucionDias)
@JoinColumn({ name: 'id_institucion' }) @JoinColumn({ name: 'id_institucion' })
institucion: Institucion; institucion: Institucion;

View File

@ -7,7 +7,7 @@ import {
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Infraccion } from '../infraccion/infraccion.entity'; 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'; import { Multa } from '../multa/multa.entity';
@Entity() @Entity()

View File

@ -1,16 +1,19 @@
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm'; import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
import { InstitucionDia } from '../institucion-dia/institucion-dia.entity'; import { Carrera } from '../../carrera/carrera.entity';
import { InstitucionInfraccion } from '../institucion-infraccion/institucion-infraccion.entity'; import { InstitucionDia } from '../../institucion-dia/institucion-dia.entity';
import { Carrera } from '../carrera/carrera.entity'; import { InstitucionInfraccion } from '../../institucion-infraccion/institucion-infraccion.entity';
import { Modulo } from '../modulo/entity/modulo.entity'; import { Modulo } from '../../modulo/entity/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';
@Entity() @Entity()
export class Institucion { export class Institucion {
@PrimaryGeneratedColumn() @PrimaryGeneratedColumn()
id_institucion: number; id_institucion: number;
@Column()
dias_multa_retraso: number;
@Column() @Column()
institucion: string; institucion: string;
@ -23,14 +26,14 @@ export class Institucion {
@Column() @Column()
tiempo_recoger: number; tiempo_recoger: number;
@Column() @OneToMany(() => Carrera, (carrera) => carrera.institucion)
dias_multa_retraso: number; carreras: Carrera[];
@OneToMany( @OneToMany(
() => InstitucionDia, () => InstitucionDia,
(institucionDia) => institucionDia.institucion, (institucionDia) => institucionDia.institucion,
) )
institucionesDias: InstitucionDia[]; institucionDias: InstitucionDia[];
@OneToMany( @OneToMany(
() => InstitucionInfraccion, () => InstitucionInfraccion,
@ -41,9 +44,6 @@ 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

@ -1,8 +1,8 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm'; import { TypeOrmModule } from '@nestjs/typeorm';
import { InstitucionController } from './institucion.controller'; import { InstitucionController } from './institucion.controller';
import { Institucion } from './institucion.entity';
import { InstitucionService } from './institucion.service'; import { InstitucionService } from './institucion.service';
import { Institucion } from './entity/institucion.entity';
@Module({ @Module({
imports: [TypeOrmModule.forFeature([Institucion])], imports: [TypeOrmModule.forFeature([Institucion])],

View File

@ -1,7 +1,7 @@
import { Injectable, NotFoundException } from '@nestjs/common'; import { Injectable, NotFoundException } from '@nestjs/common';
import { Repository } from 'typeorm'; import { Repository } from 'typeorm';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { Institucion } from './institucion.entity'; import { Institucion } from './entity/institucion.entity';
@Injectable() @Injectable()
export class InstitucionService { export class InstitucionService {

View File

@ -1,25 +1,25 @@
import { import {
Entity,
Column, Column,
PrimaryGeneratedColumn, Entity,
OneToMany,
ManyToOne,
JoinColumn, JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm'; } from 'typeorm';
import { Carrito } from '../../carrito/carrito.entity'; import { Carrito } from '../../carrito/carrito.entity';
import { Institucion } from '../../institucion/institucion.entity'; import { Institucion } from '../../institucion/entity/institucion.entity';
@Entity() @Entity()
export class Modulo { export class Modulo {
@PrimaryGeneratedColumn() @PrimaryGeneratedColumn()
id_modulo: number; id_modulo: number;
@Column({ type: String, nullable: false, length: 50 })
modulo: string;
@Column({ type: Boolean, nullable: false, default: false }) @Column({ type: Boolean, nullable: false, default: false })
activo: boolean; activo: boolean;
@Column({ type: String, nullable: false, length: 50 })
modulo: string;
@ManyToOne(() => Institucion, (institucion) => institucion.modulos, { @ManyToOne(() => Institucion, (institucion) => institucion.modulos, {
eager: true, eager: true,
}) })

View File

@ -8,23 +8,23 @@ import { ModuloUpdateDto } from './dto/modulo-update.dto';
export class ModuloController { export class ModuloController {
constructor(private moduloService: ModuloService) {} constructor(private moduloService: ModuloService) {}
@Get('') @Post()
create(@Body() body: ModuloCrearDto) {
return this.moduloService.create(body.id_institucion, body.modulo);
}
@Get()
get() { get() {
return this.moduloService.findAll(); return this.moduloService.findAll();
} }
@Get('modulos') @Get('modulos')
modulosInstitucion(@Query() query: IdInstitucionDto) { modulos(@Query() query: IdInstitucionDto) {
return this.moduloService.findAllByIdInstitucion( return this.moduloService.findAllByIdInstitucion(
Number(query.id_institucion), Number(query.id_institucion),
); );
} }
@Post()
create(@Body() body: ModuloCrearDto) {
return this.moduloService.create(body.id_institucion, body.modulo);
}
@Put() @Put()
update(@Body() body: ModuloUpdateDto) { update(@Body() body: ModuloUpdateDto) {
return this.moduloService.update(body); return this.moduloService.update(body);

View File

@ -1,8 +1,8 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm'; import { TypeOrmModule } from '@nestjs/typeorm';
import { ModuloController } from './modulo.controller'; import { ModuloController } from './modulo.controller';
import { Modulo } from './entity/modulo.entity';
import { ModuloService } from './modulo.service'; import { ModuloService } from './modulo.service';
import { Modulo } from './entity/modulo.entity';
import { InstitucionModule } from '../institucion/institucion.module'; import { InstitucionModule } from '../institucion/institucion.module';
@Module({ @Module({

View File

@ -5,8 +5,8 @@ import {
} from '@nestjs/common'; } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm'; import { Repository } from 'typeorm';
import { Modulo } from './entity/modulo.entity';
import { InstitucionService } from '../institucion/institucion.service'; import { InstitucionService } from '../institucion/institucion.service';
import { Modulo } from './entity/modulo.entity';
@Injectable() @Injectable()
export class ModuloService { export class ModuloService {
@ -15,23 +15,6 @@ export class ModuloService {
private institucionService: InstitucionService, 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) { async create(id_institucion: number, modulo: string) {
const institucion = await this.institucionService.findById(id_institucion); const institucion = await this.institucionService.findById(id_institucion);
const nuevoModulo = this.moduloRepository.create({ const nuevoModulo = this.moduloRepository.create({
@ -51,6 +34,23 @@ export class ModuloService {
.then(() => ({ message: 'Se creo correctamente el módulo.' })); .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<Modulo>) { async update(attrs: Partial<Modulo>) {
const modulo = await this.findById(attrs.id_modulo); const modulo = await this.findById(attrs.id_modulo);

View File

@ -6,7 +6,7 @@ import {
ManyToOne, ManyToOne,
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Institucion } from '../institucion/institucion.entity'; import { Institucion } from '../institucion/entity/institucion.entity';
import { Motivo } from '../motivo/motivo.entity'; import { Motivo } from '../motivo/motivo.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';

View File

@ -7,7 +7,7 @@ import {
JoinColumn, JoinColumn,
} from 'typeorm'; } from 'typeorm';
import { Carrera } from '../carrera/carrera.entity'; 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 { Prestamo } from '../prestamo/prestamo.entity';
import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity'; import { TipoUsuario } from '../tipo-usuario/tipo-usuario.entity';