@tuanltntu/n8n-nodes-bitrix24
Version:
Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more
81 lines • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BITRIX24_MODULES = exports.Bitrix24ModuleManager = void 0;
/**
* Bitrix24 Module Manager - CLEAN VERSION
*
* This version:
* - NO automatic resource injection
* - NO circular dependencies
* - Simple utility functions only
* - Clean separation of concerns
*/
class Bitrix24ModuleManager {
/**
* Simple field creation without any automatic resource injection
*/
static createSimpleField(fieldConfig) {
return JSON.parse(JSON.stringify(fieldConfig));
}
/**
* Create operation field for a specific module (no resource injection)
*/
static createOperationField(operations, operationName = "operation") {
return {
displayName: "Operation",
name: operationName,
type: "options",
noDataExpression: true,
options: operations.map((op) => ({
name: this.capitalize(op),
value: op,
description: `${this.capitalize(op)} operation`,
action: `${this.capitalize(op)}`,
})),
default: operations[0] || "get",
};
}
/**
* Create collection without resource dependencies
*/
static createSimpleCollection(collectionName, showConditions, options) {
return {
displayName: collectionName,
name: collectionName.toLowerCase().replace(/\s+/g, ""),
type: "collection",
placeholder: "Add Option",
default: {},
displayOptions: {
show: showConditions,
},
options: options.map((opt) => {
const cleanOpt = JSON.parse(JSON.stringify(opt));
return cleanOpt;
}),
};
}
/**
* Capitalize string utility
*/
static capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
}
exports.Bitrix24ModuleManager = Bitrix24ModuleManager;
// Clean module constants - no more complex dependency chains
exports.BITRIX24_MODULES = {
CRM: "crm",
TASK: "task",
USER: "user",
FILE: "file",
CALENDAR: "calendar",
DIRECTAPI: "directapi",
ACTIVITY: "activity",
AUTOMATION: "automation",
BIZPROC: "bizproc",
CHAT: "chat",
CHATBOT: "chatbot",
DISK: "disk",
CATALOG: "catalog",
};
//# sourceMappingURL=Bitrix24ModuleManager.js.map