added enities

This commit is contained in:
2023-02-28 16:33:04 -06:00
parent 8251599816
commit 7321c103b1
29 changed files with 430 additions and 15 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ PORT=5089
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=Dosmiluno2001
DB_PASSWORD=password
DB_NAME=cedetec_proyectos
DB_PORT=3306
+59 -14
View File
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config'
import { ConfigModule, ConfigService } from '@nestjs/config';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { EventosModule } from './eventos/eventos.module';
@@ -15,15 +15,33 @@ import { Evento } from './eventos/evento.entity';
import { Participante } from './participante/participante.entity';
import { EventoParticipante } from './evento-participante/evento-participante/eventoParticipante.entity';
import { Usuario } from './usuario/usuario.entity';
import { InscripcionDscModule } from './inscripcion-dsc/inscripcion-dsc.module';
import { InscripcionAreaModule } from './inscripcion-area/inscripcion-area.module';
import { InscripcionStatusService } from './inscripcion-status/inscripcion-status.service';
import { InscripcionStatusController } from './inscripcion-status/inscripcion-status.controller';
import { InscripcionStatusModule } from './inscripcion-status/inscripcion-status.module';
import { PeriodoModule } from './periodo/periodo.module';
import { InscripcionUsuarioModule } from './inscripcion-usuario/inscripcion-usuario.module';
import { MiembroModule } from './miembro/miembro.module';
import { Miembro } from './miembro/entity/miembro.entity';
import { InscripcionArea } from './inscripcion-area/entity/inscripcion_area.entity';
import { InscripcionDSC } from './inscripcion-dsc/entity/inscripcion_dsc.entity';
import { InscripcionStatus } from './inscripcion-status/entity/inscripcion_status.entity';
import { InscripcionUsuario } from './inscripcion-usuario/entity/inscripcion_usuario.entity';
import { Area } from './catalogos/area.entity';
import { TipoMiembro } from './catalogos/tipo-miembro.entity';
import { Carrera } from './catalogos/carrera.entity';
import { Periodo } from './periodo/entity/periodo.entity';
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env',
isGlobal: true}),
isGlobal: true,
}),
TypeOrmModule.forRootAsync({
imports:[ConfigModule],
inject:[ConfigService],
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => ({
type: 'mariadb',
host: configService.get('DB_HOST'),
@@ -31,21 +49,48 @@ import { Usuario } from './usuario/usuario.entity';
username: configService.get('DB_USER'),
password: configService.get('DB_PASSWORD'),
database: configService.get('DB_NAME'),
entities: [Evento, Participante, EventoParticipante, Usuario],
synchronize: true
})
}),
entities: [
Evento,
Participante,
EventoParticipante,
Usuario,
Miembro,
InscripcionArea,
InscripcionDSC,
InscripcionStatus,
InscripcionUsuario,
Area,
TipoMiembro,
Carrera,
Periodo
],
synchronize: true,
}),
}),
EventosModule,
ParticipanteModule,
EventoParticipanteModule,
UsuarioModule,
AuthModule, PassportModule, JwtModule.register({})],
controllers: [AppController, ParticipanteController],
providers: [AppService],
AuthModule,
PassportModule,
JwtModule.register({}),
InscripcionDscModule,
InscripcionAreaModule,
InscripcionStatusModule,
PeriodoModule,
InscripcionUsuarioModule,
MiembroModule,
],
controllers: [
AppController,
ParticipanteController,
InscripcionStatusController,
],
providers: [AppService, InscripcionStatusService],
})
export class AppModule {
static port: number
constructor(private readonly configService: ConfigService){
AppModule.port = this.configService.get('PORT')
static port: number;
constructor(private readonly configService: ConfigService) {
AppModule.port = this.configService.get('PORT');
}
}
+17
View File
@@ -0,0 +1,17 @@
import { InscripcionArea } from "src/inscripcion-area/entity/inscripcion_area.entity";
import { Column, Entity, OneToMany, PrimaryColumn, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Area {
@PrimaryGeneratedColumn()
id_area: number
@Column({length:60, nullable:false})
area: string
@OneToMany(
() => InscripcionArea, (inscripcionArea) => inscripcionArea.area
)
inscripcionArea: InscripcionArea[]
}
+16
View File
@@ -0,0 +1,16 @@
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Carrera {
@PrimaryGeneratedColumn()
id_carrera: number
@Column({ length:70, nullable: false})
carrera: string
@OneToMany(
() => Miembro, (miembro) => miembro.carrera
)
miembro: Miembro
}
+16
View File
@@ -0,0 +1,16 @@
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class TipoMiembro {
@PrimaryGeneratedColumn()
id_tipo_miembro: number
@Column({length:60, nullable:false})
tipo_miembro: string
@OneToMany(
() => Miembro, (miembro) => miembro.tipoMiembro
)
miembro: Miembro
}
@@ -0,0 +1,30 @@
import { Area } from 'src/catalogos/area.entity';
import { InscripcionDSC } from 'src/inscripcion-dsc/entity/inscripcion_dsc.entity';
import {
Column,
Entity,
JoinColumn,
ManyToOne,
PrimaryGeneratedColumn,
} from 'typeorm';
@Entity()
export class InscripcionArea {
@PrimaryGeneratedColumn()
id_inscripcionArea: number;
@Column()
id_inscripcion: number;
@Column()
id_area: number;
@ManyToOne(() => Area, (area) => area.inscripcionArea)
@JoinColumn({ name: 'id_area' })
area: Area;
@ManyToOne(
() => InscripcionDSC, (inscripcionDsc) => inscripcionDsc.inscripcionArea
)
inscripcionDsc: InscripcionDSC
}
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('inscripcion-area')
export class InscripcionAreaController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { InscripcionAreaController } from './inscripcion-area.controller';
import { InscripcionAreaService } from './inscripcion-area.service';
@Module({
controllers: [InscripcionAreaController],
providers: [InscripcionAreaService]
})
export class InscripcionAreaModule {}
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class InscripcionAreaService {}
@@ -0,0 +1,68 @@
import { InscripcionArea } from 'src/inscripcion-area/entity/inscripcion_area.entity';
import { InscripcionStatus } from 'src/inscripcion-status/entity/inscripcion_status.entity';
import { InscripcionUsuario } from 'src/inscripcion-usuario/entity/inscripcion_usuario.entity';
import { Periodo } from 'src/periodo/entity/periodo.entity';
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class InscripcionDSC {
@PrimaryGeneratedColumn()
id_inscripcion: number;
@Column({ default: 2})
validacion: number;
@Column({ nullable: false, default: false})
confirmacion: boolean;
@Column({ length: 5, unique: true, default: null})
folio: string;
@Column({ default: null})
monto: number;
@Column({ default: null})
hizoPago: boolean;
@Column({ length: 100, default: null})
rutaTicket: string;
@Column({ length: 6, default: null})
extension: string;
@Column({ default: null})
fechaInscripcion: Date;
@Column({ default: null})
fechaFin: Date;
@Column({nullable:false})
id_status: number;
@Column({nullable: false})
id_periodo: number;
@OneToMany(
() => InscripcionArea,
(inscripcionArea) => inscripcionArea.inscripcionDsc,
)
inscripcionArea: InscripcionArea[];
@ManyToOne(
() => InscripcionStatus, (inscripcionStatus) => inscripcionStatus.inscripcionDsc
)
@JoinColumn({name: "id_status"})
inscripcionStatus: InscripcionStatus
@ManyToOne(
() => Periodo, (periodo) => periodo.inscripcionDsc
)
@JoinColumn({name: "id_periodo"})
periodo: Periodo
@OneToMany(
() => InscripcionUsuario, (inscripcionUsuario) => inscripcionUsuario.inscripcionDsc
)
inscripcionUsuario: InscripcionUsuario[]
}
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('inscripcion-dsc')
export class InscripcionDscController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { InscripcionDscController } from './inscripcion-dsc.controller';
import { InscripcionDscService } from './inscripcion-dsc.service';
@Module({
controllers: [InscripcionDscController],
providers: [InscripcionDscService]
})
export class InscripcionDscModule {}
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class InscripcionDscService {}
@@ -0,0 +1,17 @@
import { InscripcionDSC } from 'src/inscripcion-dsc/entity/inscripcion_dsc.entity';
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class InscripcionStatus {
@PrimaryGeneratedColumn()
id_inscripcion_status: number;
@Column({ nullable: false})
id_status: number;
@Column({ nullable: false})
status: number;
@OneToMany(() => InscripcionDSC, (inscripcionDsc) => inscripcionDsc.inscripcionStatus)
inscripcionDsc: InscripcionDSC[];
}
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('inscripcion-status')
export class InscripcionStatusController {}
@@ -0,0 +1,4 @@
import { Module } from '@nestjs/common';
@Module({})
export class InscripcionStatusModule {}
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class InscripcionStatusService {}
@@ -0,0 +1,29 @@
import { InscripcionDSC } from "src/inscripcion-dsc/entity/inscripcion_dsc.entity";
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class InscripcionUsuario {
@PrimaryGeneratedColumn()
id_inscripcion_usuario: number
@Column({nullable: false})
id_usuario: number
@Column({nullable: false})
id_inscripcion: number
@ManyToOne(
() => InscripcionDSC, (inscripcionDsc) => inscripcionDsc.inscripcionUsuario
)
@JoinColumn({name: "id_inscripcion"})
inscripcionDsc: InscripcionDSC
@ManyToOne(
() => Miembro, (miebro) => miebro.inscripcionUsuario
)
@JoinColumn({name: "id_usuario"})
miembro: Miembro[]
}
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('inscripcion-usuario')
export class InscripcionUsuarioController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { InscripcionUsuarioController } from './inscripcion-usuario.controller';
import { InscripcionUsuarioService } from './inscripcion-usuario.service';
@Module({
controllers: [InscripcionUsuarioController],
providers: [InscripcionUsuarioService]
})
export class InscripcionUsuarioModule {}
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class InscripcionUsuarioService {}
+63
View File
@@ -0,0 +1,63 @@
import { IsEmail } from 'class-validator';
import { Carrera } from 'src/catalogos/carrera.entity';
import { TipoMiembro } from 'src/catalogos/tipo-miembro.entity';
import { InscripcionUsuario } from 'src/inscripcion-usuario/entity/inscripcion_usuario.entity';
import {
Column,
Entity,
JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm';
@Entity()
export class Miembro {
@PrimaryGeneratedColumn()
id_usuario: number;
@Column({ nullable: false, length: 50 })
nombre: string;
@Column({ nullable: false, length: 50 })
apellido_paterno: string;
@Column({ nullable: false, length: 50 })
apellido_materno: string;
@Column({ nullable: false })
id_tipo_miembro: number;
@Column({ nullable: false })
@IsEmail()
correo: string;
@Column({ nullable: false, length: 40 })
password: string;
@Column({ length: 260, nullable: false })
descripcion: string;
@Column({ nullable: false })
id_carrera: number;
@Column({ length: 40 })
semestre: string;
@Column({ nullable: false })
cuenta: number;
@OneToMany(
() => InscripcionUsuario,
(inscripcionUsuario) => inscripcionUsuario.miembro,
)
inscripcionUsuario: InscripcionUsuario[];
@ManyToOne(() => TipoMiembro, (tipoMiembro) => tipoMiembro.miembro)
@JoinColumn({ name: 'id_tipo_miembro' })
tipoMiembro: TipoMiembro;
@ManyToOne(() => Carrera, (carrera) => carrera.miembro)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
}
+4
View File
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('miembro')
export class MiembroController {}
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { MiembroController } from './miembro.controller';
import { MiembroService } from './miembro.service';
@Module({
controllers: [MiembroController],
providers: [MiembroService]
})
export class MiembroModule {}
+4
View File
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class MiembroService {}
+17
View File
@@ -0,0 +1,17 @@
import { InscripcionDSC } from "src/inscripcion-dsc/entity/inscripcion_dsc.entity";
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Periodo {
@PrimaryGeneratedColumn()
id_periodo: number
@Column()
activo: number
@OneToMany(
() => InscripcionDSC, (inscripcionDsc) => inscripcionDsc.periodo
)
inscripcionDsc: InscripcionDSC[]
}
+4
View File
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('periodo')
export class PeriodoController {}
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { PeriodoController } from './periodo.controller';
import { PeriodoService } from './periodo.service';
@Module({
controllers: [PeriodoController],
providers: [PeriodoService]
})
export class PeriodoModule {}
+4
View File
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class PeriodoService {}