updating API call method
This commit is contained in:
parent
e30a4e94cd
commit
74a0b66071
12 changed files with 88 additions and 7 deletions
11
package-lock.json
generated
11
package-lock.json
generated
|
|
@ -11,6 +11,7 @@
|
||||||
"axios": "^0.21.4",
|
"axios": "^0.21.4",
|
||||||
"bootstrap": "^5.1.1",
|
"bootstrap": "^5.1.1",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"http-status-codes": "^2.1.4",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"vue-router": "^4.0.11",
|
"vue-router": "^4.0.11",
|
||||||
"vuex": "^4.0.2",
|
"vuex": "^4.0.2",
|
||||||
|
|
@ -7912,6 +7913,11 @@
|
||||||
"npm": ">=1.3.7"
|
"npm": ">=1.3.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/http-status-codes": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-MZVIsLKGVOVE1KEnldppe6Ij+vmemMuApDfjhVSLzyYP+td0bREEYyAoIw9yFePoBXManCuBqmiNP5FqJS5Xkg=="
|
||||||
|
},
|
||||||
"node_modules/https-browserify": {
|
"node_modules/https-browserify": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
|
||||||
|
|
@ -21961,6 +21967,11 @@
|
||||||
"sshpk": "^1.7.0"
|
"sshpk": "^1.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"http-status-codes": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-MZVIsLKGVOVE1KEnldppe6Ij+vmemMuApDfjhVSLzyYP+td0bREEYyAoIw9yFePoBXManCuBqmiNP5FqJS5Xkg=="
|
||||||
|
},
|
||||||
"https-browserify": {
|
"https-browserify": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
"axios": "^0.21.4",
|
"axios": "^0.21.4",
|
||||||
"bootstrap": "^5.1.1",
|
"bootstrap": "^5.1.1",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"http-status-codes": "^2.1.4",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"vue-router": "^4.0.11",
|
"vue-router": "^4.0.11",
|
||||||
"vuex": "^4.0.2",
|
"vuex": "^4.0.2",
|
||||||
|
|
|
||||||
60
src/global-methods.js
Normal file
60
src/global-methods.js
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
import axios from 'axios';
|
||||||
|
import { StatusCodes } from 'http-status-codes';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
callHttpClient({
|
||||||
|
method,
|
||||||
|
endpoint,
|
||||||
|
payload,
|
||||||
|
responseType = {},
|
||||||
|
ignoreErrors = false
|
||||||
|
}) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// Grab our accessToken from Okta.
|
||||||
|
const accessToken = this.getBearerTokenForStorage();
|
||||||
|
|
||||||
|
// Merge payload with analytics data
|
||||||
|
const payloadAndAnalyticsData = Object.assign({}, payload, {
|
||||||
|
AppName: "Agency Advantage Dashboard"
|
||||||
|
});
|
||||||
|
|
||||||
|
axios({
|
||||||
|
method: method,
|
||||||
|
url: endpoint,
|
||||||
|
//data: payloadAndAnalyticsData,
|
||||||
|
crossdomain: true,
|
||||||
|
responseType: responseType
|
||||||
|
// headers: {
|
||||||
|
// Authorization: `Bearer ${accessToken}`
|
||||||
|
// }
|
||||||
|
})
|
||||||
|
.then(function(response) {
|
||||||
|
if (response.data.isSuccess || (response.status == 200)) {
|
||||||
|
resolve(response);
|
||||||
|
} else {
|
||||||
|
reject(response);
|
||||||
|
}
|
||||||
|
}, error => {
|
||||||
|
let statusCode = error.response.status;
|
||||||
|
let message = 'Sorry, something happened on our end. Please try again';
|
||||||
|
if (!ignoreErrors) {
|
||||||
|
switch (statusCode) {
|
||||||
|
case StatusCodes.UNAUTHORIZED:
|
||||||
|
this.createPromiseRejection("Unauthorized, routing back to login page.", error.response, reject, true, false);
|
||||||
|
break;
|
||||||
|
case StatusCodes.BAD_REQUEST:
|
||||||
|
this.createPromiseRejection(error.response.data, error.response, reject, true, false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getBearerTokenForStorage() {
|
||||||
|
try {
|
||||||
|
return JSON.parse(localStorage.getItem('okta-token-storage')).accessToken.accessToken;
|
||||||
|
} catch (error) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { createWebHistory, createRouter } from "vue-router";
|
import { createWebHistory, createRouter } from "vue-router";
|
||||||
import Home from "@/layouts/ContentSite/Home.vue";
|
import Home from "@/layouts/ContentSite/Home.vue";
|
||||||
import SelectYear from "@/layouts/CarFunnel/SelectCar/SelectYear.vue";
|
import SelectYear from "@/layouts/FMG/Vehicle/SelectYear.vue";
|
||||||
import SelectMake from "@/layouts/CarFunnel/SelectCar/SelectMake.vue";
|
import SelectMake from "@/layouts/FMG/Vehicle/SelectMake.vue";
|
||||||
import SelectModel from "@/layouts/CarFunnel/SelectCar/SelectModel.vue";
|
import SelectModel from "@/layouts/FMG/Vehicle/SelectModel.vue";
|
||||||
import SelectStyle from "@/layouts/CarFunnel/SelectCar/SelectStyle.vue";
|
import SelectStyle from "@/layouts/FMG/Vehicle/SelectStyle.vue";
|
||||||
import SelectDamage from "@/layouts/CarFunnel/Damage/SelectDamage.vue";
|
import SelectDamage from "@/layouts/FMG/Damage/SelectDamage.vue";
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { createStore } from 'vuex';
|
import { createStore } from 'vuex';
|
||||||
import createPersistedState from 'vuex-persistedstate';
|
import createPersistedState from 'vuex-persistedstate';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import globalMethods from '../global-methods'
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
|
||||||
export default createStore({
|
export default createStore({
|
||||||
|
|
@ -22,7 +23,7 @@ export default createStore({
|
||||||
mutations: {
|
mutations: {
|
||||||
updateYear(state, data){
|
updateYear(state, data){
|
||||||
state.year = data.year;
|
state.year = data.year;
|
||||||
state.makes = data.makes.data.Result;
|
state.makes = data.makes;
|
||||||
state.slideTransition = 'slide'
|
state.slideTransition = 'slide'
|
||||||
},
|
},
|
||||||
updateMake(state, data){
|
updateMake(state, data){
|
||||||
|
|
@ -49,7 +50,15 @@ export default createStore({
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
async selectYear(context, year){
|
async selectYear(context, year){
|
||||||
const makes = await axios.get(`https://mockey.qa.sagaws.net/service/makes/year=${year}`);
|
let makes = [];
|
||||||
|
await globalMethods.callHttpClient({
|
||||||
|
method: 'GET',
|
||||||
|
endpoint: `https://mockey.qa.sagaws.net/service/makes/year=${year}`,
|
||||||
|
payload: {},
|
||||||
|
})
|
||||||
|
.then(function (response) {
|
||||||
|
makes = response.data.Result;
|
||||||
|
});
|
||||||
context.commit('updateYear', {year, makes});
|
context.commit('updateYear', {year, makes});
|
||||||
router.push(`/select-make?year=${year}`);
|
router.push(`/select-make?year=${year}`);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue