procurement-vuex
Version:
Commerce vuex module
91 lines (83 loc) • 3.37 kB
JavaScript
import { auth, nav } from 'oak-vuex'
const { getHubAuthHeader } = auth
const { wrapRequest,wrapEmptyRequest} = nav
const hubName = process.env.VUE_APP_RETAINHUB_NAME
const retainProcurementApiUrl = process.env.VUE_APP_RETAINHUB_PROCUREMENT_API_URL
const doPostOne = wrapRequest((templateFields) => {
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Prefer': 'return=representation',
'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName)
},
body: JSON.stringify(
templateFields
)
};
return fetch(`${retainProcurementApiUrl}/purchase_order_template`, requestOptions)
})
const doFetchList = wrapRequest(({ appId, purchaserBusinessEntityId, status}) => {
const requestOptions = {
method: 'GET',
headers: {
'Content-Type': 'application/json',
...getHubAuthHeader(hubName)
}
};
const params = { app_id:`eq.${appId}`, purchaser_business_entity_id: `eq.${purchaserBusinessEntityId}` }
// if (status) params['status'] = `eq.${status}`
if (status == 'All') {}
else if (status) { params['status'] = `eq.${status}` }
else { params['status'] = `eq.active` }
const qs = Object.keys(params).map(key => key + '=' + params[key]).join('&');
return fetch(`${retainProcurementApiUrl}/purchase_order_template?${qs}`, requestOptions)
})
const doFetchOne = wrapRequest(({ appId, templateId}) => {
const requestOptions = {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/vnd.pgrst.object+json',
...getHubAuthHeader(hubName)
}
};
return fetch(`${retainProcurementApiUrl}/purchase_order_template?id=eq.${templateId}&app_id=eq.${appId}`, requestOptions)
})
const doDeleteSelected = wrapEmptyRequest(({purchaseOrderTemplateId}) => {
const requestOptions = {
method: 'DELETE',
headers: {
'Content-Type': 'application/json', ...getHubAuthHeader(hubName)
},
};
return fetch(`${retainProcurementApiUrl}/purchase_order_template?id=in.(${purchaseOrderTemplateId})`, requestOptions)
})
const doPatchOne = wrapRequest((templateFields) => {
const requestOptions = {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/vnd.pgrst.object+json',
'Prefer': 'return=representation',
...getHubAuthHeader(hubName)
},
body: JSON.stringify(
templateFields
) }
return fetch(`${retainProcurementApiUrl}/purchase_order_template?id=eq.${templateFields.id}`, requestOptions)
})
const doPatchOneProperty = wrapRequest(({ purchaseOrderTemplateId, property }) => {
const requestOptions = {
method: 'PATCH',
headers: {
'Content-Type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json',
'Prefer': 'return=representation', ...getHubAuthHeader(hubName)
},
body: JSON.stringify(property)
};
return fetch(`${retainProcurementApiUrl}/purchase_order_template?id=eq.${purchaseOrderTemplateId}`, requestOptions)
})
export default {
doPostOne,doFetchList,doFetchOne,doDeleteSelected,doPatchOne, doPatchOneProperty
}