71 lines
1.9 KiB
TypeScript
71 lines
1.9 KiB
TypeScript
import * as fs from 'fs';
|
|
import {
|
|
Controller,
|
|
Get,
|
|
Post,
|
|
Query,
|
|
Response,
|
|
UploadedFile,
|
|
UseInterceptors,
|
|
} from '@nestjs/common';
|
|
import { FileInterceptor } from '@nestjs/platform-express';
|
|
import { ApiTags } from '@nestjs/swagger';
|
|
import { UploadFileService } from './upload-file.service';
|
|
import { IdInstitucionDto } from '../dto/id-institucion.dto';
|
|
|
|
@Controller('upload-file')
|
|
@ApiTags('upload-file')
|
|
export class UploadFileController {
|
|
constructor(private uploadFileService: UploadFileService) {}
|
|
|
|
@Post('carga-masiva-equipos')
|
|
@UseInterceptors(FileInterceptor('csv'))
|
|
cargaMasivaEquipos(
|
|
@UploadedFile() file: Express.Multer.File,
|
|
@Query() query: IdInstitucionDto,
|
|
) {
|
|
return this.uploadFileService.createEquipos(
|
|
file,
|
|
parseInt(query.id_institucion),
|
|
);
|
|
}
|
|
|
|
@Post('carga-masiva-usuarios')
|
|
@UseInterceptors(FileInterceptor('csv'))
|
|
cargaMasivaUsuarios(
|
|
@UploadedFile() file: Express.Multer.File,
|
|
@Query() query: IdInstitucionDto,
|
|
) {
|
|
return this.uploadFileService
|
|
.createUsuarios(file, parseInt(query.id_institucion))
|
|
.then((res) => {
|
|
fs.unlink(res.path, (err) => {});
|
|
return res.response;
|
|
});
|
|
}
|
|
|
|
@Get('download-logo')
|
|
downloadLogo(@Response() res, @Query() query: IdInstitucionDto) {
|
|
return this.uploadFileService.downloadLogo(parseInt(query.id_institucion));
|
|
}
|
|
|
|
@Get('download-plantilla-equipos')
|
|
downloadPlantillaEquipos(@Response() res) {
|
|
return res.download('./upload/plantilla_equipos.csv');
|
|
}
|
|
|
|
@Get('download-plantilla-usuarios')
|
|
downloadPlantillaUsuarios(@Response() res) {
|
|
return res.download('./upload/plantilla_alumnos.csv');
|
|
}
|
|
|
|
@Post('upload-logo')
|
|
@UseInterceptors(FileInterceptor('file'))
|
|
uploadLogo(
|
|
@UploadedFile() file: Express.Multer.File,
|
|
@Query() query: IdInstitucionDto,
|
|
) {
|
|
this.uploadFileService.uploadLogo(file, parseInt(query.id_institucion));
|
|
}
|
|
}
|