@cgignite/ignite-sf-commerce
Version:
Salesforce Commerce connector for Ignite
34 lines (33 loc) • 1.72 kB
JavaScript
const { getConfigurationData } = require('../helpers/configuration');
module.exports = function (RED) {
function configuration(config) {
RED.nodes.createNode(this, config);
const node = this;
node.commerceCloud = RED.nodes.getNode(config.commerceCloud);
this.on('input', function (msg) {
var shopperTokenBaseUri = "https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/{version}/organizations/{organizationId}/customers/actions/login?siteId={siteId}&clientId={clientId}"
var authTokenBaseUri = 'https://account.demandware.com/dwsso/oauth2/access_token';
var sfCommCloudInfo = {
shopperTokenUri: shopperTokenBaseUri,
authTokenUri: authTokenBaseUri,
tokenType: node.commerceCloud.tokenType,
shortCode: node.commerceCloud.shortCode,
version: node.commerceCloud.version,
organizationId: node.commerceCloud.organizationId,
siteId: node.commerceCloud.siteId,
clientId: node.commerceCloud.clientId,
clientSecret: node.commerceCloud.credentials.clientSecret,
custUsername: node.commerceCloud.custUsername,
custPassword: node.commerceCloud.credentials.custPassword
}
msg.commerceCloudConfig = sfCommCloudInfo
getConfigurationData(sfCommCloudInfo)
.then(response => {
msg.payload = response
msg.commerceCloudToken = response
node.send(msg)
});
});
}
RED.nodes.registerType("configuration", configuration);
};