UNPKG

@modyo/cli

Version:

Modyo Command Line Interface

51 lines (48 loc) 1.41 kB
/* eslint no-param-reassign: ["error", {"ignorePropertyModificationsFor": ["state"] }] */ import Vuex from 'vuex'; import axios from 'axios'; export default new Vuex.Store({ state: { isLoadingLoans: false, paramClientId: 1, loans: [], }, mutations: { SET_LOADING_LOANS(state, data) { state.isLoadingLoans = data; }, SET_LOANS(state, data) { state.loans = data; }, SET_PARAM_CLIENT_ID(state, data) { state.paramClientId = data; }, }, actions: { DO_DATA_INITIALIZATION(context) { return new Promise(((resolve, reject) => { context.dispatch('GET_LOANS') .then(() => { resolve(context.state); }) .catch(err => reject(err)); })); }, GET_LOANS(context) { context.commit('SET_LOADING_LOANS', true); context.commit('SET_LOANS', []); return axios.get(`https://api-bank.herokuapp.com/api/v1/clients/${context.state.paramClientId}/loans`) .then((loans) => { context.commit('SET_LOANS', loans.data); context.commit('SET_LOADING_LOANS', false); return loans.data; }) .catch(err => err); }, GET_LOAN_DATA(context, loanData) { return axios.get(`https://api-bank.herokuapp.com/api/v1/loans/${loanData.id}/insurances`) .then(insurances => insurances) .catch(err => err); }, }, });