import { ConflictException, Module } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; import { MulterModule } from '@nestjs/platform-express'; import { AppGateway } from '../app.gateway'; import { UploadFileController } from './upload-file.controller'; import { UploadFileService } from './upload-file.service'; import { CarritoModule } from '../carrito/carrito.module'; import { EquipoModule } from '../equipo/equipo.module'; import { EquipoProgramaModule } from '../equipo-programa/equipo-programa.module'; import { EquipoTipoEntradaModule } from '../equipo-tipo-entrada/equipo-tipo-entrada.module'; import { InstitucionModule } from '../institucion/institucion.module'; import { InstitucionCarreraModule } from '../institucion-carrera/institucion-carrera.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 { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module'; import { UsuarioModule } from '../usuario/usuario.module'; import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'; @Module({ imports: [ CarritoModule, EquipoModule, EquipoProgramaModule, EquipoTipoEntradaModule, InstitucionModule, InstitucionCarreraModule, InstitucionProgramaModule, InstitucionTipoCarritoModule, InstitucionTipoEntradaModule, InstitucionUsuarioModule, MarcaModule, ModeloModule, ModuloModule, MulterModule.register({ dest: './upload', fileFilter: (req, file, cb) => { if (!file.originalname.match(/\.(jpg|jpeg|png|csv)/)) return cb( new ConflictException('Extención de archivo no valida.'), false, ); return cb(null, true); }, }), PassportModule.register({ defaultStrategy: 'jwt' }), TipoUsuarioModule, UsuarioModule, ValidarUsuarioModule, ], controllers: [UploadFileController], providers: [AppGateway, UploadFileService], }) export class UploadFileModule {}