From 98bce1b0da675715b2e5482c0ad61ba21135f62f Mon Sep 17 00:00:00 2001
From: Server-Bibliothek <server-bibliothek@lokal>
Date: Di, 04 Aug 2026 07:00:04 +0200
Subject: [PATCH] Add a desktop client that knows what is installed locally

---
 packages/bibliothek-server/src/bezugsquellen/index.ts |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/packages/bibliothek-server/src/bezugsquellen/index.ts b/packages/bibliothek-server/src/bezugsquellen/index.ts
new file mode 100644
index 0000000..39a2459
--- /dev/null
+++ b/packages/bibliothek-server/src/bezugsquellen/index.ts
@@ -0,0 +1,25 @@
+import type { QuelleTyp } from 'bibliothek-types';
+import type { Bezugsquelle } from './basis';
+import { DirektLinkQuelle } from './direkt-link';
+import { GithubQuelle } from './github';
+import { WingetQuelle } from './winget';
+import { SvnQuelle } from './svn';
+import { GitBuildQuelle } from './git-build';
+
+export type { Abgleichauftrag, Bezugsquelle, QuellenAbgleich } from './basis';
+
+// Registry der automatisch abgleichbaren Bezugsquellen. Eine neue Quellenart
+// hinzufügen = hier einen Eintrag ergänzen. `manuell` fehlt bewusst: dort wird
+// die Datei von Hand hinterlegt, es gibt nichts abzugleichen.
+const registry: Partial<Record<QuelleTyp, Bezugsquelle>> = {
+  direkt: new DirektLinkQuelle(),
+  github: new GithubQuelle(),
+  winget: new WingetQuelle(),
+  svn: new SvnQuelle(),
+  git: new GitBuildQuelle(),
+};
+
+/** Liefert den Handler für einen Quell-Typ (oder undefined, falls unbekannt). */
+export function bezugsquelleFuer(typ: QuelleTyp): Bezugsquelle | undefined {
+  return registry[typ];
+}

--
Gitblit v1.9.3