import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { ServeStaticModule } from '@nestjs/serve-static'; import { join } from 'path'; 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'; import { ImagenModule } from './images/images.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, }), }), ServeStaticModule.forRoot({ rootPath: join(__dirname, '..', 'imagenes'), serveRoot: '/imagenes', }), ImagenModule, ProfesorModule, AdscripcionModule, EdificioModule, CategoriaModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {}