import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { AuthModule } from './auth/auth.module'; import { UsersModule } from './users/users.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { config } from 'dotenv'; import { ConfigModule } from '@nestjs/config'; import { Carrera } from './entities/carreras.entity'; import { EjeEstrategico } from './entities/ejesEstrategicos.entity'; import { LineaProgramatica } from './entities/LineaProgramatica.entity'; import { TipoUsuarioEntity } from './entities/tipoUsuario.entity'; import { UsuarioEntity } from './entities/usuario.entity'; import { UsuarioController } from './usuario/usuario.controller'; import { JwtModule } from '@nestjs/jwt'; import { EjesEstrategicosService } from './ejesEstrategicos/ejesEstrategicos.service'; import { EjesEstrategicosController } from './ejesEstrategicos/ejesEstrategicos.controller'; import * as process from 'node:process'; import { EjesEstrategicosModule } from './ejesEstrategicos/ejesEstrategicos.module'; import { LineasProgramaticasController } from './lineasProgramaticas/lineasProgramaticas.controller'; import { LineasProgramaticasService } from './lineasProgramaticas/lineasProgramaticas.service'; import { LineasProgramaticasModule } from './lineasProgramaticas/lineasProgramaticas.module'; import { CarreraModule } from './carrera/carreras.module'; import { ComentariosModule } from './comentarios/comentarios.module'; import { ComentarioLineasProgramaticas } from './entities/comentarioLineasProgramaticas.entity'; import { ReportesController } from './reportes/reportes.controller'; import { ReportesModule } from './reportes/reportes.module'; import { Direccion } from './entities/direccion.entity'; import { DireccionModule } from './direccion/direccion.module'; config({ path: '.env' }); @Module({ imports: [ AuthModule, UsersModule, EjesEstrategicosModule, ComentariosModule, LineasProgramaticasModule, CarreraModule, ReportesModule, DireccionModule, ConfigModule.forRoot({ isGlobal: true, }), TypeOrmModule.forRoot({ type: 'mysql', host: process.env.DB_HOST, port: parseInt(process.env.DB_PORT), username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, charset: 'utf8mb4', synchronize: true, entities: [ Carrera, ComentarioLineasProgramaticas, EjeEstrategico, LineaProgramatica, TipoUsuarioEntity, UsuarioEntity, Direccion, ], }), JwtModule.register({ global: true, secret: process.env.JWT_SECRET, signOptions: { expiresIn: process.env.JWT_EXPIRES }, }), ], controllers: [ AppController, UsuarioController, EjesEstrategicosController, LineasProgramaticasController, ReportesController, ], providers: [AppService, EjesEstrategicosService, LineasProgramaticasService], }) export class AppModule {}