diff --git a/src/services/configService.ts b/src/services/configService.ts index 97817f76..0d829b92 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -4,7 +4,7 @@ import { repoDir } from "../helpers/pathHelper.ts"; import { args } from "../helpers/commandLineArguments.ts"; import { Inbox } from "../models/inboxModel.ts"; -export interface IConfig extends IConfigRemovedOptions { +export interface IConfig { mongodbUrl: string; logger: { files: boolean; @@ -123,11 +123,7 @@ export const configRemovedOptionsKeys = [ "flawlessRelicsAlwaysGiveSilverReward", "radiantRelicsAlwaysGiveGoldReward", "disableDailyTribute" -] as const; - -type IConfigRemovedOptions = { - [K in (typeof configRemovedOptionsKeys)[number]]?: boolean; -}; +]; export const configPath = path.join(repoDir, args.configPath ?? "config.json"); diff --git a/src/services/configWatcherService.ts b/src/services/configWatcherService.ts index 1788d58a..d0f72981 100644 --- a/src/services/configWatcherService.ts +++ b/src/services/configWatcherService.ts @@ -1,6 +1,13 @@ import chokidar from "chokidar"; import { logger } from "../utils/logger.ts"; -import { config, configPath, configRemovedOptionsKeys, loadConfig, syncConfigWithDatabase } from "./configService.ts"; +import { + config, + configPath, + configRemovedOptionsKeys, + loadConfig, + syncConfigWithDatabase, + type IConfig +} from "./configService.ts"; import { saveConfig, shouldReloadConfig } from "./configWriterService.ts"; import { getWebPorts, startWebServer, stopWebServer } from "./webService.ts"; import { sendWsBroadcast } from "./wsService.ts"; @@ -35,9 +42,11 @@ chokidar.watch(configPath).on("change", () => { export const validateConfig = (): void => { let modified = false; for (const key of configRemovedOptionsKeys) { - if (config[key] !== undefined) { - logger.debug(`Spotted removed option ${key} with value ${config[key]} in config.json.`); - delete config[key]; + if (config[key as keyof IConfig] !== undefined) { + logger.debug( + `Spotted removed option ${key} with value ${String(config[key as keyof IConfig])} in config.json.` + ); + delete config[key as keyof IConfig]; modified = true; } }