procurement-vuex
Version:
Commerce vuex module
40 lines (34 loc) • 1.44 kB
JavaScript
import { auth, nav } from 'oak-vuex'
const { getHubAuthHeader } = auth
const { wrapRequest, wrapRequestWithRange ,wrapEmptyRequest} = nav
const hubName = process.env.VUE_APP_RETAINHUB_NAME
const retainhubCommerceApiUrl = process.env.VUE_APP_RETAINHUB_COMMERCE_API_URL
const retainProcurementApiUrl = process.env.VUE_APP_RETAINHUB_PROCUREMENT_API_URL
const doFetchList = wrapRequestWithRange(({ appId, limit, offset, businessId }) => {
const requestOptions = {
method: 'GET',
headers: { 'Content-type': 'application/json', 'Prefer': 'count=exact', ...getHubAuthHeader(hubName) },
};
const params = { business_id:`eq.${businessId}`,app_id:`eq.${appId}`, limit: limit || 500, offset: offset || 0}
const qs = Object.keys(params).map(key => key + '=' + params[key]).join('&');
return fetch(`${retainProcurementApiUrl}/purchase_order_payment_term?${qs}`, requestOptions);
})
const doPaymentTermsLookupList = wrapRequest(({filter}) => {
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Prefer': 'return=representation', ...getHubAuthHeader(hubName)
},
body: JSON.stringify(
{
filter : filter,
}
)
};
return fetch(`${retainProcurementApiUrl}/rpc/payment_term_lookup
`, requestOptions)
})
export default {
doFetchList, doPaymentTermsLookupList
}