commerce-vuex
Version:
Commerce vuex module
60 lines (51 loc) • 1.73 kB
JavaScript
import { snakeCase } from 'lodash'
import createHumps from 'lodash-humps/lib/createHumps'
import { auth } from 'oak-vuex'
import { getField, updateField } from 'vuex-map-fields'
import distributorsService from './onboard_registration_request.service'
const { getHubAuthToken } = auth
const oakHubName = process.env.VUE_APP_OAK_HUB_NAME
const ashtaHubName = process.env.VUE_APP_ASHTA_HUB_NAME
const retainHubName = process.env.VUE_APP_RETAINHUB_NAME
const { doPostOne } = distributorsService
const snakes = createHumps(snakeCase)
export default {
namespaced: true,
state: {
inProgress: true,
},
getters: {
getField,
},
mutations: {
updateField,
inProgress(state, yesOrNo) {
state.inProgress = yesOrNo
}
},
actions: {
onboardRegistrationRequest: async ({ commit}, obj) => {
commit('inProgress', true);
try{
let asthaToken= getHubAuthToken(ashtaHubName);
let retainhubToken= getHubAuthToken(retainHubName);
let oakToken= getHubAuthToken(oakHubName);
if(asthaToken && retainhubToken && oakToken && obj.email)
{
const business = await doPostOne({id:obj.id ,asthaToken:asthaToken,retainhubToken:retainhubToken,oakToken:oakToken});
return business;
}
else
{
return { 'outcome' : 'Token'}
}
}
catch (err) {
throw err
}
finally {
commit('inProgress', false)
}
},
}
}