diff --git a/src/backend/common/infrastructure/config/client/koito.ts b/src/backend/common/infrastructure/config/client/koito.ts index b79a0c53..3f8d95d4 100644 --- a/src/backend/common/infrastructure/config/client/koito.ts +++ b/src/backend/common/infrastructure/config/client/koito.ts @@ -88,6 +88,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { url: partial.KOITO_URL, token: partial.KOITO_TOKEN, diff --git a/src/backend/common/infrastructure/config/client/lastfm.ts b/src/backend/common/infrastructure/config/client/lastfm.ts index 9a9af602..729a87d6 100644 --- a/src/backend/common/infrastructure/config/client/lastfm.ts +++ b/src/backend/common/infrastructure/config/client/lastfm.ts @@ -55,6 +55,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { apiKey: partial.LASTFM_API_KEY, secret: partial.LASTFM_SECRET, diff --git a/src/backend/common/infrastructure/config/client/librefm.ts b/src/backend/common/infrastructure/config/client/librefm.ts index 5f7b9071..a090ceee 100644 --- a/src/backend/common/infrastructure/config/client/librefm.ts +++ b/src/backend/common/infrastructure/config/client/librefm.ts @@ -74,6 +74,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { apiKey: partial.LIBREFM_API_KEY, secret: partial.LIBREFM_SECRET, diff --git a/src/backend/common/infrastructure/config/client/listenbrainz.ts b/src/backend/common/infrastructure/config/client/listenbrainz.ts index 7145ed56..f1de4d24 100644 --- a/src/backend/common/infrastructure/config/client/listenbrainz.ts +++ b/src/backend/common/infrastructure/config/client/listenbrainz.ts @@ -46,6 +46,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { url: partial.LZ_URL, token: partial.LZ_TOKEN, diff --git a/src/backend/common/infrastructure/config/client/maloja.ts b/src/backend/common/infrastructure/config/client/maloja.ts index f1f56147..c670e39c 100644 --- a/src/backend/common/infrastructure/config/client/maloja.ts +++ b/src/backend/common/infrastructure/config/client/maloja.ts @@ -40,6 +40,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { url: partial.MALOJA_URL, apiKey: partial.MALOJA_API_KEY diff --git a/src/backend/common/infrastructure/config/client/rocksky.ts b/src/backend/common/infrastructure/config/client/rocksky.ts index 7f46819c..b9014613 100644 --- a/src/backend/common/infrastructure/config/client/rocksky.ts +++ b/src/backend/common/infrastructure/config/client/rocksky.ts @@ -50,6 +50,7 @@ export const envSchemas: EnvClientSchema ({ + configureAs: 'client', data: { key: partial.ROCKSKY_KEY, token: partial.ROCKSKY_TOKEN, diff --git a/src/backend/common/infrastructure/config/client/tealfm.ts b/src/backend/common/infrastructure/config/client/tealfm.ts index 3dd2a3a2..c12c0926 100644 --- a/src/backend/common/infrastructure/config/client/tealfm.ts +++ b/src/backend/common/infrastructure/config/client/tealfm.ts @@ -29,6 +29,7 @@ export const envSchemas: EnvClientSchema env: envDataSchema, prefix: 'TEALFM', toConfig: (partial) => ({ + configureAs: 'client', data: { identifier: partial.TEALFM_IDENTIFIER, appPassword: partial.TEALFM_APP_PW diff --git a/src/backend/common/infrastructure/config/source/koito.ts b/src/backend/common/infrastructure/config/source/koito.ts index 67b29ceb..3c714b19 100644 --- a/src/backend/common/infrastructure/config/source/koito.ts +++ b/src/backend/common/infrastructure/config/source/koito.ts @@ -21,6 +21,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { url: partial.SOURCE_KOITO_URL, token: partial.SOURCE_KOITO_TOKEN, diff --git a/src/backend/common/infrastructure/config/source/lastfm.ts b/src/backend/common/infrastructure/config/source/lastfm.ts index 137b2015..b0fe9e38 100644 --- a/src/backend/common/infrastructure/config/source/lastfm.ts +++ b/src/backend/common/infrastructure/config/source/lastfm.ts @@ -22,6 +22,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { apiKey: partial.SOURCE_LASTFM_API_KEY, secret: partial.SOURCE_LASTFM_SECRET, diff --git a/src/backend/common/infrastructure/config/source/librefm.ts b/src/backend/common/infrastructure/config/source/librefm.ts index 556bd80b..13f7bef0 100644 --- a/src/backend/common/infrastructure/config/source/librefm.ts +++ b/src/backend/common/infrastructure/config/source/librefm.ts @@ -23,6 +23,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { apiKey: partial.SOURCE_LIBREFM_API_KEY, secret: partial.SOURCE_LIBREFM_SECRET, diff --git a/src/backend/common/infrastructure/config/source/listenbrainz.ts b/src/backend/common/infrastructure/config/source/listenbrainz.ts index 8bca4859..efb38517 100644 --- a/src/backend/common/infrastructure/config/source/listenbrainz.ts +++ b/src/backend/common/infrastructure/config/source/listenbrainz.ts @@ -21,6 +21,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { url: partial.SOURCE_LZ_URL, token: partial.SOURCE_LZ_TOKEN, diff --git a/src/backend/common/infrastructure/config/source/maloja.ts b/src/backend/common/infrastructure/config/source/maloja.ts index abc62324..aaffe55b 100644 --- a/src/backend/common/infrastructure/config/source/maloja.ts +++ b/src/backend/common/infrastructure/config/source/maloja.ts @@ -20,6 +20,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { url: partial.SOURCE_MALOJA_URL, apiKey: partial.SOURCE_MALOJA_API_KEY diff --git a/src/backend/common/infrastructure/config/source/rocksky.ts b/src/backend/common/infrastructure/config/source/rocksky.ts index 55220e26..bd2800d8 100644 --- a/src/backend/common/infrastructure/config/source/rocksky.ts +++ b/src/backend/common/infrastructure/config/source/rocksky.ts @@ -20,6 +20,7 @@ export const envSchemas: EnvSourceSchema ({ + configureAs: 'source', data: { key: partial.SOURCE_ROCKSKY_KEY, handle: partial.SOURCE_ROCKSKY_HANDLE diff --git a/src/backend/common/infrastructure/config/source/tealfm.ts b/src/backend/common/infrastructure/config/source/tealfm.ts index 1d4fa733..be8cf2fa 100644 --- a/src/backend/common/infrastructure/config/source/tealfm.ts +++ b/src/backend/common/infrastructure/config/source/tealfm.ts @@ -23,6 +23,7 @@ export const envSchemas: EnvSourceSchema env: envDataSchema, prefix: 'SOURCE_TEALFM', toConfig: (partial) => ({ + configureAs: 'source', data: { identifier: partial.SOURCE_TEALFM_IDENTIFIER, appPassword: partial.SOURCE_TEALFM_APP_PW diff --git a/src/backend/scrobblers/ScrobbleClients.ts b/src/backend/scrobblers/ScrobbleClients.ts index b8c250b5..7a6f32b0 100644 --- a/src/backend/scrobblers/ScrobbleClients.ts +++ b/src/backend/scrobblers/ScrobbleClients.ts @@ -202,12 +202,13 @@ export default class ScrobbleClients { const parsed = primitiveSchema.parse(entry.config); const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(envSchema.prefix.toUpperCase(), parsed); const parsedEnvConfigValues = envSchema.env.parse(entry.config); - const { data = {}, options = {} } = envSchema.toConfig(parsedEnvConfigValues); + const { data = {}, options = {}, ...rest } = envSchema.toConfig(parsedEnvConfigValues); const transformOptions = transformPresetEnv(envSchema.prefix.toUpperCase()); parsedConfig = { name: `${clientType} - ${entry.source}${entry.pos !== '' ? ` - ${entry.pos}` : ''} `, ...primitives, data, + ...rest, source: generateConfigLocation('client', entry), options: { ...options, diff --git a/src/backend/sources/ScrobbleSources.ts b/src/backend/sources/ScrobbleSources.ts index 4a4cc352..5999a882 100644 --- a/src/backend/sources/ScrobbleSources.ts +++ b/src/backend/sources/ScrobbleSources.ts @@ -223,12 +223,13 @@ export default class ScrobbleSources { const parsed = primitiveSchema.parse(entry.config); const primitives: CommonConfigPrimitives = commonComponentEnvConfigToConfigPrimitives(envSchema.prefix.toUpperCase(), parsed); const parsedEnvConfigValues = envSchema.env.parse(entry.config); - const { data = {}, options = {} } = envSchema.toConfig(parsedEnvConfigValues); + const { data = {}, options = {}, ...rest } = envSchema.toConfig(parsedEnvConfigValues); const transformOptions = transformPresetEnv(envSchema.prefix.toUpperCase()); parsedConfig = { name: `${configType} - ${entry.source}${entry.pos !== '' ? ` - ${entry.pos}` : ''} `, ...primitives, data, + ...rest, source: generateConfigLocation('source', entry), options: { ...options,