const validar = require('../../helper/validar'); const drive = require('../../helper/drive'); const Servicio = require('../../db/tablas/Servicio'); const cartaTermino = async (body, file) => { const idServicio = validar.validarId(body.idServicio); const path = `./server/uploads/${validar.validar(file, 'El archivo', 1000)}`; return Servicio.findOne({ where: { idServicio }, }) .then((res) => { if (!res) throw new Error('Este servicio no existe.'); if (res.cartaAceptacion) throw new Error('Ya se subio la Carta de Aceptación.'); switch (res.idStatus) { case 7: return drive.uploadFile( path, `Carta_Aceptacion.pdf`, 'application/pdf', res.carpeta ); case 1: throw new Error( 'Esta linea de la API solo puede ser usada cuando es estatus del Servicio Social sea 7.' ); case 2: case 3: case 4: case 5: throw new Error( 'Este Servicio Social ya paso la fase de subir la Carta de Aceptación.' ); case 6: throw new Error('Este Servicio Social ya finalizó.'); case 8: case 9: throw new Error( 'Este Servicio Social se encuentra rechazado. No se puede avanzar hasta que se corriga lo necesario.' ); case 10: throw new Error( 'Este Servicio Social fue cancelado. Comunicate con COESI para solucionar tu problema.' ); } }) .then((res) => Servicio.update( { cartaAceptacion: res, idStatus: 1 }, { where: { idServicio } } ) ) .then((res) => ({ message: `Se subio la Carta de Aceptación correctamente.`, })); }; module.exports = cartaTermino;