123 lines
5.0 KiB
TypeScript
123 lines
5.0 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { AppController } from './app.controller';
|
|
import { AppService } from './app.service';
|
|
import { EventosModule } from './eventos/eventos.module';
|
|
import { ParticipanteController } from './participante/participante.controller';
|
|
import { ParticipanteModule } from './participante/participante.module';
|
|
import { EventoParticipanteModule } from './evento-participante/evento-participante/evento-participante.module';
|
|
import { AuthModule } from './auth/auth.module';
|
|
import { PassportModule } from '@nestjs/passport';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { Evento } from './eventos/evento.entity';
|
|
import { Participante } from './participante/participante.entity';
|
|
import { EventoParticipante } from './evento-participante/evento-participante/eventoParticipante.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';
|
|
import { MiembroProyectoModule } from './miembro-proyecto/miembro-proyecto.module';
|
|
import { MiembroContactoModule } from './miembro-contacto/miembro-contacto.module';
|
|
import { ProyectoModule } from './proyecto/proyecto.module';
|
|
import { ProyectoActividadModule } from './proyecto-actividad/proyecto-actividad.module';
|
|
import { ActividadModule } from './actividad/actividad.module';
|
|
import { MiembroProyecto } from './miembro-proyecto/entity/miembro_proyecto.entity';
|
|
import { MiembroContacto } from './miembro-contacto/entity/miembro_contacto.entity';
|
|
import { Proyecto } from './proyecto/entity/proyecto.entity';
|
|
import { Contacto } from './contacto/entity/contacto.entity';
|
|
import { Equipo } from './equipo/entity/equipo.entity';
|
|
import { EquipoEvento } from './equipo-evento/entity/equipo_evento.entity';
|
|
import { EquipoMiembro } from './equipo-miembro/entity/equipo_miembro.entity';
|
|
import { EmailService } from './email/email.service';
|
|
import { EmailController } from './email/email.controller';
|
|
import { EmailModule } from './email/email.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
envFilePath: '.env',
|
|
isGlobal: true,
|
|
}),
|
|
TypeOrmModule.forRootAsync({
|
|
imports: [ConfigModule],
|
|
inject: [ConfigService],
|
|
useFactory: async (configService: ConfigService) => ({
|
|
type: 'mariadb',
|
|
host: configService.get('DB_HOST'),
|
|
port: configService.get('DB_PORT'),
|
|
username: configService.get('DB_USER'),
|
|
password: configService.get('DB_PASSWORD'),
|
|
database: configService.get('DB_NAME'),
|
|
entities: [
|
|
Evento,
|
|
Participante,
|
|
EventoParticipante,
|
|
/* Agregadas el 29 de febrero */
|
|
Miembro,
|
|
InscripcionArea,
|
|
InscripcionDSC,
|
|
InscripcionStatus,
|
|
InscripcionUsuario,
|
|
Area,
|
|
TipoMiembro,
|
|
Carrera,
|
|
Periodo,
|
|
/* Agregadas el 1 de marzo */
|
|
MiembroProyecto,
|
|
MiembroContacto,
|
|
Proyecto,
|
|
Contacto,
|
|
Equipo,
|
|
EquipoEvento,
|
|
EquipoMiembro,
|
|
],
|
|
synchronize: true,
|
|
}),
|
|
}),
|
|
EventosModule,
|
|
ParticipanteModule,
|
|
EventoParticipanteModule,
|
|
AuthModule,
|
|
PassportModule,
|
|
JwtModule.register({}),
|
|
InscripcionDscModule,
|
|
InscripcionAreaModule,
|
|
InscripcionStatusModule,
|
|
PeriodoModule,
|
|
InscripcionUsuarioModule,
|
|
MiembroModule,
|
|
MiembroProyectoModule,
|
|
MiembroContactoModule,
|
|
ProyectoModule,
|
|
ProyectoActividadModule,
|
|
ActividadModule,
|
|
EmailModule,
|
|
],
|
|
controllers: [
|
|
AppController,
|
|
ParticipanteController,
|
|
InscripcionStatusController,
|
|
],
|
|
providers: [AppService, InscripcionStatusService],
|
|
})
|
|
export class AppModule {
|
|
static port: number;
|
|
constructor(private readonly configService: ConfigService) {
|
|
AppModule.port = this.configService.get('PORT');
|
|
}
|
|
}
|