UNPKG

@tuanltntu/n8n-nodes-bitrix24

Version:

Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more

118 lines 7.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResourceHandlerFactory = void 0; const CrmResourceHandler_1 = require("./CrmResourceHandler"); const TaskResourceHandler_1 = require("./TaskResourceHandler"); const UserResourceHandler_1 = require("./UserResourceHandler"); const SpaResourceHandler_1 = require("./SpaResourceHandler"); const ActivityResourceHandler_1 = require("./ActivityResourceHandler"); const AutomationResourceHandler_1 = require("./AutomationResourceHandler"); const DocumentGeneratorResourceHandler_1 = require("./DocumentGeneratorResourceHandler"); const ChatResourceHandler_1 = require("./ChatResourceHandler"); const UserFieldResourceHandler_1 = require("./UserFieldResourceHandler"); const FileResourceHandler_1 = require("./FileResourceHandler"); const UserFieldConfigResourceHandler_1 = require("./UserFieldConfigResourceHandler"); const DuplicateResourceHandler_1 = require("./DuplicateResourceHandler"); const TimelineResourceHandler_1 = require("./TimelineResourceHandler"); const DiskResourceHandler_1 = require("./DiskResourceHandler"); const BizprocResourceHandler_1 = require("./BizprocResourceHandler"); const StatusResourceHandler_1 = require("./StatusResourceHandler"); const CalendarResourceHandler_1 = require("./CalendarResourceHandler"); const ChatbotResourceHandler_1 = require("./ChatbotResourceHandler"); const EventsResourceHandler_1 = require("./EventsResourceHandler"); const ListsResourceHandler_1 = require("./ListsResourceHandler"); const ProductResourceHandler_1 = require("./ProductResourceHandler"); const DirectApiResourceHandler_1 = require("./DirectApiResourceHandler"); const OpenLinesResourceHandler_1 = require("./OpenLinesResourceHandler"); const TelephonyResourceHandler_1 = require("./TelephonyResourceHandler"); const EntityResourceHandler_1 = require("./EntityResourceHandler"); const MessageServiceResourceHandler_1 = require("./MessageServiceResourceHandler"); const NotifyResourceHandler_1 = require("./NotifyResourceHandler"); /** * Factory to create the appropriate resource handler */ class ResourceHandlerFactory { /** * Create a handler for the requested resource */ static createHandler(resource, executeFunctions, returnData, options = {}) { // For debugging const isDebugMode = options.debug === true || process.env.DEBUG === "true"; if (isDebugMode) { console.log(`RESOURCE HANDLER FACTORY: Creating handler for resource ${resource}`); console.log(`RESOURCE HANDLER FACTORY: Options:`, JSON.stringify(options)); } // Block the customMethod resource completely if (resource === "customMethod") { throw new Error("Custom API Call is disabled"); } // Add authentication override if forceWebhook is set if (options.forceWebhook === true) { if (isDebugMode) { console.log(`RESOURCE HANDLER FACTORY: Using forced webhook authentication`); } // We'll pass this option to all handlers } // Select the appropriate handler based on the resource type switch (resource) { case "crm": return new CrmResourceHandler_1.CrmResourceHandler(executeFunctions, returnData, options); case "task": return new TaskResourceHandler_1.TaskResourceHandler(executeFunctions, returnData, options); case "user": return new UserResourceHandler_1.UserResourceHandler(executeFunctions, returnData, options); case "spa": return new SpaResourceHandler_1.SpaResourceHandler(executeFunctions, returnData, options); case "activity": return new ActivityResourceHandler_1.ActivityResourceHandler(executeFunctions, returnData, options); case "automation": return new AutomationResourceHandler_1.AutomationResourceHandler(executeFunctions, returnData, options); case "documentGenerator": return new DocumentGeneratorResourceHandler_1.DocumentGeneratorResourceHandler(executeFunctions, returnData, options); case "chat": return new ChatResourceHandler_1.ChatResourceHandler(executeFunctions, returnData, options); case "userField": return new UserFieldResourceHandler_1.UserFieldResourceHandler(executeFunctions, returnData, options); case "file": return new FileResourceHandler_1.FileResourceHandler(executeFunctions, returnData, options); case "userFieldConfig": return new UserFieldConfigResourceHandler_1.UserFieldConfigResourceHandler(executeFunctions, returnData, options); case "duplicate": return new DuplicateResourceHandler_1.DuplicateResourceHandler(executeFunctions, returnData, options); case "timeline": return new TimelineResourceHandler_1.TimelineResourceHandler(executeFunctions, returnData, options); case "disk": return new DiskResourceHandler_1.DiskResourceHandler(executeFunctions, returnData, options); case "bizproc": return new BizprocResourceHandler_1.BizprocResourceHandler(executeFunctions, returnData, options); case "status": return new StatusResourceHandler_1.StatusResourceHandler(executeFunctions, returnData, options); case "calendar": return new CalendarResourceHandler_1.CalendarResourceHandler(executeFunctions, returnData, options); case "chatbot": return new ChatbotResourceHandler_1.ChatbotResourceHandler(executeFunctions, returnData, options); case "events": return new EventsResourceHandler_1.EventsResourceHandler(executeFunctions, returnData, options); case "lists": return new ListsResourceHandler_1.ListsResourceHandler(executeFunctions, returnData, options); case "product": return new ProductResourceHandler_1.ProductResourceHandler(executeFunctions, returnData, options); case "directApi": return new DirectApiResourceHandler_1.DirectApiResourceHandler(executeFunctions, returnData, options); case "openLines": return new OpenLinesResourceHandler_1.OpenLinesResourceHandler(executeFunctions, returnData, options); case "telephony": return new TelephonyResourceHandler_1.TelephonyResourceHandler(executeFunctions, returnData, options); case "entity": return new EntityResourceHandler_1.EntityResourceHandler(executeFunctions, returnData, options); case "messageservice": return new MessageServiceResourceHandler_1.MessageServiceResourceHandler(executeFunctions, returnData, options); case "notify": return new NotifyResourceHandler_1.NotifyResourceHandler(executeFunctions, returnData, options); default: throw new Error(`Unsupported resource: ${resource}`); } } } exports.ResourceHandlerFactory = ResourceHandlerFactory; //# sourceMappingURL=ResourceHandlerFactory.js.map