UNPKG

@modyo/cli

Version:

Modyo Command Line Interface

123 lines (107 loc) 3.41 kB
/* eslint no-param-reassign: ["error", {"ignorePropertyModificationsFor": ["state"] }] */ import Vuex from 'vuex'; import axios from 'axios'; export default new Vuex.Store({ state: { paramClientId: 1, accounts: [], interestRate: '', installment: '', annualRate: '', monthlyAmount: '', totalLoanAmount: '', loanCosts: '', percentageLoanCosts: '', cae: '', stampTax: '', notaryFee: '', monthlyRate: '', disgraceInsurance: '', unemploymentInsurance: '', }, mutations: { SET_PARAM_CLIENT_ID(state, data) { state.paramClientId = data; }, SET_ACCOUNTS(state, data) { state.accounts = data; }, SET_INTEREST_RATE(state, data) { state.interestRate = data; }, SET_INSTALLMENT(state, data) { state.installment = data; }, SET_ANNUAL_RATE(state, data) { state.annualRate = data; }, SET_MONTHLY_AMOUNT(state, data) { state.monthlyAmount = data; }, SET_TOTAL_LOAN_AMOUNT(state, data) { state.totalLoanAmount = data; }, SET_LOAN_COSTS(state, data) { state.loanCosts = data; }, SET_PERCENTAGE_LOAN_COSTS(state, data) { state.percentageLoanCosts = data; }, SET_CAE(state, data) { state.cae = data; }, SET_STAMP_TAX(state, data) { state.stampTax = data; }, SET_NOTARY_FEE(state, data) { state.notaryFee = data; }, SET_MONTHLY_RATE(state, data) { state.monthlyRate = data; }, SET_DISGRACE_INSURANCE(state, data) { state.disgraceInsurance = data; }, SET_UNEMPLOYMENT_INSURANCE(state, data) { state.unemploymentInsurance = data; }, }, actions: { DO_DATA_INITIALIZATION(context) { return new Promise(((resolve, reject) => { context.dispatch('GET_ACCOUNTS') .then((accounts) => { resolve(accounts); }) .catch(err => reject(err)); })); }, GET_ACCOUNTS(context) { return axios.get(`https://api-bank.herokuapp.com/api/v1/clients/${context.state.paramClientId}/accounts`) .then((accounts) => { context.commit('SET_ACCOUNTS', accounts.data); return accounts; }) .catch(err => err); }, GET_LOANS(context, payload) { return axios.post('https://api-bank.herokuapp.com/api/v1/loans/consumer-loan', payload) .then((loan) => { context.commit('SET_INTEREST_RATE', loan.data.interestRate); context.commit('SET_INSTALLMENT', loan.data.installment); context.commit('SET_ANNUAL_RATE', loan.data.annualRate); context.commit('SET_MONTHLY_AMOUNT', loan.data.monthlyAmount); context.commit('SET_TOTAL_LOAN_AMOUNT', loan.data.totalLoanAmount); context.commit('SET_LOAN_COSTS', loan.data.loanCosts); context.commit('SET_PERCENTAGE_LOAN_COSTS', loan.data.percentageLoanCosts); context.commit('SET_CAE', loan.data.cae); context.commit('SET_STAMP_TAX', loan.data.stampTax); context.commit('SET_NOTARY_FEE', loan.data.notaryFee); context.commit('SET_MONTHLY_RATE', loan.data.monthlyRate); context.commit('SET_DISGRACE_INSURANCE', loan.data.disgraceInsurance); context.commit('SET_UNEMPLOYMENT_INSURANCE', loan.data.unemploymentInsurance); return loan; }); }, }, });