@modyo/cli
Version:
Modyo Command Line Interface
120 lines (118 loc) • 4.23 kB
JavaScript
/* 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);
},
},
});