UNPKG

@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
"use strict"; 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