import axios from "axios"; const state = { grupos_de_compra: [], }; const mutations = { setGruposDeCompra(state, { data }) { state.grupos_de_compra = data; }, setSaldo(state, { gdc_id, saldo }) { const barrio = state.grupos_de_compra.find(gdc => gdc.id === gdc_id); const i = state.grupos_de_compra.indexOf(barrio); state.grupos_de_compra[i].saldo = saldo; }, }; const actions = { async getGruposDeCompra({ commit }) { const response = await axios.get('/api/grupos-de-compra'); commit('setGruposDeCompra', response.data); }, async setSaldo({ commit, dispatch }, { gdc_id, saldo }) { try { await axios.post( "api/grupos-de-compra/" + gdc_id + "/saldo", { saldo: saldo } ); commit('setSaldo', { gdc_id: gdc_id, saldo: saldo }); dispatch("ui/toast", { mensaje: 'Saldo modificado con éxito' }, { root: true }); } catch (error) { } }, async cargarSaldos({ commit, dispatch }, formData) { try { const response = await axios.post("/comisiones/saldos", formData, { headers: { "Content-Type": "multipart/form-data", }, }); commit('setGruposDeCompra', response); dispatch("ui/toast", { mensaje: 'Saldos cargados con éxito' }, { root: true }); } catch (error) { console.log(error); dispatch("ui/error", { error: error }, { root: true }); } }, }; const getters = { getSaldo() { return (gdc_id) => state.grupos_de_compra.find(gdc => gdc.id === gdc_id)?.saldo ?? 0; }, }; export default { namespaced: true, state, mutations, actions, getters, };