diff --git a/docs/circuit-list-editor-api.md b/docs/circuit-list-editor-api.md index 4ed696b..9ed9e0a 100644 --- a/docs/circuit-list-editor-api.md +++ b/docs/circuit-list-editor-api.md @@ -359,8 +359,9 @@ Response sketch: ### Circuit Structure -- `GET /circuit-sections/:sectionId/next-identifier` +- `GET /projects/:projectId/circuit-sections/:sectionId/next-identifier` - preview next identifier for section (`prefix + maxSuffix + 1`) + - returns 404 if the section does not belong to the given project Circuit and device-row field updates, standalone insertions/deletions, single or bulk device-row moves, circuit reorders and explicit renumbering are diff --git a/docs/current-architecture.md b/docs/current-architecture.md index 32f6814..92efc98 100644 --- a/docs/current-architecture.md +++ b/docs/current-architecture.md @@ -476,16 +476,28 @@ Kopieren in ein Projekt erzeugt ein eigenständiges Projektgerät. und Verteilerkomponenten. Separate 1:1-Tabellen halten Stromkreis- und Komponenten-Schutzgeräte. Die früheren flachen Stromkreis-Schutzfelder sind aus der Baseline entfernt. - Ein triggergeführtes Register erzwingt bereits eine normalisierte, + Ein triggergeführtes Register erzwingt eine normalisierte, stromkreislistenweite BMK-Eindeutigkeit über Stromkreise und - Verteilerkomponenten. Snapshot- und Transfer-Integration verwenden aktuell - Snapshot-Schema 5. Persistente Insert/Delete/Update-Commands für - veränderliche Verteilerkomponenten, Gruppen einschließlich befüllter - Unterbäume sowie vollständige Gruppensortierung sind integriert. Der Editor - zeigt die geschützte Struktur an und bearbeitet veränderliche Gruppen- und - Fußkomponenten über dedizierte Command-Modale. Gruppenanlage, -umbenennung, - -sortierung, explizite Neunummerierung, Same-Category-Stromkreiswechsel, - geschütztes Unterbaumlöschen und Stromkreisschutz sind integriert. + Verteilerkomponenten. Der DB-Index normalisiert dabei nur über SQLites + eingebautes `lower()` (rein ASCII), erkennt also z.B. `"Ä1"` und `"ä1"` nicht + als denselben Wert. Die gemeinsame Prüfung + `src/db/repositories/equipment-identifier-uniqueness.persistence.ts` + schließt diese Lücke: Sie normalisiert mit JavaScripts Unicode-fähigem + `toLowerCase()` gegen das vollständige Register der Stromkreisliste und wird + von jedem Anlage-/Umbenennungspfad für Stromkreise und Verteilerkomponenten + aufgerufen, auch dort, wo zuvor kein Vorab-Check existierte. Snapshot- und + Transfer-Integration verwenden aktuell Snapshot-Schema 5. Persistente + Insert/Delete/Update-Commands für veränderliche Verteilerkomponenten, + Gruppen einschließlich befüllter Unterbäume sowie vollständige + Gruppensortierung sind integriert. Der Editor zeigt die geschützte Struktur + an und bearbeitet veränderliche Gruppen- und Fußkomponenten über dedizierte + Command-Modale. Gruppenanlage, -umbenennung, -sortierung, explizite + Neunummerierung, Same-Category-Stromkreiswechsel, geschütztes + Unterbaumlöschen und Stromkreisschutz sind integriert. + Migration `0006` ergänzt additiv Indizes auf `circuits.section_id` und + `circuit_device_rows.circuit_id`, den beiden am häufigsten gefilterten + Fremdschlüsselspalten sowie den Cascade-Delete-Pfaden von Abschnitten und + Stromkreisen. PostgreSQL ist bewusst nicht implementiert. Die Domainregeln und Transaktionsgrenzen sollen portabel bleiben; Schema und Betriebsmodell benötigen