verificacion de ciertos endpoints

This commit is contained in:
2022-05-09 14:49:38 -05:00
parent 9c7353a91e
commit 7c71d5178c
8 changed files with 68 additions and 71 deletions
+3 -3
View File
@@ -10,7 +10,7 @@ import {
import { FileInterceptor } from '@nestjs/platform-express';
import { UploadFileService } from './upload-file.service';
import { IdInstitucionDto } from '../dto/id-institucion.dto';
import {ApiTags} from '@nestjs/swagger'
import { ApiTags } from '@nestjs/swagger';
@Controller('upload-file')
@ApiTags('upload-file')
@@ -47,12 +47,12 @@ export class UploadFileController {
}
@Get('download-plantilla-equipos')
downloadPlantillaEquipos(@Response() res, @Query() query: IdInstitucionDto) {
downloadPlantillaEquipos(@Response() res) {
return res.download('./upload/plantilla_equipos.csv');
}
@Get('download-plantilla-usuarios')
downloadPlantillaUsuarios(@Response() res, @Query() query: IdInstitucionDto) {
downloadPlantillaUsuarios(@Response() res) {
return res.download('./upload/plantilla_alumnos.csv');
}
+34 -36
View File
@@ -38,26 +38,33 @@ export class UploadFileService {
const institucion = await this.institucionService.findById(id_institucion);
const errores: string[] = [];
if (!file) throw new BadRequestException('No se mando un archivo.');
// if (!file) throw new BadRequestException('No se mando un archivo.');
return csvtojson()
.fromFile(path)
.then(async (usuarios: [UploadFileCargaMasivaUsuarioDto]) => {
for (let i = 0; i < usuarios.length; i++) {
if (!usuarios[i].numero_cuenta || !usuarios[i].tipo_usuario) {
let error = this.errorBase(i);
if (
!usuarios[i].numero_cuenta ||
!usuarios[i].tipo_usuario ||
!usuarios[i].nombres ||
!usuarios[i].apellido_m ||
!usuarios[i].apellido_p
) {
if (!usuarios[i].numero_cuenta)
errores.push(
`${this.errorBase(i)} falta del campo numero_cuenta.`,
);
error += ' falta del campo numero_cuenta';
if (error != this.errorBase(i)) error += ',';
if (!usuarios[i].tipo_usuario)
errores.push(
`${this.errorBase(i)} falta del campo tipo_usuario.`,
);
if (!usuarios[i].nombres)
errores.push(`${this.errorBase(i)} falta del campo nombres.`);
if (!usuarios[i].apellido_m)
errores.push(`${this.errorBase(i)} falta del campo apellido_m.`);
if (!usuarios[i].apellido_p)
errores.push(`${this.errorBase(i)} falta del campo apellido_p.`);
error += ' falta del campo tipo_usuario';
if (error != this.errorBase(i)) error += ',';
if (!usuarios[i].nombres) error += ' falta del campo nombres';
if (error != this.errorBase(i)) error += ',';
if (!usuarios[i].apellido_m) error += ' falta del campo apellido_m';
if (error != this.errorBase(i)) error += ',';
if (!usuarios[i].apellido_p) error += ' falta del campo apellido_p';
error += '.';
errores.push(error);
continue;
}
@@ -65,35 +72,26 @@ export class UploadFileService {
usuarios[i].tipo_usuario,
false,
);
const carrera =
usuarios[i].carrera && tipoUsuario.id_tipo_usuario !== 5
? await this.carreraService
.findByCarrera(usuarios[i].carrera, false)
.then((carrera) => {
if (!carrera)
// return this.carreraService.create(
// institucion.id_institucion,
// usuarios[i].carrera,
// );
return carrera;
})
: null;
const usuario = await this.usuarioService.findByUsuario(
usuarios[i].numero_cuenta,
false,
);
const carrera =
usuarios[i].carrera && tipoUsuario.id_tipo_usuario > 5
? await this.carreraService.findByCarrera(
usuarios[i].carrera,
false,
)
: null;
console.log('hola');
console.log(usuario);
if (!tipoUsuario || (tipoUsuario.id_tipo_usuario !== 5 && !carrera)) {
if (!tipoUsuario || (tipoUsuario.id_tipo_usuario > 5 && !carrera)) {
if (tipoUsuario.id_tipo_usuario !== 5 && !carrera)
errores.push(
`${this.errorBase(i)} falta del campo carrera para el alumno.`,
);
if (!tipoUsuario)
errores.push(
`${this.errorBase(i)} no existe este tipo de usuario.`,
);
error += ' falta del campo carrera para el alumno';
if (error != this.errorBase(i)) error += ',';
if (!tipoUsuario) error += ' no existe este tipo de usuario';
error += '.';
errores.push(error);
continue;
}
if (usuario) {