Skip to content

feat(web): branches repeat-group in the assignment editor schema#99

Merged
obcode merged 1 commit into
mainfrom
feat/web-branches-fields
Jul 18, 2026
Merged

feat(web): branches repeat-group in the assignment editor schema#99
obcode merged 1 commit into
mainfrom
feat/web-branches-fields

Conversation

@obcode

@obcode obcode commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Der branches-Block (eine Liste von Objekten — Branch-Regeln) reitet im selben flachen Draft wie die Skalarfelder, über indizierte Keys — damit Live-Validierung, Vorschau und Speichern unverändert funktionieren (H1, Backend).

  • branchRuleSchema-Query — Feld-Metadaten einer Branch-Regel: name (+ Flags protect, mergeOnly, default, allowForcePush, codeOwnerApprovalRequired), je mit Beschreibung.
  • assignmentOwn liefert branches.count (Sentinel) + branches.<i>.<feld> pro Regel.
  • applyDraft baut die Liste aus diesen Keys neu auf, gesteuert von branches.count (so kann das GUI die Liste auch leeren); Zeilen ohne Namen fallen weg.

Verifiziert

go test ./web/... (set/own-Roundtrip, namenlose Zeile verworfen, clear-all) · go vet (beide Tags) · golangci-lint · isolierter Live-Check (branchRuleSchema liefert die 6 Felder; zwei Branches persistieren über indizierte Keys).

Nächster Schritt: H2 — Repeat-Group-UI im Assignment-Editor (Zeilen hinzufügen/entfernen).

🤖 Generated with Claude Code

The branches list (a list of branch rules) rides in the same flat draft as the
scalar fields, via indexed keys, so live validation / preview / save all work.

- branchRuleSchema query: field metadata for one branch rule (name + protect,
  mergeOnly, default, allowForcePush, codeOwnerApprovalRequired).
- assignmentOwn emits a branches.count sentinel plus branches.<i>.<field> for
  each rule.
- applyDraft rebuilds the branches list from those keys, driven by branches.count
  (so the GUI can clear the list too); rows without a name are dropped.

Verified: go test ./web/... (set/own round-trip, nameless-row drop, clear-all),
go vet (both tags), golangci-lint, and an isolated live check (branchRuleSchema
lists the 6 fields; setting two branches persists via indexed keys).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@obcode
obcode merged commit 43d9c8a into main Jul 18, 2026
8 checks passed
@obcode
obcode deleted the feat/web-branches-fields branch July 18, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant