From 203eb0e3ec1490405963a4617faa21799be504d2 Mon Sep 17 00:00:00 2001 From: Timo Behrendt Date: Wed, 8 Jan 2025 12:33:27 +0100 Subject: [PATCH 1/2] fix: replace winston with pino --- bun.lockb | Bin 125622 -> 123426 bytes package.json | 8 +++++--- src/app.ts | 31 ++++++++++++++++++------------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/bun.lockb b/bun.lockb index 0776f04756a61a907301c535e205ff1cfc11fb6b..b55622b3177216a5cdd26f90a8f2f51953abb9da 100755 GIT binary patch delta 25838 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 bFP`$WrhiHcNUAEFp2gM7dw+%7ZS#Ks{9>{( delta 26752 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 F{{z%22 { const mode = getModes(); + logger.info( + `connected to TS3 in modes: ${Object.entries(mode) + .filter(([_, value]) => value) + .map(([key]) => key) + .join(", ")}` + ); + logger.info("connected to TS3"); if (mode.connect) { -- 2.49.1 From 01a8b10c57a0ef1341d8ed3a9267982a776042de Mon Sep 17 00:00:00 2001 From: Timo Behrendt Date: Wed, 8 Jan 2025 12:33:38 +0100 Subject: [PATCH 2/2] fix: mode parsing --- src/env.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/env.ts b/src/env.ts index 6277f55..adc96df 100644 --- a/src/env.ts +++ b/src/env.ts @@ -11,13 +11,16 @@ const envVar = from(process.env, { throw new Error("Invalid log level"); } }, - asTs3GotifyMode: (value): Mode => { + asTs3GotifyMode: (value): Mode[] => { + const parsedValue: string[] = envVar.accessors.asJsonArray(value); + const modes = ["connect", "disconnect", "moved", "message"]; - if (modes.includes(value)) { - return value as Mode; - } else { - throw new Error("Invalid mode"); + for (const mode of parsedValue) { + if (!modes.includes(mode)) { + throw new Error("Invalid mode"); + } } + return parsedValue as Mode[]; }, }); @@ -46,8 +49,4 @@ export const GOTIFY_TITLE = envVar .default("ts3gotify") .asString(); -export const MODE = envVar - .get("MODE") - .default("['connect']") - .asJsonArray() - .map((value) => value.asTs3GotifyMode()); +export const MODE = envVar.get("MODE").default('["connect"]').asTs3GotifyMode(); -- 2.49.1