UNPKG

wholesale-vuex

Version:
91 lines (80 loc) 3.19 kB
import { auth, nav } from 'oak-vuex' const { getHubAuthHeader } = auth const { wrapRequest, wrapRequestWithRange,wrapEmptyRequest } = nav const hubName = process.env.VUE_APP_RETAINHUB_NAME const retainWholesaleApiUrl = process.env.VUE_APP_RETAINHUB_WHOLESALE_API_URL const doFetchList = wrapRequestWithRange(() => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Prefer': 'count=exact', ...getHubAuthHeader(hubName) } } return fetch(`${retainWholesaleApiUrl}/sales_rep`, requestOptions); //&select=*,brand_product(name),brand_product_id(name,price_wholesale) }) const doPostOne = wrapRequest((salesteam) => { if(salesteam&&salesteam.countries_iso_3){ let iso3 = salesteam.countries_iso_3; delete salesteam.countries_iso_3; salesteam.countries_iso3 = iso3; } const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', 'Prefer': 'return=representation', ...getHubAuthHeader(hubName) }, body: JSON.stringify(salesteam) } return fetch(`${retainWholesaleApiUrl}/salesteam`, requestOptions) }) const doPatchOne = wrapRequest((salesTeam) => { if(salesTeam&&salesTeam.countries_iso_3){ let iso3 = salesTeam.countries_iso_3; delete salesTeam.countries_iso_3; salesTeam.countries_iso3 = iso3; } const requestOptions = { method: 'PATCH', headers: { 'Content-Type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', 'Prefer': 'return=representation', ...getHubAuthHeader(hubName) }, body: JSON.stringify(salesTeam) } return fetch(`${retainWholesaleApiUrl}/salesteam?id=eq.${salesTeam.id}`, requestOptions) }) const doFetchOne = wrapRequest(({ salesTeamId,appId }) => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName) } } return fetch(`${retainWholesaleApiUrl}/salesteam?id=eq.${salesTeamId}&app_id=eq.${appId}`, requestOptions) }) const doDeleteSelected = wrapEmptyRequest(({salesTeamId}) => { const requestOptions = { method: 'DELETE', headers: { 'Content-Type': 'application/json', ...getHubAuthHeader(hubName) }, }; return fetch(`${retainWholesaleApiUrl}/salesteam?id=in.(${salesTeamId})`, requestOptions) }) const doFetchSalesTeamLookUpList = wrapRequest(({salesTeam}) => { const requestOptions = { method: 'POST', headers: { 'Content-type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName) }, body: JSON.stringify({ app_id: salesTeam.appId, filter: { business_entity_id: salesTeam.businessEntityId, team_id: salesTeam.teamId } }) }; return fetch(`${retainWholesaleApiUrl}/rpc/salesteam_lookup`, requestOptions) }) export default { doFetchOne, doFetchList, doPostOne, doPatchOne, doDeleteSelected,doFetchSalesTeamLookUpList }