n8n-nodes-late
Version:
n8n community node for LATE API - Schedule and manage social media posts across Twitter/X, Instagram, Facebook, LinkedIn, TikTok, YouTube, and Threads
50 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildResourceSelector = buildResourceSelector;
exports.buildOperationSelector = buildOperationSelector;
exports.buildNodeProperties = buildNodeProperties;
const types_1 = require("../types");
function buildResourceSelector() {
return {
displayName: "Resource",
name: "resource",
type: "options",
noDataExpression: true,
options: types_1.LATE_RESOURCES.map(resource => ({
name: resource.name,
value: resource.value,
description: resource.description,
})),
default: "profiles",
};
}
function buildOperationSelector(resource, resourceModule) {
return {
displayName: "Operation",
name: "operation",
type: "options",
noDataExpression: true,
displayOptions: {
show: {
resource: [resource],
},
},
options: resourceModule.operations,
default: resourceModule.operations[0]?.value || "list",
};
}
function buildNodeProperties(resourceModules) {
const properties = [];
// Add resource selector
properties.push(buildResourceSelector());
// Add operation selectors for each resource
Object.entries(resourceModules).forEach(([resource, module]) => {
properties.push(buildOperationSelector(resource, module));
});
// Add all fields from all resources
Object.values(resourceModules).forEach(module => {
properties.push(...module.fields);
});
return properties;
}
//# sourceMappingURL=nodeBuilder.js.map