Files
api_directorio/src/app.module.ts
T
2024-07-08 16:13:24 -06:00

74 lines
2.8 KiB
TypeScript

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 {}