Files
tactical-docs/install-notes/018-repository-schicht-system-overview.md
T
2026-06-14 07:04:09 +00:00

2.7 KiB

018 - Repository-Schicht und System-Overview-Endpunkt

Ziel

Für RUVNOX Tactical wurde eine erste serverseitige Repository-Schicht angelegt. Außerdem wurde ein neuer API-Endpunkt für einfache Systemübersichten ergänzt.

Neuer API-Endpunkt

GET /api/v1/system/overview

Der Endpunkt liefert Zählerstände aus der PostgreSQL-Datenbank.

Neue Serverstruktur

Neue Package-Struktur:

src/main/kotlin/de/ruvnox/tactical/repository

Neue Repository-Dateien:

  • RepositorySupport.kt
  • UserRepository.kt
  • DeviceRepository.kt
  • OperationRoomRepository.kt
  • MessageRepository.kt
  • AuditEventRepository.kt

Neue API-Dateien:

  • SystemDtos.kt
  • SystemRoutes.kt

Geänderte Datei:

  • Main.kt

RepositorySupport.kt

RepositorySupport.kt enthält eine interne Hilfsfunktion queryLong(sql).

Diese Funktion:

  • öffnet eine Datenbankverbindung über Database.connection()
  • führt eine SQL-Abfrage aus
  • gibt den ersten Long-Wert zurück
  • schließt Connection, Statement und ResultSet automatisch

UserRepository

Liefert:

  • countTotal()
  • countActive()

SQL-Basis:

app_users

DeviceRepository

Liefert:

  • countTotal()
  • countActive()

SQL-Basis:

devices

OperationRoomRepository

Liefert:

  • countTotal()
  • countActive()

SQL-Basis:

operation_rooms

MessageRepository

Liefert:

  • countTotal()

SQL-Basis:

messages

AuditEventRepository

Liefert:

  • countTotal()

SQL-Basis:

audit_events

SystemDtos.kt

Neue DTOs:

  • CountSummaryResponse
  • SystemOverviewResponse

SystemOverviewResponse enthält:

  • service
  • status
  • users
  • devices
  • operationRooms
  • messages
  • auditEvents

SystemRoutes.kt

SystemRoutes.kt registriert:

GET /api/v1/system/overview

Der Endpunkt fragt die Repository-Schicht ab und liefert eine JSON-Antwort.

Main.kt

Main.kt registriert jetzt zusätzlich:

systemRoutes()

Neben den bisherigen statusRoutes().

Verifikation

Lokal:

curl -fsS http://127.0.0.1:8080/api/v1/system/overview

Öffentlich:

curl -fsS https://tactical.ruvnox.de/api/v1/system/overview

Sicherheitshinweis

Der Endpunkt ist aktuell noch ungeschützt.

Für den Entwicklungsstand ist das akzeptabel, weil nur Zählerstände ausgegeben werden. Vor produktiver Nutzung muss dieser Endpunkt entweder geschützt, entfernt oder auf interne Nutzung beschränkt werden.

Git-Commit

tactical-server:

Add repository overview endpoint

Abschlussstand

  • Repository-Schicht angelegt
  • Erste DB-Abfragen implementiert
  • System-Overview-Endpunkt ergänzt
  • Build erfolgreich
  • Deployment erfolgreich
  • API lokal geprüft
  • API öffentlich geprüft
  • Server-Repo gepusht
  • Docs-Repo aktualisiert

Nächster Abschnitt

Als nächstes sollte ein Bootstrap-Mechanismus für den ersten Admin-User erstellt werden.