Untitled
unknown
plain_text
2 years ago
1.5 kB
3
Indexable
import { protectedService } from "@/plugins/axios" import { EmptyResponse } from "@/plugins/utils" export const state = () => { return { winners: [] } } export const getters = { winners ({ winners }) { return winners || [] }, winnersById: (state) => (id) => { return state.winners.find(product => product.id === id) } } export const mutations = { SET_WINNERS(state, payload) { state.winners = payload }, UPDATE_WINNER(state, award) { const index = state.winners.findIndex(e => e.id === ad.id) state.winners.splice(index, 1, award) }, } export let actions = { async initialize ({ dispatch }) { try { const response = await dispatch('get') return { success: !response.error, response } } catch (error) { return { success: false, error } } }, async get ({ commit }) { try { const response = await protectedService.get('/eventos/lista-ganadores') if (response.data) commit('SET_WINNERS', response.data) return response ?? { error: new EmptyResponse() } } catch (error) { return { error } } }, async getOne ({ commit }, { id } = {}) { try { if (!id) throw new Error('You need an ID to update the winner') const response = await protectedService.get(`/eventos/lista-ganadores/${id}`) console.log("getOne", response.data); if (response?.data) commit('UPDATE_WINNER', response.data) return response ?? { error: new EmptyResponse() } } catch (error) { return { error } } } }
Editor is loading...
Leave a Comment