const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Carrito = require(`${dbPath}/Carrito`); const TipoCarrito = require(`${dbPath}/TipoCarrito`); const update = async (body) => { const idCarrito = validar.validarNumeroEntero( body.idCarrito, 'id carrito', true ); const idTipoCarrito = body.idTipoCarrito ? validar.validarNumeroEntero(body.idTipoCarrito, 'id tipo carrito', true) : ''; let update = {}; return TipoCarrito.findOne({ where: { idTipoCarrito } }) .then((res) => { if (idTipoCarrito) { if (!res) throw new Error('No existe este tipo carrito.'); update.idTipoCarrito = idTipoCarrito; } return Carrito.findOne({ where: { idCarrito } }); }) .then((res) => { if (!res) throw new Error('No existe este carrito.'); if (body.activo === 'desactivar') update.activo = false; else if (body.activo === 'activar') update.activo = true; if (validar.validarObjetoVacio(update)) throw new Error('No se envió nada para actualizar.'); return Carrito.update(update, { where: { idCarrito } }); }) .then(() => ({ message: 'Se actualizó correctamente el carrito.' })); }; module.exports = update;