66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
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 '../dto/id-institucion.dto';
|
|
|
|
@Controller('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,
|
|
Number(query.id_institucion),
|
|
);
|
|
}
|
|
|
|
@Post('carga-masiva-usuarios')
|
|
@UseInterceptors(FileInterceptor('csv'))
|
|
cargaMasivaUsuarios(
|
|
@UploadedFile() file: Express.Multer.File,
|
|
@Query() query: IdInstitucionDto,
|
|
) {
|
|
return this.uploadFileService.createUsuarios(
|
|
file,
|
|
Number(query.id_institucion),
|
|
);
|
|
}
|
|
|
|
@Get('download-logo')
|
|
downloadLogo(@Response() res, @Query() query: IdInstitucionDto) {
|
|
return this.uploadFileService.downloadLogo(Number(query.id_institucion));
|
|
}
|
|
|
|
@Get('download-plantilla-equipos')
|
|
downloadPlantillaEquipos(@Response() res, @Query() query: IdInstitucionDto) {
|
|
return res.download('./upload/plantilla_equipos.csv');
|
|
}
|
|
|
|
@Get('download-plantilla-usuarios')
|
|
downloadPlantillaUsuarios(@Response() res, @Query() query: IdInstitucionDto) {
|
|
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, Number(query.id_institucion));
|
|
}
|
|
}
|