multer listo

This commit is contained in:
xXpuma99Xx
2022-04-23 23:55:07 -05:00
parent 3194b12417
commit 08ae09f2d7
8 changed files with 153 additions and 0 deletions
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { UploadFileController } from './upload-file.controller';
describe('UploadFileController', () => {
let controller: UploadFileController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [UploadFileController],
}).compile();
controller = module.get<UploadFileController>(UploadFileController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
+49
View File
@@ -0,0 +1,49 @@
import {
Controller,
Get,
Post,
Query,
Response,
UploadedFile,
UseInterceptors,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { UploadFileService } from './upload-file.service';
import { IdInstitucionDto } from 'src/dto/id-institucion.dto';
@Controller('upload-file')
export class UploadFileController {
constructor(private uploadFileService: UploadFileService) {}
@Post('carga-masiva-equipos')
@UseInterceptors(FileInterceptor('file'))
cargaMasivaEquipos(
@UploadedFile() file: Express.Multer.File,
@Query() query: IdInstitucionDto,
) {
this.uploadFileService.createEquipos(file, Number(query.id_institucion));
}
@Post('carga-masiva-usuarios')
@UseInterceptors(FileInterceptor('file'))
cargaMasivaUsuarios(
@UploadedFile() file: Express.Multer.File,
@Query() query: IdInstitucionDto,
) {
this.uploadFileService.createEquipos(file, Number(query.id_institucion));
}
@Get('download-logo')
downloadLogo(@Response() res, @Query() query: IdInstitucionDto) {
return this.uploadFileService.downloadLogo(Number(query.id_institucion));
}
@Post('upload-logo')
@UseInterceptors(FileInterceptor('file'))
uploadLogo(
@UploadedFile() file: Express.Multer.File,
@Query() query: IdInstitucionDto,
) {
this.uploadFileService.uploadLogo(file, Number(query.id_institucion));
}
}
+27
View File
@@ -0,0 +1,27 @@
import { ConflictException, Module } from '@nestjs/common';
import { MulterModule } from '@nestjs/platform-express';
import { UploadFileController } from './upload-file.controller';
import { UploadFileService } from './upload-file.service';
import { EquipoModule } from 'src/equipo/equipo.module';
import { UsuarioModule } from 'src/usuario/usuario.module';
@Module({
imports: [
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);
},
}),
EquipoModule,
UsuarioModule,
],
controllers: [UploadFileController],
providers: [UploadFileService],
})
export class UploadFileModule {}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { UploadFileService } from './upload-file.service';
describe('UploadFileService', () => {
let service: UploadFileService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [UploadFileService],
}).compile();
service = module.get<UploadFileService>(UploadFileService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
+19
View File
@@ -0,0 +1,19 @@
import { Injectable } from '@nestjs/common';
import { EquipoService } from 'src/equipo/equipo.service';
import { UsuarioService } from 'src/usuario/usuario.service';
@Injectable()
export class UploadFileService {
constructor(
private equipoService: EquipoService,
private usuarioService: UsuarioService,
) {}
createEquipos(file: Express.Multer.File, id_institucion: number) {}
createUsuarios(file: Express.Multer.File, id_institucion: number) {}
downloadLogo(id_institucion: number) {}
uploadLogo(file: Express.Multer.File, id_institucion: number) {}
}