Add print cover fields and office profile
- Project settings gain siteAddress, workStage, projectLead and projectEditor (project.update-settings schema version 3, migration 0009); versions 2 and 1 stay executable and keep the current cover values. Snapshot schema 6 carries the fields; older versions upgrade with null. - Global office profile (office name/address) next to the document logo: table document_branding_settings, PUT /api/document-branding/office, editable from the print view toolbar. - Cover page reads all fields; empty values show the "[ergänzen]" marker. The Planstände editor column shows the project editor. - Shared logo constants moved to a dependency-free module so the Next.js bundler can import them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
94688d7a8c
commit
bf58296ba5
35 changed files with 3571 additions and 106 deletions
24
AGENTS.md
24
AGENTS.md
|
|
@ -251,8 +251,9 @@ snapshot verifies its checksum and the current-state hash, replaces supported
|
|||
project data atomically and records a new `restore` revision with a complete
|
||||
inverse command. Restore can therefore be undone and redone after a restart.
|
||||
Current snapshot schema version 6 additionally stores the distribution-board
|
||||
info fields `boardNumber`, `location`, `fedFrom` and `remark`; all older
|
||||
supported versions are upgraded with `null` for these fields. Version 5 stores
|
||||
info fields `boardNumber`, `location`, `fedFrom` and `remark` and the project
|
||||
cover fields `siteAddress`, `workStage`, `projectLead` and `projectEditor`;
|
||||
all older supported versions are upgraded with `null` for these fields. Version 5 stores
|
||||
the manual quantity share of every CircuitDeviceRow. Version 4 snapshots are upgraded with
|
||||
`manualQuantity = quantity`; they already contain the complete confirmed
|
||||
external-model source, import batches, room mappings and objects. Version 3
|
||||
|
|
@ -370,6 +371,10 @@ Project settings use the persistent `project.update-settings` command. Project
|
|||
metadata, the public-building classification, both voltage defaults and the
|
||||
enabled distribution-board supply types change in one revision and Undo/Redo
|
||||
restores them together; the project PUT route requires `expectedRevision`.
|
||||
Schema version 3 additionally carries the print cover fields `siteAddress`,
|
||||
`workStage`, `projectLead` and `projectEditor` (migration `0009`); version 2
|
||||
(without them) and baseline version 1 stay executable and keep the current
|
||||
cover values. The PUT route accepts the cover fields optionally.
|
||||
The public-building flag is the future sizing input for requiring halogen-free
|
||||
cables and lines. The system catalog is `AV`, `SV`, `EV`,
|
||||
`USV`, `MSR`, `SiBe`; at least one must be enabled and a type used by a board
|
||||
|
|
@ -474,11 +479,14 @@ Required operations:
|
|||
PRELIMINARY (text match of `fedFrom` against board number/name, plain sum,
|
||||
no upstream simultaneity factor). Replace this once the feed link is modeled.
|
||||
- Colors/fonts are the provisional kbp CD (`--pd-*` variables) until the
|
||||
official CD specification exists. Cover fields shown as "[ergänzen]"
|
||||
(address, Leistungsphase, office staff) have no data model yet.
|
||||
- The document logo is global office branding: table
|
||||
`document_branding_assets` (migration `0008`), endpoints
|
||||
`GET|PUT|DELETE /api/document-branding/logo` and `GET /api/document-branding`.
|
||||
official CD specification exists. Empty cover values are shown as
|
||||
"[ergänzen]"; the Planstände editor column shows the project's current
|
||||
`projectEditor` because snapshots do not record an editor.
|
||||
- The document logo and the office profile (office name/address on the
|
||||
cover) are global office branding: tables `document_branding_assets`
|
||||
(migration `0008`) and `document_branding_settings` (migration `0009`),
|
||||
endpoints `GET|PUT|DELETE /api/document-branding/logo`,
|
||||
`PUT /api/document-branding/office` and `GET /api/document-branding`.
|
||||
It is intentionally outside project revisions, snapshots and transfer.
|
||||
Uploads are PNG/JPEG/SVG up to 2 MB with a content signature check; the logo
|
||||
is served with `nosniff` and a restrictive CSP.
|
||||
|
|
@ -581,8 +589,6 @@ Users must be able to override sizing suggestions.
|
|||
- logical feed link between distribution boards (`fedFrom` stays free text
|
||||
until the project owner decides whether it references a board, a feeding
|
||||
circuit or both) and the resulting hierarchical power summation
|
||||
- data model for the remaining print cover fields (address, Leistungsphase,
|
||||
project lead/editor) and the official kbp CD values
|
||||
|
||||
Do not implement these while working on an unrelated phase.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue