@stylusapparel/shipstation-api-node
Version:
Unofficial Shipstation API Wrapper for Node.js
62 lines (60 loc) • 1.88 kB
JavaScript
;
const { __orders } = require("../constants/url");
const { _formatResponse: _fr } = require("./utils");
module.exports = (__http) => {
const __this = {
_createOrder: (__orderObj) =>
_fr(__http.post(__orders.CREATE_ORDER, __orderObj)),
_createOrders: (__orderArray) =>
_fr(__http.post(__orders.CREATE_ORDERS, __orderArray)),
_updateOrder: (__orderId, __orderUpdateObj) =>
_fr(
__http
.get(__orders.GET_UPDATE_DELETE_ORDER + "/" + __orderId)
.then((res) =>
__http.post(__orders.CREATE_ORDER, {
...res.body,
...__orderUpdateObj,
})
)
),
_deleteOrder: (__orderId) =>
_fr(__http.delete(__orders.GET_UPDATE_DELETE_ORDER + "/" + __orderId)),
_getOrder: (__orderId) =>
_fr(__http.get(__orders.GET_UPDATE_DELETE_ORDER + "/" + __orderId)),
_getAllOrders: (__filters = {}) =>
_fr(
__http.get(
__orders.GET_UPDATE_DELETE_ORDER +
"?" +
new URLSearchParams(__filters || {}).toString()
)
),
_createOrderLabel: (__orderId, __labelObj) =>
_fr(
__http.post(__orders.CREATE_ORDER_LABEL, {
...__labelObj,
orderId: __orderId,
})
),
_cancelOrder: (__orderId) =>
__this._updateOrder(__orderId, {
orderStatus: "cancelled",
}),
_markOrderasShipped: (__orderId, __shipStatusObj) =>
_fr(
__http.post(__orders.MARK_SHIPPED, {
...__shipStatusObj,
orderId: __orderId,
})
),
_holdOrder: (__orderId, __holdUntilDate) =>
_fr(
__http.post(__orders.HOLD_ORDER, {
holdUntilDate: __holdUntilDate,
orderId: __orderId,
})
),
};
return __this;
};