Persist circuit cell edits
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
The circuit-first editor uses tree, circuit, row and project-device endpoints.
|
||||
All paths below are mounted below `/api`. There is no Consumer application API.
|
||||
|
||||
Project responses from `GET /projects` and `GET /projects/:projectId` include
|
||||
`currentRevision`. Versioned project commands use this value for optimistic
|
||||
concurrency checks.
|
||||
Project responses from `GET /projects`, `GET /projects/:projectId` and the
|
||||
circuit-tree endpoint include `currentRevision`. Versioned project commands use
|
||||
this value for optimistic concurrency checks.
|
||||
|
||||
### Project Commands and History
|
||||
|
||||
@@ -35,8 +35,9 @@ with stable ids; delete commands include the expected parent identity. Circuit
|
||||
snapshots contain zero, one or multiple complete device rows. Move commands
|
||||
contain each row's expected and target circuit plus its exact expected and
|
||||
target sort order. This makes deletion and moves undoable without generating
|
||||
replacement identities or renumbering circuits. The editor does not consume
|
||||
these endpoints yet.
|
||||
replacement identities or renumbering circuits. Existing Circuit and
|
||||
CircuitDeviceRow cell edits in the editor consume these endpoints; the
|
||||
remaining structural editor writes are still being migrated.
|
||||
|
||||
`circuit-device-row.move` targets existing circuits in the same circuit list.
|
||||
`circuit-device-row.move-with-new-circuit` atomically creates exactly one
|
||||
@@ -137,6 +138,7 @@ Response sketch:
|
||||
```json
|
||||
{
|
||||
"circuitListId": "cl_1",
|
||||
"currentRevision": 12,
|
||||
"sections": [
|
||||
{
|
||||
"id": "sec_1",
|
||||
@@ -167,8 +169,6 @@ Response sketch:
|
||||
- create circuit in list/section
|
||||
- `POST /projects/:projectId/circuit-lists/:circuitListId/circuits-with-device-rows`
|
||||
- atomically create one circuit and one or more initial device rows
|
||||
- `PATCH /circuits/:circuitId`
|
||||
- update circuit-level fields (BMK, protection, cable, reserve flag, etc.)
|
||||
- `DELETE /circuits/:circuitId`
|
||||
- delete circuit (and related rows via DB relations)
|
||||
- `GET /circuit-sections/:sectionId/next-identifier`
|
||||
@@ -189,11 +189,14 @@ Request sketch (`POST .../circuits`):
|
||||
|
||||
- `POST /circuits/:circuitId/device-rows`
|
||||
- create row inside a circuit
|
||||
- `PATCH /circuit-device-rows/:rowId`
|
||||
- update row values
|
||||
- `DELETE /circuit-device-rows/:rowId`
|
||||
- delete row
|
||||
|
||||
Circuit and device-row field updates are available only as versioned
|
||||
`circuit.update` and `circuit-device-row.update` commands through
|
||||
`POST /projects/:projectId/commands`. There are no direct field-update PATCH
|
||||
routes.
|
||||
|
||||
### Move Device Row
|
||||
|
||||
- `PATCH /circuit-device-rows/:rowId/move`
|
||||
|
||||
Reference in New Issue
Block a user