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:
1 parent
6677b559f2
commit
c8080fb2eb
2 files changed
+66
No files matched your search
+18
@@ -432,6 +432,24 @@ Dashboards ruft dieselbe.
|
||||
|
||||
---
|
||||
|
||||
## GET /api/liste?ordner=<ordner>
|
||||
|
||||
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/<pfad>
|
||||
|
||||
Braucht einen Token mit dem Recht **darf löschen**.
|
||||
|
||||
Reference in new issue
Block a user