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

171 lines
2.7 KiB
Markdown

# 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.