### feat: implementiere SQLite-Integration und Repository-Refactoring
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 58s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m10s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m0s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m55s
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 58s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m10s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m0s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m55s
- Erstelle Persistenz-Layer mit SQLite-Tabellen für `Verein` und `Reiter` inkl. Queries. - Entferne Mock-Daten in `ReiterViewModel` und nutze Repository-Injektion. - Integriere neue Tabellen und Queries im `DesktopMasterdataRepository`. - Erweitere `VeranstalterWizardViewModel` um lokale Suche mit SQLite-Queries. - Harmonisiere Feldnamen (`remoteReiterResults`) über alle Module hinweg. - Aktualisiere DI-Module (`VeranstalterModule`, `ReiterModule`, `DesktopModule`) mit SQLite-Injektionen. - Refaktor UI-Komponenten und Screens (`ReiterScreen`, `StammdatenImportScreen`) mit neuer Logik.
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ data class ZnsImportState(
|
||||
val errorMessage: String? = null,
|
||||
val isFinished: Boolean = false,
|
||||
val remoteResults: List<ZnsRemoteVerein> = emptyList(),
|
||||
val remoteReiter: List<ZnsRemoteReiter> = emptyList(),
|
||||
val remoteReiterResults: List<ZnsRemoteReiter> = emptyList(),
|
||||
val isSearching: Boolean = false,
|
||||
val lastSyncVersion: String? = null,
|
||||
val isSyncing: Boolean = false,
|
||||
|
||||
+56
@@ -39,3 +39,59 @@ UPDATE SyncEvents SET synced_at = ? WHERE origin_node_id = ? AND sequence_number
|
||||
|
||||
getLastSequenceNumber:
|
||||
SELECT MAX(sequence_number) FROM SyncEvents WHERE origin_node_id = ?;
|
||||
|
||||
-- Stammdaten Tabellen
|
||||
CREATE TABLE LocalVerein (
|
||||
id INTEGER NOT NULL PRIMARY KEY, -- OEBS Nummer oder interne ID
|
||||
oebs_nummer TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
ort TEXT,
|
||||
plz TEXT,
|
||||
bundesland TEXT,
|
||||
is_active INTEGER NOT NULL DEFAULT 1,
|
||||
last_updated INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE LocalReiter (
|
||||
id INTEGER NOT NULL PRIMARY KEY,
|
||||
zns_nummer TEXT,
|
||||
vorname TEXT NOT NULL,
|
||||
nachname TEXT NOT NULL,
|
||||
jahrgang INTEGER,
|
||||
geschlecht TEXT,
|
||||
nation TEXT,
|
||||
is_active INTEGER NOT NULL DEFAULT 1,
|
||||
last_updated INTEGER NOT NULL
|
||||
);
|
||||
|
||||
-- Verein Queries
|
||||
upsertVerein:
|
||||
INSERT OR REPLACE INTO LocalVerein(id, oebs_nummer, name, ort, plz, bundesland, is_active, last_updated)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?);
|
||||
|
||||
selectAllVereine:
|
||||
SELECT * FROM LocalVerein ORDER BY name ASC;
|
||||
|
||||
searchVereine:
|
||||
SELECT * FROM LocalVerein
|
||||
WHERE name LIKE ('%' || ? || '%') OR oebs_nummer LIKE ('%' || ? || '%')
|
||||
ORDER BY name ASC;
|
||||
|
||||
-- Reiter Queries
|
||||
upsertReiter:
|
||||
INSERT OR REPLACE INTO LocalReiter(id, zns_nummer, vorname, nachname, jahrgang, geschlecht, nation, is_active, last_updated)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);
|
||||
|
||||
selectAllReiter:
|
||||
SELECT * FROM LocalReiter ORDER BY nachname ASC, vorname ASC;
|
||||
|
||||
searchReiter:
|
||||
SELECT * FROM LocalReiter
|
||||
WHERE nachname LIKE ('%' || ? || '%') OR vorname LIKE ('%' || ? || '%') OR zns_nummer LIKE ('%' || ? || '%')
|
||||
ORDER BY nachname ASC, vorname ASC;
|
||||
|
||||
deleteAllVereine:
|
||||
DELETE FROM LocalVerein;
|
||||
|
||||
deleteAllReiter:
|
||||
DELETE FROM LocalReiter;
|
||||
|
||||
Reference in New Issue
Block a user