INT-01: REST-API v1 mit Core-JWT-Identität und OpenAPI #92

Closed
patrick wants to merge 0 commits from feature/int-01-rest-api-v1-schnittstellenbeschreibung-dms into integration/dms-gesamtstand
pull from: feature/int-01-rest-api-v1-schnittstellenbeschreibung-dms
Owner

Alle dokument-eigenen Endpunkte unter /api/dms/v1 verdrahtet (internal/apiwiring), vollständig in OpenAPI beschrieben (45 Operationen, GET /openapi.json), Core-Fehlerformat über alle Endpunkte (apierror.Normalize), Identität aus dem Core-Modul-JWT (moduleauth, JWKS-Kontrakt API-05), optionale Rechteentscheidung über Core-Policy (policyclient, RBAC-06). caller nur noch mit Übergangsschalter. Protokoll: dms/docs/INT-01-PRUEFPROTOKOLL.md, Nutzerdoku: dms/docs/API.md.

Durchgeführte Prüfungen (131)

  • Vertragstests Route↔Beschreibung, Fehlerschema, Rechtedeklaration: bestanden (45/45)
  • Fehlerformat je Operation (mit/ohne Token, 405, unbekannter Pfad): bestanden
  • Berechtigungen: fremder Nutzer 403 an jedem Dokumentendpunkt, gefälschter caller/X-User-Id wirkungslos, Token anderer Mandant/abgelaufen/manipuliert 401: bestanden
  • Beispielaufrufe der Doku (14 Blöcke) gegen die verdrahtete Anwendung: bestanden
  • go vet, go test ./... (2 Läufe), gofmt, Port-/Routenskripte, qa02-foundation-gate.sh (inkl. neuem Token-Modus-Schritt): grün
  • tsc und vitest in dms-browser (139/139) und dms-upload (16/16): grün
  • Fix-Iterationen: 2 Runden, kein Problem über 1 Runde

Offen (Core-Kontrakt, Details im Protokoll)

  • Modul-JWT trägt keine Rolle; Policy-Endpunkt braucht sie (Claim role vorgesehen)
  • ServeJWKS ist in keinem laufenden Core-Dienst eingebunden (/jwks 404) → nur Kontrakttest, kein echter Core-Schlüsselsatz
  • dms.*-Rechte müssen in Core-policy_rules gewährt werden
  • Browser hat kein Modul-Token (Übergangsmodus nötig)
  • POST /retention/destroy-callback bleibt ohne Nutzerauthentifizierung (bestehend)
  • Basis enthält PR #89 (INT-11) nicht

Kein Merge, kein Deploy.

🤖 Generated with Claude Code

Alle dokument-eigenen Endpunkte unter `/api/dms/v1` verdrahtet (`internal/apiwiring`), vollständig in OpenAPI beschrieben (45 Operationen, `GET /openapi.json`), Core-Fehlerformat über alle Endpunkte (`apierror.Normalize`), Identität aus dem Core-Modul-JWT (`moduleauth`, JWKS-Kontrakt API-05), optionale Rechteentscheidung über Core-Policy (`policyclient`, RBAC-06). `caller` nur noch mit Übergangsschalter. Protokoll: `dms/docs/INT-01-PRUEFPROTOKOLL.md`, Nutzerdoku: `dms/docs/API.md`. ## Durchgeführte Prüfungen (131) - Vertragstests Route↔Beschreibung, Fehlerschema, Rechtedeklaration: bestanden (45/45) - Fehlerformat je Operation (mit/ohne Token, 405, unbekannter Pfad): bestanden - Berechtigungen: fremder Nutzer 403 an jedem Dokumentendpunkt, gefälschter `caller`/`X-User-Id` wirkungslos, Token anderer Mandant/abgelaufen/manipuliert 401: bestanden - Beispielaufrufe der Doku (14 Blöcke) gegen die verdrahtete Anwendung: bestanden - `go vet`, `go test ./...` (2 Läufe), `gofmt`, Port-/Routenskripte, `qa02-foundation-gate.sh` (inkl. neuem Token-Modus-Schritt): grün - `tsc` und `vitest` in dms-browser (139/139) und dms-upload (16/16): grün - Fix-Iterationen: 2 Runden, kein Problem über 1 Runde ## Offen (Core-Kontrakt, Details im Protokoll) - Modul-JWT trägt keine Rolle; Policy-Endpunkt braucht sie (Claim `role` vorgesehen) - `ServeJWKS` ist in keinem laufenden Core-Dienst eingebunden (`/jwks` 404) → nur Kontrakttest, kein echter Core-Schlüsselsatz - `dms.*`-Rechte müssen in Core-`policy_rules` gewährt werden - Browser hat kein Modul-Token (Übergangsmodus nötig) - `POST /retention/destroy-callback` bleibt ohne Nutzerauthentifizierung (bestehend) - Basis enthält PR #89 (INT-11) nicht Kein Merge, kein Deploy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 6 commits 2026-09-20 23:54:30 +02:00
INT-01: rest-api v1 mit core-jwt-identitaet, openapi und einheitlichem fehlerformat
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
b44c2df15f
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
INT-01: imports, testkorrekturen, complete-status 200
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
06641331da
INT-01: qa02-gate prueft api-auth, betriebsdoku fuer identitaets-variablen
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
6151cbe2ed
INT-01: rechtematrix-test ueber alle dokumentendpunkte
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
83bf82ecc5
INT-01: gofmt
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
5274226d37
INT-01: pruefprotokoll
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
3a92535976
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick added 1 commit 2026-09-20 23:54:31 +02:00
INT-01: pruefprotokoll
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
3a92535976
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick closed this pull request 2026-09-25 23:31:01 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#92