UNPKG

wholesale-vuex

Version:
127 lines (116 loc) 4.71 kB
import { auth, nav } from 'oak-vuex' const { getHubAuthHeader } = auth const { wrapRequest, wrapRequestWithRange ,wrapEmptyRequest} = nav const hubName = process.env.VUE_APP_RETAINHUB_NAME const ashtaOpsApiUrl = process.env.VUE_APP_OPS_SLS_API_URL const retainhubCommerceApiUrl = process.env.VUE_APP_RETAINHUB_COMMERCE_API_URL // const retainProcurementApiUrl = process.env.VUE_APP_RETAINHUB_PROCUREMENT_API_URL const retainWholesaleApiUrl = process.env.VUE_APP_RETAINHUB_WHOLESALE_API_URL const doFetchList = wrapRequestWithRange(({ appId, limit, offset, recipientId }) => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Prefer': 'count=exact', ...getHubAuthHeader(hubName) }, }; const params = { recipient_id:`eq.${recipientId}`,app_id:`eq.${appId}`, limit: limit || 50, offset: offset || 0} const qs = Object.keys(params).map(key => key + '=' + params[key]).join('&'); return fetch(`${retainhubCommerceApiUrl}/payment?${qs}&select=*,business_entity!giver_id(name)`, requestOptions); }) const doFetchOne = wrapRequest(({paymentId}) => { const requestOptions = { method: 'GET', headers: { 'Content-type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', ...getHubAuthHeader(hubName) }, }; return fetch(`${retainhubCommerceApiUrl}/payment?id=eq.${paymentId}&select=*,business_entity!giver_id(name)`, requestOptions); }) const doPostOne = wrapRequest((paymentDetails) => { if(paymentDetails && paymentDetails.currency_iso_3){ let iso3 = paymentDetails.currency_iso_3; delete paymentDetails.currency_iso_3; paymentDetails.currency_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(paymentDetails) }; return fetch(`${retainhubCommerceApiUrl}/payment`, requestOptions) }) const doPatchOne = wrapRequest((paymentDetails) => { if(paymentDetails && paymentDetails.currency_iso_3){ let iso3 = paymentDetails.currency_iso_3; delete paymentDetails.currency_iso_3; paymentDetails.currency_iso3 = iso3; } if(paymentDetails && paymentDetails.business_entity){ delete paymentDetails.business_entity; } const requestOptions = { method: 'PATCH', headers: { 'Content-Type': 'application/json', 'Accept': 'application/vnd.pgrst.object+json', 'Prefer': 'return=representation', ...getHubAuthHeader(hubName) }, body: JSON.stringify(paymentDetails) }; return fetch(`${retainhubCommerceApiUrl}/payment?id=eq.${paymentDetails.id}`, requestOptions) }) const doDeleteSelected = wrapEmptyRequest(({paymentProofId}) => { const requestOptions = { method: 'DELETE', headers: { 'Content-Type': 'application/json', ...getHubAuthHeader(hubName) }, }; return fetch(`${retainhubCommerceApiUrl}/payment?id=in.(${paymentProofId})`, requestOptions) }) const doPaymentLookupList = wrapRequest(({filter}) => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Prefer': 'return=representation', ...getHubAuthHeader(hubName) }, body: JSON.stringify( { filter : filter, } ) }; return fetch(`${retainWholesaleApiUrl}/rpc/payment_lookup `, requestOptions) }) /*const doPostOrderBalancePaymentsAuto = wrapRequest(({purchaseOrderId}) => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Prefer': 'return=representation', ...getHubAuthHeader(hubName) }, body: JSON.stringify( { max_minutes : 0, purchase_order_id: purchaseOrderId } ) }; return fetch(`${retainWholesaleApiUrl}/rpc/purchase_order_balance_payments_auto `, requestOptions) })*/ const doSendFollowUpMail = wrapRequest(({ emailParams }) => { const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({emailParams}) }; return fetch(`${ashtaOpsApiUrl}/send-email`, requestOptions) }) export default { doFetchOne, doFetchList, doSendFollowUpMail, doPostOne, doPatchOne, doDeleteSelected,doPaymentLookupList, // doPostOrderBalancePaymentsAuto }