UNPKG

commerce-vuex

Version:
140 lines (118 loc) 5.08 kB
import { snakeCase } from 'lodash' import createHumps from 'lodash-humps/lib/createHumps' import { getField, updateField } from 'vuex-map-fields' import unclaimedBusinessService from './unclaimed_business.service' import humps from 'lodash-humps' const { doPostOne } = unclaimedBusinessService const snakes = createHumps(snakeCase) export default { namespaced: true, state: { inProgress: true, externalOne:null, }, getters: { getField, }, mutations: { updateField, inProgress(state, yesOrNo) { state.inProgress = yesOrNo }, setExternalOne(state, one) { state.externalOne = one; }, }, actions: { newExternal({ commit },{appId,businessEntityId}) { commit('inProgress', false); commit('setExternalOne', { "companyName": "", "brand": null, "countryId": [], "naics_code":'', "active_profiles":[], "appId":appId, "businessEntityId":businessEntityId }); }, unclaimedBusinessPost: async ({ commit, state }) => { commit('inProgress', true); try { let businessDetails= {"app_id":state.externalOne.appId,"name":state.externalOne.companyName,"active_profiles":state.externalOne.activeProfiles,"owner_id":state.externalOne.businessEntityId} ; //let barndObj=[]; /* let barndIds=[]; state.externalOne.brand.filter((data) =>{ // barndObj.push({'app_id': state.externalOne.appId,'name':data.name }); barndIds.push(data.id); } );*/ let businessBrand = null;// barndObj; let businessServices =[{ "app_id":state.externalOne.appId, "name":state.externalOne.companyName, "naics_code":state.externalOne.naicsCode, "provisionings":{"contract_type": "distributor","retailer_connection_approval":"both","retailer_connection_fee_bearer":"brand-and-distributor"}, "brand_id":state.externalOne.brand, "countries_iso3":state.externalOne.countryId }]; let output= await doPostOne( { businessDetails: businessDetails,businessBrand:businessBrand,businessServices:businessServices } ); commit('inProgress', false); return ({ 'output': humps(output )}); } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, unclaimedBrandOwnerPost: async ({ commit, state },{brandName}) => { commit('inProgress', true); try { let businessDetails= {"app_id":state.externalOne.appId,"name":state.externalOne.companyName,"active_profiles":state.externalOne.activeProfiles,"owner_id":state.externalOne.businessEntityId} ; //let barndObj=[]; // let barndIds=null; let businessBrand = {"app_id":state.externalOne.appId, "name":brandName} let businessServices =[{ "app_id":state.externalOne.appId, "name":state.externalOne.companyName, "naics_code":state.externalOne.naicsCode, "provisionings":null, "brand_id":state.externalOne.barnd, "countries_iso3":state.externalOne.countryId }]; let output= await doPostOne( { businessDetails: businessDetails,businessBrand:businessBrand,businessServices:businessServices } ); commit('inProgress', false); return ({ 'output': humps(output )}); } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, createUnclaimedNewBusiness: async ({ commit, state },{ businessDetails,businessBrand,businessServices }) => { commit('inProgress', true); try { let output= await doPostOne( { businessDetails,businessBrand,businessServices } ); commit('inProgress', false); return ({ 'output': humps(output )}); } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } } } }