UNPKG

n8n

Version:

n8n Workflow Automation Tool

80 lines 4.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleCommandMessageWebhook = handleCommandMessageWebhook; const ExternalSecretsManager_ee_1 = require("../../../ExternalSecrets/ExternalSecretsManager.ee"); const License_1 = require("../../../License"); const MessageEventBus_1 = require("../../../eventbus/MessageEventBus/MessageEventBus"); const typedi_1 = __importDefault(require("typedi")); const winston_1 = require("winston"); const helpers_1 = require("../helpers"); const config_1 = __importDefault(require("../../../config")); const communityPackages_service_1 = require("../../../services/communityPackages.service"); async function handleCommandMessageWebhook(messageString) { const queueModeId = config_1.default.getEnv('redis.queueModeId'); const isMainInstance = config_1.default.getEnv('generic.instanceType') === 'main'; const message = (0, helpers_1.messageToRedisServiceCommandObject)(messageString); const logger = typedi_1.default.get(winston_1.Logger); if (message) { logger.debug(`RedisCommandHandler(main): Received command message ${message.command} from ${message.senderId}`); if (message.senderId === queueModeId || (message.targets && !message.targets.includes(queueModeId))) { logger.debug(`Skipping command message ${message.command} because it's not for this instance.`); return message; } switch (message.command) { case 'reloadLicense': if (!(0, helpers_1.debounceMessageReceiver)(message, 500)) { message.payload = { result: 'debounced', }; return message; } if (isMainInstance && !config_1.default.getEnv('multiMainSetup.enabled')) { logger.error('Received command to reload license via Redis, but this should not have happened and is not supported on the main instance yet.'); return message; } await typedi_1.default.get(License_1.License).reload(); break; case 'restartEventBus': if (!(0, helpers_1.debounceMessageReceiver)(message, 200)) { message.payload = { result: 'debounced', }; return message; } await typedi_1.default.get(MessageEventBus_1.MessageEventBus).restart(); case 'reloadExternalSecretsProviders': if (!(0, helpers_1.debounceMessageReceiver)(message, 200)) { message.payload = { result: 'debounced', }; return message; } await typedi_1.default.get(ExternalSecretsManager_ee_1.ExternalSecretsManager).reloadAllProviders(); break; case 'community-package-install': case 'community-package-update': case 'community-package-uninstall': if (!(0, helpers_1.debounceMessageReceiver)(message, 200)) { return message; } const { packageName, packageVersion } = message.payload; const communityPackagesService = typedi_1.default.get(communityPackages_service_1.CommunityPackagesService); if (message.command === 'community-package-uninstall') { await communityPackagesService.removeNpmPackage(packageName); } else { await communityPackagesService.installOrUpdateNpmPackage(packageName, packageVersion); } break; default: break; } return message; } return; } //# sourceMappingURL=handleCommandMessageWebhook.js.map