diff --git a/src/backend/scrobblers/ScrobbleClients.ts b/src/backend/scrobblers/ScrobbleClients.ts index 7a6f32b0..ef721e71 100644 --- a/src/backend/scrobblers/ScrobbleClients.ts +++ b/src/backend/scrobblers/ScrobbleClients.ts @@ -181,7 +181,10 @@ export default class ScrobbleClients { } } - const clientKeys = envKeys.filter(x => x.includes(clientUpper)); + const envSchema = await getClientEnvSchema(clientType); + const configTypeUpper = envSchema.prefix.toUpperCase(); + + const clientKeys = envKeys.filter(x => x.includes(configTypeUpper)); if (clientKeys.length > 0) { clientUnparsedConfigs.push({ config: pick(process.env, ...clientKeys), @@ -198,12 +201,12 @@ export default class ScrobbleClients { switch (entry.source) { case 'env': { const envSchema = await getClientEnvSchema(clientType); - const primitiveSchema = generateCommonComponentEnvConfigSchema(envSchema.prefix.toUpperCase()); + const primitiveSchema = generateCommonComponentEnvConfigSchema(configTypeUpper); const parsed = primitiveSchema.parse(entry.config); - const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(envSchema.prefix.toUpperCase(), parsed); + const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(configTypeUpper, parsed); const parsedEnvConfigValues = envSchema.env.parse(entry.config); const { data = {}, options = {}, ...rest } = envSchema.toConfig(parsedEnvConfigValues); - const transformOptions = transformPresetEnv(envSchema.prefix.toUpperCase()); + const transformOptions = transformPresetEnv(configTypeUpper); parsedConfig = { name: `${clientType} - ${entry.source}${entry.pos !== '' ? ` - ${entry.pos}` : ''} `, ...primitives, diff --git a/src/backend/sources/ScrobbleSources.ts b/src/backend/sources/ScrobbleSources.ts index 5999a882..e5fbe0c7 100644 --- a/src/backend/sources/ScrobbleSources.ts +++ b/src/backend/sources/ScrobbleSources.ts @@ -178,8 +178,6 @@ export default class ScrobbleSources { let sourceUnparsedConfigs = unparsedConfigs.filter(x => x.type === configType); - const configTypeUpper = configType.toUpperCase(); - let rawConfigs; try { rawConfigs = await readJson(`${this.internalConfig.configDir}/${configType}.json`, { throwOnNotFound: false, logger: childLogger(this.logger, `${configType} Secrets`) }); @@ -202,6 +200,9 @@ export default class ScrobbleSources { } } + const envSchema = await getSourceEnvSchema(configType); + const configTypeUpper = envSchema.prefix.toUpperCase(); + const configKeys = envKeys.filter(x => x.includes(configTypeUpper)); if (configKeys.length > 0) { sourceUnparsedConfigs.push({ @@ -218,13 +219,12 @@ export default class ScrobbleSources { try { switch (entry.source) { case 'env': { - const envSchema = await getSourceEnvSchema(configType); - const primitiveSchema = generateCommonComponentEnvConfigSchema(envSchema.prefix.toUpperCase()); + const primitiveSchema = generateCommonComponentEnvConfigSchema(configTypeUpper); const parsed = primitiveSchema.parse(entry.config); - const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(envSchema.prefix.toUpperCase(), parsed); + const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(configTypeUpper, parsed); const parsedEnvConfigValues = envSchema.env.parse(entry.config); const { data = {}, options = {}, ...rest } = envSchema.toConfig(parsedEnvConfigValues); - const transformOptions = transformPresetEnv(envSchema.prefix.toUpperCase()); + const transformOptions = transformPresetEnv(configTypeUpper); parsedConfig = { name: `${configType} - ${entry.source}${entry.pos !== '' ? ` - ${entry.pos}` : ''} `, ...primitives,