UNPKG

@modyo/cli

Version:

Modyo Command Line Interface

120 lines (118 loc) 4.23 kB
/* eslint no-param-reassign: ["error", {"ignorePropertyModificationsFor": ["state"] }] */ import Vuex from 'vuex'; import axios from 'axios'; export default new Vuex.Store({ state: { installment: 0, annualRate: 0, monthlyRate: 0, monthlyAmount: 0, loanAmount: 0, loanPercentage: 0, totalLoanAmount: 0, loanCosts: 0, percentageLoanCosts: 0, equivalentMonthlyRate: 0, cae: 0, stampTax: 0, notaryFee: 0, realStateFee: 0, appraisal: 0, deed: 0, abstractOfTitle: 0, unemploymentInsurance: true, homeownersInsurance: true, termLifeInsurance: true, }, mutations: { SET_INSTALLMENT(state, data) { state.installment = data; }, SET_ANNUAL_RATE(state, data) { state.annualRate = data; }, SET_MONTHLY_RATE(state, data) { state.monthlyRate = data; }, SET_MONTHLY_AMOUNT(state, data) { state.monthlyAmount = data; }, SET_LOAN_AMOUNT(state, data) { state.loanAmount = data; }, SET_LOAN_PERCENTAGE(state, data) { state.loanPercentage = 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_EQUIVALENT_MONTHLY_RATE(state, data) { state.equivalentMonthlyRate = 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_REAL_STATE_FEE(state, data) { state.realStateFee = data; }, SET_APPRAISAL(state, data) { state.appraisal = data; }, SET_DEED(state, data) { state.deed = data; }, SET_ABSTRACT_OF_TITLE(state, data) { state.abstractOfTitle = data; }, SET_TERM_LIFE_INSURANCE(state, data) { state.termLifeInsurance = data; }, SET_UNEMPLOYMENT_INSURANCE(state, data) { state.unemploymentInsurance = data; }, SET_HOMEOWNERS_INSURANCE(state, data) { state.homeownersInsurance = data; }, }, actions: { GET_MORTGAGE_LOAN(context, payload) { return axios.post('https://api-bank.herokuapp.com/api/v1/loans/mortgage-loan', payload) .then((mortgage) => { context.commit('SET_INSTALLMENT', parseFloat(mortgage.data.installment)); context.commit('SET_ANNUAL_RATE', parseFloat(mortgage.data.annualRate)); context.commit('SET_MONTHLY_RATE', parseFloat(mortgage.data.monthlyRate)); context.commit('SET_MONTHLY_AMOUNT', parseFloat(mortgage.data.monthlyAmount)); context.commit('SET_LOAN_AMOUNT', parseFloat(mortgage.data.loanAmount)); context.commit('SET_LOAN_PERCENTAGE', parseFloat(mortgage.data.loanPercentage)); context.commit('SET_TOTAL_LOAN_AMOUNT', parseFloat(mortgage.data.totalLoanAmount)); context.commit('SET_LOAN_COSTS', parseFloat(mortgage.data.loanCosts)); context.commit('SET_PERCENTAGE_LOAN_COSTS', parseFloat(mortgage.data.percentageLoanCosts)); context.commit('SET_EQUIVALENT_MONTHLY_RATE', parseFloat(mortgage.data.equivalentMonthlyRate)); context.commit('SET_CAE', parseFloat(mortgage.data.cae)); context.commit('SET_STAMP_TAX', parseFloat(mortgage.data.stampTax)); context.commit('SET_NOTARY_FEE', parseFloat(mortgage.data.notaryFee)); context.commit('SET_REAL_STATE_FEE', parseFloat(mortgage.data.realStateFee)); context.commit('SET_APPRAISAL', parseFloat(mortgage.data.appraisal)); context.commit('SET_DEED', parseFloat(mortgage.data.deed)); context.commit('SET_ABSTRACT_OF_TITLE', parseFloat(mortgage.data.abstractOfTitle)); context.commit('SET_TERM_LIFE_INSURANCE_AMOUNT', mortgage.data.termLifeInsurance); context.commit('SET_UNEMPLOYMENT_INSURANCE_AMOUNT', mortgage.data.unemploymentInsurance); context.commit('SET_HOMEOWNERS_INSURANCE_AMOUNT', mortgage.data.homeownersInsurance); return mortgage.data; }) .catch(error => error); }, }, });