Liste eines Ordners, mit Token -- fuer Aufrufer, die die Namen nicht kennen

GET /api/liste?ordner=clothing nennt alle Pfade darin (mit Unterordnern).
/api/fehlende braucht die Namen, und die kennt beim Fotostudio nur der
Spiel-Client -- die Kleidungsnamen entstehen dort aus Natives. Statt 8.000
Namen ueber ein Netzereignis zum Server zu schicken, holt der Server die
Liste, und das Studio prueft selbst.

Schreibweise genau (substr statt LIKE, das in SQLite fuer ASCII
schreibweisenblind ist). Ohne Ordnerfessel wie /exists. Gekappt bei 100.000
mit `gekappt: true` daneben.

Geprueft gegen eine DB-Kopie im eigenen Container: 401 ohne Token, 400 ohne
ordner und mit ../, clothing 2591 Pfade und deckungsgleich mit /api/fehlende,
'Clothing' (gross) leer, items enthaelt items/WEAPON_PISTOL.png.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
D4rkst3randClaude Opus 5.5 committed 2026-10-03 10:06:54 +02:00
1 parent 6677b559f2
commit c8080fb2eb
2 files changed
+66

No files matched your search

+18
View File
@@ -432,6 +432,24 @@ Dashboards ruft dieselbe.
---
## GET /api/liste?ordner=&lt;ordner&gt;
Was liegt in einem Ordner, mit Unterordnern. Für Aufrufer, die die Namen
**nicht** vorher kennen — das Fotostudio erfährt die Kleidungsnamen erst im
Spiel-Client und prüft sie dort gegen diese Liste.
```json
{ "ordner": "clothing", "gesamt": 2591, "gekappt": false,
"pfade": ["clothing/f_c_10_Female_Heist_0.png", "…"] }
```
- Mit Token, ohne Ordnerfessel (wie `/api/exists`).
- **Schreibweise genau**: `?ordner=Clothing` ist ein anderer Ordner.
- Höchstens 100 000 Pfade; darüber steht `gekappt: true`. Eine gekappte
Liste ist **keine** Auskunft über das, was dahinter liegt.
---
## DELETE /api/media/&lt;pfad&gt;
Braucht einen Token mit dem Recht **darf löschen**.