import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { AuthModule } from './auth/auth.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { UsersModule } from './users/users.module'; import { User } from './users/entities/user.entity'; import { Adscripcion } from './adscripcion/entities/adscripcion.entity'; import { Categoria } from './categoria/entities/categoria.entity'; import { DatosAcademicos } from './datos_academicos/entities/datos_academicos.entity'; import { Edificio } from './edificio/entities/edificio.entity'; import { LineasInvestigacion } from './lineas_investigacion/entities/lineas_investigacion.entity'; import { ProyectosAcademicos } from './proyectos_academicos/entities/proyectos_academicos.entity'; import { TipoUsuario } from './tipo_usuario/entities/tipo_usuario.entity'; import { ProfesorModule } from './Profesor/profesor.module'; import { Profesor } from './Profesor/entities/profesor.entity'; import { AdscripcionModule } from "./adscripcion/adscripcion.module"; import { EdificioModule } from "./edificio/edificio.module"; import { CategoriaModule } from "./categoria/categoria.module"; import { DatosAcademicosModule } from './datos_academicos/datos_academicos.module'; import { LineasInvestigacionModule } from './lineas_investigacion/lineas_investigacion.module'; import { ProyectosAcademicosModule } from './proyectos_academicos/proyectos_academicos.module'; @Module({ imports: [ AuthModule, UsersModule, ConfigModule.forRoot({ envFilePath: '.env', isGlobal: true, }), TypeOrmModule.forRootAsync({ imports: [ConfigModule, AuthModule, UsersModule], inject: [ConfigService], useFactory: async (configService: ConfigService) => ({ type: 'mysql', host: configService.get('DB_HOST'), port: configService.get('DB_PORT'), username: configService.get('DB_USER'), password: configService.get('DB_PASSWORD'), database: configService.get('DB_DATABASE'), entities: [ Profesor, User, Adscripcion, Categoria, Edificio, DatosAcademicos, LineasInvestigacion, ProyectosAcademicos, TipoUsuario, ], synchronize: true, }), }), ProfesorModule, AdscripcionModule, EdificioModule, CategoriaModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {}