UNPKG

commerce-vuex

Version:
72 lines (66 loc) 2.15 kB
import humps from 'lodash-humps'; import servicePricing from './service_pricing.service'; const { doFetchList } = servicePricing export default { namespaced: true, state: { list: [], selected: [], recordsCount: 0, inProgress: false, error: null }, mutations: { inProgress(state, yesOrNo) { state.inProgress = yesOrNo }, setList(state, list) { state.selected = []; for (let i in state.list) { state.selected.push(false); state.selected[i] = false; } state.list = list; }, setListCount(state, number) { state.recordsCount = number; } }, actions: { fetchList: async ({ commit }, { businessEntityId, serviceId, amountLike, appId, pageNumber, limit }) => { commit('inProgress', true) try { const offset = (pageNumber - 1) * limit const response = await doFetchList({ businessEntityId, serviceId, amountLike, appId, limit, offset }) if (response.range !== null) { const recordsCount = response.range.split('/') commit('setListCount', Number(recordsCount[1])) const list = await response.data if (list) { commit('setList', humps((list))) } else commit('setList', []) } } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, /*deleteSelected: async ({ commit }, brandId) => { commit('inProgress', true); try { await doDeleteSelected(brandId); return ({ deleteSelected: true }) } catch (err) { throw 'error' } finally { commit('inProgress', false); } },*/ } }