From 04ae4eeb14395cfd7f0f300ac9dde0e0e2e1eb67 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 1 Apr 2023 13:43:12 +0300 Subject: [PATCH] fix: use Knub's config validation logic in API --- backend/src/configValidator.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/configValidator.ts b/backend/src/configValidator.ts index e5b6e5c7..4d62536f 100644 --- a/backend/src/configValidator.ts +++ b/backend/src/configValidator.ts @@ -1,4 +1,4 @@ -import { configUtils, ConfigValidationError, PluginOptions } from "knub"; +import { ConfigValidationError, PluginConfigManager } from "knub"; import moment from "moment-timezone"; import { guildPlugins } from "./plugins/availablePlugins"; import { ZeppelinPlugin } from "./plugins/ZeppelinPlugin"; @@ -34,9 +34,12 @@ export async function validateGuildConfig(config: any): Promise { } const plugin = pluginNameToPlugin.get(pluginName)!; + const configManager = new PluginConfigManager(plugin.defaultOptions || { config: {} }, pluginOptions, { + levels: {}, + parser: plugin.configParser, + }); try { - const mergedOptions = configUtils.mergeConfig(plugin.defaultOptions || {}, pluginOptions); - await plugin.configParser?.(mergedOptions as unknown as PluginOptions); + await configManager.init(); } catch (err) { if (err instanceof ConfigValidationError || err instanceof StrictValidationError) { return `${pluginName}: ${err.message}`;