@cgignite/ignite-sf-commerce
Version:
Salesforce Commerce connector for Ignite
35 lines (30 loc) • 1.29 kB
JavaScript
const { getCouponsData } = require('../helpers/coupons');
const { extractToken } = require('../helpers/functions');
module.exports = function (RED) {
function coupons(config) {
RED.nodes.createNode(this, config);
var node = this;
this.on('input', function (msg) {
var baseURI = 'https://{shortCode}.api.commercecloud.salesforce.com/pricing/coupons/{version}';
reqHeaders = extractToken(msg)
couponsInfo = {
ApiURL: baseURI + config.endpoint,
reqHeaders: msg.reqHeaders ? msg.reqHeaders : reqHeaders,
reqParams: msg.reqParams ? msg.reqParams : {},
reqBody: msg.payload ? msg.payload : {},
shortCode: msg.commerceCloudConfig.shortCode,
version: msg.commerceCloudConfig.version,
organizationId: msg.commerceCloudConfig.organizationId,
method: config.method,
endpoint: config.endpoint,
couponId: config.couponId,
}
getCouponsData(couponsInfo)
.then(response => {
msg.payload = response
node.send(msg)
});
});
}
RED.nodes.registerType("coupons", coupons);
};