feat(core): Support community packages in scaling-mode (#10228)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2024-08-05 11:52:06 +02:00
committed by GitHub
parent afa43e75f6
commit 88086a41ff
19 changed files with 187 additions and 129 deletions

View File

@@ -5,6 +5,7 @@ import Container from 'typedi';
import { Logger } from 'winston';
import { messageToRedisServiceCommandObject, debounceMessageReceiver } from '../helpers';
import config from '@/config';
import { CommunityPackagesService } from '@/services/communityPackages.service';
export async function handleCommandMessageWebhook(messageString: string) {
const queueModeId = config.getEnv('redis.queueModeId');
@@ -63,6 +64,20 @@ export async function handleCommandMessageWebhook(messageString: string) {
}
await Container.get(ExternalSecretsManager).reloadAllProviders();
break;
case 'community-package-install':
case 'community-package-update':
case 'community-package-uninstall':
if (!debounceMessageReceiver(message, 200)) {
return message;
}
const { packageName, packageVersion } = message.payload;
const communityPackagesService = Container.get(CommunityPackagesService);
if (message.command === 'community-package-uninstall') {
await communityPackagesService.removeNpmPackage(packageName);
} else {
await communityPackagesService.installOrUpdateNpmPackage(packageName, packageVersion);
}
break;
default:
break;