Files
servicio_social_api/server/controller/Usuario/escolares.js
T
Lemuel Marquez 49005c7b52 return objeto
2021-01-14 16:02:57 -06:00

50 lines
1.5 KiB
JavaScript

require('../../config/config');
const validar = require('../../helper/validar');
const axios = require('axios');
const Usuario = require('../../db/tablas/Usuario');
const Carrera = require('../../db/tablas/Carrera');
const escolares = async (body) => {
const numeroCuenta = validar.validarNumeroCuenta(body.numeroCuenta);
let alumno;
return axios({
method: 'post',
url: `${process.env.ESCOLARES}${numeroCuenta}`,
data: `${process.env.ESCOLARES_PASS}`,
})
.then((res) => {
if (!res.data.nombre || !res.data.carrconst || !res.data.avance)
throw new Error(
'El alumno no cumple con los requicitos para realizar el Servicio Social. Si cree que esto es erroneo comunicate con COESI.'
);
alumno = {
nombre: res.data.nombre.trim(),
creditos: res.data.avance,
carrera: res.data.carrconst.trim(),
};
return Carrera.findOne({ where: { carrera: alumno.carrera } });
})
.then((res) => {
if (!res) return Carrera.create({ carrera: alumno.carrera });
return res;
})
.then((res) => {
alumno.idCarrera = res.idCarrera;
return Usuario.findOne({ where: { usuario: numeroCuenta } });
})
.then((res) => {
if (!res)
return Usuario.create({
usuario: numeroCuenta,
activo: false,
nombre: alumno.nombre,
idTipoUsuario: 3,
});
return res;
})
.then((res) => ({ ...alumno, idUsuario: res.idUsuario }));
};
module.exports = escolares;