feat(backend): add PATCH /api/sources/:sourceId (#86)

Add endpoint for users to update their source config
and enabled state. Config is deep-merged with existing
values via lodash.merge and validated against the
provider's schema before persisting.

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-03-22 17:57:54 +00:00
committed by GitHub
parent a6be7b31e7
commit dd2b37938f
11 changed files with 550 additions and 13 deletions

View File

@@ -7,12 +7,13 @@ export type TflSourceProviderOptions =
| { apiKey: string; client?: never }
| { apiKey?: never; client: ITflApi }
const tflConfig = type({
export const tflConfig = type({
"lines?": "string[]",
})
export class TflSourceProvider implements FeedSourceProvider {
readonly sourceId = "aelis.tfl"
readonly configSchema = tflConfig
private readonly apiKey: string | undefined
private readonly client: ITflApi | undefined