import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthModule } from './auth/auth.module'; import { BcryptModule } from './bcrypt/bcrypt.module'; import { CarreraProgramaModule } from './carrera-programa/carrera-programa.module'; import { CarritoModule } from './carrito/carrito.module'; import { CarritoMotivoModule } from './carrito-motivo/carrito-motivo.module'; import { CronModule } from './cron/cron.module'; import { EquipoModule } from './equipo/equipo.module'; import { EquipoMotivoModule } from './equipo-motivo/equipo-motivo.module'; import { EquipoProgramaModule } from './equipo-programa/equipo-programa.module'; import { EquipoTipoEntradaModule } from './equipo-tipo-entrada/equipo-tipo-entrada.module'; import { HoraExcepcionModule } from './hora-excepcion/hora-excepcion.module'; import { InstitucionModule } from './institucion/institucion.module'; import { InstitucionCarreraModule } from './institucion-carrera/institucion-carrera.module'; import { InstitucionDiaModule } from './institucion-dia/institucion-dia.module'; import { InstitucionInfraccionModule } from './institucion-infraccion/institucion-infraccion.module'; import { InstitucionProgramaModule } from './institucion-programa/institucion-programa.module'; import { InstitucionTipoCarritoModule } from './institucion-tipo-carrito/institucion-tipo-carrito.module'; import { InstitucionTipoEntradaModule } from './institucion-tipo-entrada/institucion-tipo-entrada.module'; import { InstitucionUsuarioModule } from './institucion-usuario/institucion-usuario.module'; import { MarcaModule } from './marca/marca.module'; import { ModeloModule } from './modelo/modelo.module'; import { ModuloModule } from './modulo/modulo.module'; import { MultaModule } from './multa/multa.module'; import { NodemailerModule } from './nodemailer/nodemailer.module'; import { OperadorModule } from './operador/operador.module'; import { PasscodeModule } from './passcode/passcode.module'; import { PrestamoModule } from './prestamo/prestamo.module'; import { StatusModule } from './status/status.module'; import { TipoUsuarioModule } from './tipo-usuario/tipo-usuario.module'; import { UploadFileModule } from './upload-file/upload-file.module'; import { UsuarioModule } from './usuario/usuario.module'; import { ValidarUsuarioModule } from './validar-usuario/validar-usuario.module'; import { Carrera } from './institucion-carrera/entity/carrera.entity'; import { CarreraPrograma } from './carrera-programa/entity/carrera-programa.entity'; import { Carrito } from './carrito/entity/carrito.entity'; import { CarritoMotivo } from './carrito-motivo/entity/carrito-motivo.entity'; import { Dia } from './institucion-dia/entity/dia.entity'; import { Equipo } from './equipo/entity/equipo.entity'; import { EquipoMotivo } from './equipo-motivo/entity/equipo-motivo.entity'; import { EquipoPrograma } from './equipo-programa/entity/equipo-programa.entity'; import { EquipoTipoEntrada } from './equipo-tipo-entrada/entity/equipo-tipo-entrada.entity'; import { HoraExcepcion } from './hora-excepcion/entity/hora-excepcion.entity'; import { Infraccion } from './institucion-infraccion/entity/infraccion.entity'; import { Institucion } from './institucion/entity/institucion.entity'; import { InstitucionCarrera } from './institucion-carrera/entity/institucion-carrera.entity'; import { InstitucionDia } from './institucion-dia/entity/institucion-dia.entity'; import { InstitucionInfraccion } from './institucion-infraccion/entity/institucion-infraccion.entity'; import { InstitucionPrograma } from './institucion-programa/entity/institucion-programa.entity'; import { InstitucionTipoCarrito } from './institucion-tipo-carrito/entity/institucion-tipo-carrito.entity'; import { InstitucionTipoEntrada } from './institucion-tipo-entrada/entity/institucion-tipo-entrada.entity'; import { InstitucionUsuario } from './institucion-usuario/entity/institucion-usuario.entity'; import { Marca } from './marca/entity/marca.entity'; import { Modelo } from './modelo/entity/modelo.entity'; import { Modulo } from './modulo/entity/modulo.entity'; import { ModuloMotivo } from './modulo-motivo/entity/modulo-motivo.entity'; import { Multa } from './multa/entity/multa.entity'; import { Nivel } from './institucion-carrera/entity/nivel.entity'; import { Operador } from './operador/entity/operador.entity'; import { Passcode } from './passcode/entity/passcode.entity'; import { Prestamo } from './prestamo/entity/prestamo.entity'; import { Programa } from './institucion-programa/entity/programa.entity'; import { Status } from './status/entity/status.entity'; import { TipoCarrito } from './institucion-tipo-carrito/entity/tipo-carrito.entity'; import { TipoEntrada } from './institucion-tipo-entrada/entity/tipo-entrada.entity'; import { TipoUsuario } from './tipo-usuario/entity/tipo-usuario.entity'; import { Usuario } from './usuario/entity/usuario.entity'; import { FullInformacionCarritoView } from './carrito/entity/views/full-informacion-carrito.view'; import { InformacionCarritoView } from './carrito/entity/views/informacion-carrito.view'; import { FullInformacionEquipoView } from './equipo/entity/views/full-informacion-equipo.view'; import { InformacionEquipoPrestamoView } from './equipo/entity/views/informacion-equipo-prestamo.view'; import { InformacionEquipoView } from './equipo/entity/views/informacion-equipo.view'; import { FullInformacionEquipoProgramaView } from './equipo-programa/entity/views/full-informacion-equipo-programa.view'; import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view'; import { FullInformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/full-informacion-equipo-tipo-entrada.view'; import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view'; import { FullInformacionInstitucionUsuarioView } from './institucion-usuario/entity/views/full-informacion-institucion-usuario.view'; import { InformacionInstitucionUsuarioView } from './institucion-usuario/entity/views/informacion-institucion-usuario.view'; import { InformacionModuloView } from './modulo/entity/views/informacion-modulo.view'; import { FullInformacionModuloView } from './modulo/entity/views/full-informacion-modulo.view'; import { FullInformacionMultaView } from './multa/entity/views/full-informacion-multa.view'; import { InformacionMultaView } from './multa/entity/views/informacion-multa.view'; import { FullInformacionOperadorView } from './operador/entity/views/full-informacion-operador.view'; import { FullInformacionPrestamoView } from './prestamo/entity/views/full-informacion-prestamo.view'; import { PrestamoInformacionView } from './prestamo/entity/views/prestamo-informacion.view'; import { InformacionPrestamoView } from './prestamo/entity/views/informacion-prestamo.view'; import { FullInformacionUsuarioView } from './usuario/entity/views/full-informacion-usuario.view'; import { ModuloMotivoModule } from './modulo-motivo/modulo-motivo.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), TypeOrmModule.forRootAsync({ inject: [ConfigService], useFactory: (configService: ConfigService) => { return { type: 'mariadb', host: configService.get('DB_HOST'), database: configService.get('DB'), username: configService.get('DB_USER'), password: configService.get('DB_PASSWORD'), port: parseInt(configService.get('DB_PORT')), synchronize: configService.get('STATE') !== 'produccion', entities: [ Carrera, CarreraPrograma, Carrito, CarritoMotivo, Dia, Equipo, EquipoMotivo, EquipoPrograma, EquipoTipoEntrada, HoraExcepcion, Infraccion, Institucion, InstitucionCarrera, InstitucionDia, InstitucionInfraccion, InstitucionPrograma, InstitucionTipoCarrito, InstitucionTipoEntrada, InstitucionUsuario, Marca, Modelo, Modulo, ModuloMotivo, Multa, Nivel, Operador, Passcode, Prestamo, Programa, Status, TipoCarrito, TipoEntrada, TipoUsuario, Usuario, InformacionCarritoView, FullInformacionCarritoView, FullInformacionEquipoView, InformacionEquipoPrestamoView, InformacionEquipoView, FullInformacionEquipoProgramaView, InformacionEquipoProgramaView, FullInformacionEquipoTipoEntradaView, InformacionEquipoTipoEntradaView, FullInformacionInstitucionUsuarioView, InformacionInstitucionUsuarioView, InformacionModuloView, FullInformacionModuloView, FullInformacionMultaView, InformacionMultaView, FullInformacionOperadorView, FullInformacionPrestamoView, PrestamoInformacionView, InformacionPrestamoView, FullInformacionUsuarioView, ], }; }, }), AuthModule, BcryptModule, CarreraProgramaModule, CarritoModule, CarritoMotivoModule, CronModule, EquipoProgramaModule, EquipoTipoEntradaModule, EquipoModule, HoraExcepcionModule, InstitucionModule, InstitucionCarreraModule, InstitucionDiaModule, InstitucionInfraccionModule, InstitucionProgramaModule, InstitucionTipoCarritoModule, InstitucionTipoEntradaModule, InstitucionUsuarioModule, MarcaModule, ModeloModule, ModuloModule, EquipoMotivoModule, MultaModule, NodemailerModule, OperadorModule, PasscodeModule, PrestamoModule, StatusModule, TipoUsuarioModule, UploadFileModule, UsuarioModule, ValidarUsuarioModule, ModuloMotivoModule, ], }) export class AppModule {}