Number entries on publish, delete media, read the cover

- drafts stay unnumbered, the number is handed out when an entry goes live
- DELETE /api/v1/media/:id and a delete control in the media library
- cover_media_id in the draft read, coverMediaId and coverUrl in the archive read
This commit is contained in:
Matthias G
2026-08-01 12:25:01 +02:00
parent afaa323848
commit 2fd71fd406
31 changed files with 2286 additions and 76 deletions
+13 -18
View File
@@ -1,6 +1,6 @@
# Logbuch API
Stand: 31.07.2026. Diese Datei beschreibt den tatsächlichen Stand. Was noch nicht gebaut ist, steht am Ende unter "Noch nicht vorhanden" und ist dort auch so gekennzeichnet.
Stand: 01.08.2026. Diese Datei beschreibt den tatsächlichen Stand der Schnittstelle.
## Wofür Logbuch da ist
@@ -73,7 +73,7 @@ curl -s -H "Authorization: Bearer $TOKEN" \
Antwort: `{ "items": [...], "meta": { "total", "page", "per_page" } }`
Ein Eintrag in der Liste trägt: `id`, `slug`, `title`, `teaser`, `type`, `audience`, `publishAt`, `number`, `projectSlug`, `projectName`, `projectCode`, `projectColor`.
Ein Eintrag in der Liste trägt: `id`, `slug`, `title`, `teaser`, `type`, `audience`, `publishAt`, `number`, `coverMediaId`, `coverUrl`, `projectSlug`, `projectName`, `projectCode`, `projectColor`.
### GET /api/v1/posts/:slug
@@ -123,6 +123,15 @@ curl -s -X POST -H "Authorization: Bearer $TOKEN" \
Grenzen: nur Bildformate, höchstens 15 MB.
### DELETE /api/v1/media/:id
Löscht ein Bild samt seiner Fassungen. Hängt es noch an einem Beitrag, als Aufmacher oder in einem Block, kommt 409 zurück.
```bash
curl -s -X DELETE -H "Authorization: Bearer $TOKEN" \
http://localhost:4700/api/v1/media/<id>
```
### GET /api/v1/media/file/...
Liefert eine Variante aus. Die Pfade stehen am Medium unter `variants`, je Eintrag mit `width`, `format` und `path`.
@@ -153,23 +162,9 @@ Wer über die API schreibt, schreibt für Menschen. Diese Regeln gelten für jed
**Wer veröffentlicht.** Nicht der Zugang. Ein Mensch schaut drauf und gibt frei. Ein über die API verfasster Beitrag ist immer ein Vorschlag.
## Noch nicht vorhanden
## Nummern
Ehrlich benannt, damit niemand daran vorbei entwickelt. Diese Endpunkte werden gerade gebaut:
| Geplant | Zweck |
|---|---|
| `POST /api/v1/posts` | Beitrag als Entwurf anlegen |
| `PATCH /api/v1/posts/:id` | Entwurf ändern |
| `PUT /api/v1/posts/:id/blocks` | Inhaltsblöcke setzen |
| `GET /api/v1/posts/:id/preview` | Entwurf zurücklesen |
| `DELETE /api/v1/posts/:id` | Entwurf löschen |
| `GET /api/v1/post-types` | verwaltbare Beitragsarten |
| `GET /api/v1/style-guide` | dieser Leitfaden, maschinenlesbar |
| `GET /api/v1/openapi.json` | maschinenlesbare Beschreibung |
| `/admin/api` | diese Dokumentation im Adminbereich |
Solange sie fehlen, kann ein Zugang mit Schreibrecht ausschließlich Bilder hochladen.
Die Nummer eines Eintrags wird beim Veröffentlichen vergeben, nicht beim Anlegen. Ein Entwurf hat `number: null`. Damit bleiben die Nummern im Archiv lückenlos, auch wenn Entwürfe wieder verworfen werden.
## Blocktypen