require('../../config/config'); // const sybase = require('../../config/sybase'); 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 sybase(numeroCuenta) return axios({ method: 'post', url: `${process.env.ESCOLARES}${numeroCuenta}`, data: `${process.env.ESCOLARES_PASS}`, }) .then((res) => { // if (!res[0].nombre || !res[0].carrconst || !res[0].avance) // throw new Error( // 'El alumno no cumple con los requisitos para realizar el Servicio Social. Si cree que esto es erroneo comunicate con COESI.' // ); // alumno = { // nombre: res[0].nombre.trim(), // creditos: res[0].avance, // carrera: res[0].carrconst.trim(), // }; if (!res.data.nombre || !res.data.carrconst || !res.data.avance) throw new Error( 'El alumno no cumple con los requisitos 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;