Files
pcpuma_unam_api/src/upload-file/upload-file.controller.ts
T

74 lines
2.0 KiB
TypeScript
Raw Normal View History

2022-06-02 14:22:27 -05:00
import * as fs from 'fs';
2022-04-23 23:55:07 -05:00
import {
Controller,
Get,
Post,
Query,
Response,
UploadedFile,
UseInterceptors,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
2022-06-02 14:22:27 -05:00
import { ApiTags } from '@nestjs/swagger';
2022-04-23 23:55:07 -05:00
import { UploadFileService } from './upload-file.service';
2022-04-24 12:00:56 -05:00
import { IdInstitucionDto } from '../dto/id-institucion.dto';
2022-06-02 14:22:27 -05:00
import { UploadFileEquipo } from './dto/upload-file-equipo';
2022-04-23 23:55:07 -05:00
@Controller('upload-file')
2022-06-02 14:22:27 -05:00
@ApiTags('upload-file')
2022-04-23 23:55:07 -05:00
export class UploadFileController {
constructor(private uploadFileService: UploadFileService) {}
@Post('carga-masiva-equipos')
2022-04-27 00:47:09 -05:00
@UseInterceptors(FileInterceptor('csv'))
2022-04-23 23:55:07 -05:00
cargaMasivaEquipos(
@UploadedFile() file: Express.Multer.File,
2022-05-13 15:58:32 -05:00
@Query() query: UploadFileEquipo,
2022-04-23 23:55:07 -05:00
) {
2022-04-27 00:47:09 -05:00
return this.uploadFileService.createEquipos(
file,
2022-06-02 14:22:27 -05:00
parseInt(query.id_carrito),
parseInt(query.id_programa),
parseInt(query.id_status),
2022-04-27 00:47:09 -05:00
);
2022-04-23 23:55:07 -05:00
}
@Post('carga-masiva-usuarios')
2022-04-27 00:47:09 -05:00
@UseInterceptors(FileInterceptor('csv'))
2022-04-23 23:55:07 -05:00
cargaMasivaUsuarios(
@UploadedFile() file: Express.Multer.File,
@Query() query: IdInstitucionDto,
) {
2022-06-02 14:22:27 -05:00
return this.uploadFileService
.createUsuarios(file, parseInt(query.id_institucion))
.then((res) => {
fs.unlink(res.path, (err) => {});
return res.response;
});
2022-04-23 23:55:07 -05:00
}
@Get('download-logo')
downloadLogo(@Response() res, @Query() query: IdInstitucionDto) {
2022-05-02 14:40:17 -05:00
return this.uploadFileService.downloadLogo(parseInt(query.id_institucion));
2022-04-23 23:55:07 -05:00
}
2022-04-25 11:35:21 -05:00
@Get('download-plantilla-equipos')
2022-05-09 14:49:38 -05:00
downloadPlantillaEquipos(@Response() res) {
2022-04-27 00:47:09 -05:00
return res.download('./upload/plantilla_equipos.csv');
2022-04-25 11:35:21 -05:00
}
@Get('download-plantilla-usuarios')
2022-05-09 14:49:38 -05:00
downloadPlantillaUsuarios(@Response() res) {
2022-04-27 00:47:09 -05:00
return res.download('./upload/plantilla_alumnos.csv');
2022-04-25 11:35:21 -05:00
}
2022-04-23 23:55:07 -05:00
@Post('upload-logo')
@UseInterceptors(FileInterceptor('file'))
uploadLogo(
@UploadedFile() file: Express.Multer.File,
@Query() query: IdInstitucionDto,
) {
2022-05-02 14:40:17 -05:00
this.uploadFileService.uploadLogo(file, parseInt(query.id_institucion));
2022-04-23 23:55:07 -05:00
}
}