Files
tessera-ctl/.planning/phases/18-desktop-client-fertigstellen/18-COVERAGE.md
T

2.6 KiB

API Coverage — Gitea REST API (Releases und Release-Dateien)

Full coverage by default. Opt-outs are explicit, reasoned decisions.

Einzige externe Schnittstelle dieser Phase: die Gitea-REST-API der eigenen Instanz (git.vicolab.de, Gitea 1.26.2), angesprochen aus .gitea/scripts/publish-release.sh im CI-Job publish (nur bei Tags v*). Alle Pfade liegen unter /api/v1/repos/{owner}/{repo} (in der Tabelle als … abgekuerzt). Der Bereich ist die Releases-Ressource eines Repositories; alles andere in Gitea (Issues, Pull Requests, Pakete, Wiki, Webhooks, Benutzer) liegt ausserhalb der Phase. Die drei mit "seit 18-01" markierten Faehigkeiten sind neu; die uebrigen INTEGRATE-Zeilen bestehen seit quick-260916-dcz.

capability decision reason
releases: get by tag (GET …/releases/tags/{tag}) INTEGRATE bestehend — Idempotenz (Release vorhanden?)
releases: create (POST /repos/{owner}/{repo}/releases) INTEGRATE bestehend — Release aus CHANGELOG-Abschnitt
releases: update (PATCH /repos/{owner}/{repo}/releases/{id}) INTEGRATE bestehend — Text nachziehen
release assets: list (GET …/releases/{id}/assets) INTEGRATE seit 18-01 — vorhandene Datei gleichen Namens finden
release assets: delete (DELETE …/releases/{id}/assets/{asset_id}) INTEGRATE seit 18-01 — idempotentes Ersetzen
release assets: upload (POST …/releases/{id}/assets?name=, multipart) INTEGRATE seit 18-01 — Tessera-Setup-X.Y.Z.exe und Tessera-X.Y.Z.AppImage
release assets: edit name (PATCH …/assets/{asset_id}) OPT-OUT nicht noetig — Name wird beim Upload gesetzt, Ersetzen laeuft ueber delete + upload
release assets: download via Gitea (GET …/assets/{asset_id}) OPT-OUT explizit ausserhalb — Anwender laden ueber die Tessera-API (D-01/D-08), nicht ueber Gitea
releases: delete (DELETE …/releases/{id}) OPT-OUT nicht noetig — Releases werden nie automatisch entfernt
releases: list (GET …/releases) OPT-OUT nicht noetig — Zugriff erfolgt per Tag
settings: attachment limits (GET /api/v1/settings/attachment) OPT-OUT nur einmalig zur Planung abgefragt (2026-09-16); Release-Anhaenge unterliegen [repository.release] (Voreinstellung 2048 MB, alle Typen) — keine Laufzeitabfrage
actions: runs/jobs/logs (GET …/actions/...) OPT-OUT explizit ausserhalb — der Orchestrator liest CI-Laeufe ueber Gitea-MCP/Weboberflaeche (18-04), kein Skript spricht diese Endpunkte
packages / container registry API OPT-OUT nicht Teil der Phase — der Registry-Push laeuft weiterhin ueber docker push (Phase 6)