@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
JavaScript
"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