From a92699ae20a6d2772e4fe5b44189485deacf86db Mon Sep 17 00:00:00 2001 From: Kevin Anderson Date: Mon, 2 Mar 2020 15:59:46 -0500 Subject: [PATCH] add network endpoints --- lib/resources/index.js | 3 +- lib/resources/network.js | 80 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 lib/resources/network.js diff --git a/lib/resources/index.js b/lib/resources/index.js index cfa7a67..ce7aa18 100644 --- a/lib/resources/index.js +++ b/lib/resources/index.js @@ -6,5 +6,6 @@ module.exports = { links: require('./links'), merchants: require('./merchants'), orders: require('./orders'), - transactions: require('./transactions') + transactions: require('./transactions'), + network: require('./network') }; diff --git a/lib/resources/network.js b/lib/resources/network.js new file mode 100644 index 0000000..dec27ae --- /dev/null +++ b/lib/resources/network.js @@ -0,0 +1,80 @@ +'use strict'; + +const merge = require('../merge'); + +function orders(requestOptions, requestPromise) { + return { + get: function get(orderId, orgId) { + // + // Gets an order. + // + // @param {string} orderId the order id + // @returns {Object=} a promise + // + const options = merge(requestOptions, { + method: 'GET', + path: `/v1/orders/network/${orgId}/${orderId}` + }); + + return requestPromise(options); + }, + getByBtnRef: function get(btnRef, orgId) { + // + // Lists orders by btn_ref. + // + // @param {string} btnRef the button attribution token + // @returns {Object=} a promise + const options = merge(requestOptions, { + method: 'GET', + path: `/v1/orders/btn-ref/${btnRef}` + }); + + return requestPromise(options); + }, + create: function create(order, orgId) { + // + // Creates an order. + // + // @param {Object} order the order + // @returns {Object=} a promise + // + const options = merge(requestOptions, { + method: 'POST', + path: `/v1/orders/network/${orgId}/` + }); + + return requestPromise(options, order); + }, + update: function update(orderId, order, orgId) { + // + // Updates an order. + // + // @param {string} orderId the order id + // @param {Object} order the order + // @returns {Object=} a promise + // + const options = merge(requestOptions, { + method: 'POST', + path: `/v1/orders/network/${orgId}/${orderId}` + }); + + return requestPromise(options, order); + }, + del: function del(orderId, orgId) { + // + // Deletes an order. + // + // @param {string} orderId the order id + // @returns {Object=} a promise + // + const options = merge(requestOptions, { + method: 'DELETE', + path: `/v1/orders/network/${orgId}/${orderId}` + }); + + return requestPromise(options); + } + }; +} + +module.exports = orders;