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 { ComentarioEje } from './entities/comentarioEjes.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'; config({ path: '.env' }); @Module({ imports: [ AuthModule, UsersModule, EjesEstrategicosModule, ComentariosModule, LineasProgramaticasModule, CarreraModule, 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, synchronize: true, entities: [ Carrera, ComentarioEje, EjeEstrategico, LineaProgramatica, TipoUsuarioEntity, UsuarioEntity, ], }), JwtModule.register({ global: true, secret: process.env.JWT_SECRET, signOptions: { expiresIn: process.env.JWT_EXPIRES }, }), ], controllers: [ AppController, UsuarioController, EjesEstrategicosController, LineasProgramaticasController, ], providers: [AppService, EjesEstrategicosService, LineasProgramaticasService], }) export class AppModule {}