UNPKG

procurement-vuex

Version:
91 lines (80 loc) 3.24 kB
import { auth, nav } from 'oak-vuex' const { getHubAuthHeader } = auth const { wrapRequest, wrapRequestWithRange,wrapEmptyRequest } = nav const hubName = process.env.VUE_APP_RETAINHUB_NAME const retainProcurementApiUrl = process.env.VUE_APP_RETAINHUB_PROCUREMENT_API_URL const doFetchList = wrapRequestWithRange(() => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Prefer': 'count=exact', ...getHubAuthHeader(hubName) } } return fetch(`${retainProcurementApiUrl}/sales_rep`, requestOptions); //&select=*,brand_product(name),brand_product_id(name,price_wholesale) }) const doPostOne = wrapRequest((retailteam) => { if(retailteam&&retailteam.countries_iso_3){ let iso3 = retailteam.countries_iso_3; delete retailteam.countries_iso_3; retailteam.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(retailteam) } return fetch(`${retainProcurementApiUrl}/retailteam`, requestOptions) }) const doPatchOne = wrapRequest((retailteam) => { if(retailteam&&retailteam.countries_iso_3){ let iso3 = retailteam.countries_iso_3; delete retailteam.countries_iso_3; retailteam.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(retailteam) } return fetch(`${retainProcurementApiUrl}/retailteam?id=eq.${retailteam.id}`, requestOptions) }) const doFetchOne = wrapRequest(({ retailTeamId,appId }) => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName) } } return fetch(`${retainProcurementApiUrl}/retailteam?id=eq.${retailTeamId}&app_id=eq.${appId}`, requestOptions) }) const doDeleteSelected = wrapEmptyRequest(({retailTeamId}) => { const requestOptions = { method: 'DELETE', headers: { 'Content-Type': 'application/json', ...getHubAuthHeader(hubName) }, }; return fetch(`${retainProcurementApiUrl}/retailteam?id=in.(${retailTeamId})`, requestOptions) }) const doFetchRetailTeamLookUpList = wrapRequest(({retailTeam}) => { const requestOptions = { method: 'POST', headers: { 'Content-type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName) }, body: JSON.stringify({ app_id: retailTeam.appId, filter: { business_entity_id: retailTeam.businessEntityId, team_id: retailTeam.teamId } }) }; return fetch(`${retainProcurementApiUrl}/rpc/retailteam_lookup`, requestOptions) }) export default { doFetchOne, doFetchList, doPostOne, doPatchOne, doDeleteSelected,doFetchRetailTeamLookUpList }