Inject application database contexts
This commit is contained in:
@@ -102,6 +102,11 @@ Ein eigenständiges Runtime-Revisions-Repository existiert nicht.
|
||||
`ProjectDeviceSyncService` und `CircuitNumberingService` kennen nur schmale,
|
||||
fachlich benannte Reader-Interfaces. Ihre SQLite-Repositories werden
|
||||
ausschließlich in `src/server/composition/` erzeugt und injiziert.
|
||||
Auch die allgemeinen Projekt-, Geräte-, Raum-, Geschoss- und Circuit-
|
||||
Repositories verlangen einen expliziten `AppDatabase`-Kontext. Ihre
|
||||
Anwendungsinstanzen werden zentral in
|
||||
`src/server/composition/application-repositories.ts` erzeugt; Controller
|
||||
importieren weder den globalen SQLite-Client noch konkrete Repository-Klassen.
|
||||
`circuit-device-row.insert` und `circuit-device-row.delete` sind atomare
|
||||
Strukturkommandos. Beim Löschen wird die vollständige Zeile im inversen
|
||||
Kommando gesichert, sodass Undo dieselbe UUID und alle Fachwerte wiederherstellt.
|
||||
|
||||
@@ -355,6 +355,9 @@ Implemented foundation:
|
||||
standalone runtime revision repository and store interface are removed
|
||||
- runtime project-device synchronization and circuit-numbering services depend
|
||||
on narrow domain readers; server composition injects the SQLite repositories
|
||||
- all general application repositories require an explicit database context;
|
||||
server composition owns their runtime instances and controllers contain no
|
||||
direct global SQLite access
|
||||
- the legacy consumer UI and application read/write endpoints are removed after verified data cutover
|
||||
- retained legacy rows are accessible only through explicit database upgrade tooling
|
||||
- project devices no longer persist duplicate legacy power, phase, cosPhi or remark fields
|
||||
|
||||
Reference in New Issue
Block a user