const drive = require('../../helper/drive'); const validar = require('../../helper/validar'); const Servicio = require('../../db/tablas/Servicio'); const update = async (body, files) => { const idServicio = validar.validarId(body.idServicio); const dataUpdate = {}; return Servicio.findOne({ where: { idServicio } }) .then(async (res) => { if (!res) throw new Error('Este Servicio Social no existe en la db.'); try { if (files['cartaAceptacion'][0].filename) dataUpdate.cartaAceptacion = await drive.uploadFile( `./server/uploads/${files['cartaAceptacion'][0].filename}`, `Carta_Aceptacion.pdf`, 'application/pdf', res.carpeta ); } catch (err) {} try { if (files['cartaTermino'][0].filename) dataUpdate.cartaTermino = await drive.uploadFile( `./server/uploads/${files['cartaTermino'][0].filename}`, `Carta_Termino.pdf`, 'application/pdf', res.carpeta ); } catch (err) {} try { if (files['informeGlobal'][0].filename) dataUpdate.informeGlobal = await drive.uploadFile( `./server/uploads/${files['informeGlobal'][0].filename}`, `Informe_Global.pdf`, 'application/pdf', res.carpeta ); } catch (err) {} if (body.correo) dataUpdate.correo = validar.validarCorreo(body.correo); if (body.fechaInicio) dataUpdate.fechaInicio = validar.validarFecha(body.fechaInicio); if (body.fechaFin) dataUpdate.fechaFin = validar.validarFecha(body.fechaFin); if (body.fechaNacimiento) dataUpdate.fechaNacimiento = validar.validarFecha(body.fechaNacimiento); if (body.direccion) dataUpdate.direccion = validar.validarAlfanumerico( body.direccion, 'La dirección', 200 ); if (body.telefono) dataUpdate.telefono = validar.validarNumero(body.telefono, 15); if (validar.isObjectEmpty(dataUpdate)) throw new Error( 'No se envio nada para actualizar este Servicio Social' ); return Servicio.update(dataUpdate, { where: { idServicio } }); }) .then((res) => ({ message: 'Se guadro correctamente los cambios de este servicio.', })); }; module.exports = update;