@cgignite/ignite-sf-commerce
Version:
Salesforce Commerce connector for Ignite
38 lines (33 loc) • 1.43 kB
JavaScript
const { getProductsData } = require('../helpers/products');
const { extractToken } = require('../helpers/functions');
module.exports = function (RED) {
function products(config) {
RED.nodes.createNode(this, config);
var node = this;
this.on('input', function (msg) {
var baseURI = 'https://{shortCode}.api.commercecloud.salesforce.com/product/products/{version}';
reqHeaders = extractToken(msg)
productsInfo = {
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,
productId: config.productId,
id: config.Id,
optionId: config.optionId,
attributeId: config.attributeId,
}
getProductsData(productsInfo)
.then(response => {
msg.payload = response
node.send(msg)
});
});
}
RED.nodes.registerType("products", products);
};