diff --git a/CLAUDE.md b/CLAUDE.md old mode 100644 new mode 100755 index 3ee0143..d415665 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,6 +28,11 @@ REST-API für das snakkimo-Projekt. Node/Express + PostgreSQL (`pg`, kein ORM), - Status-Felder gegen eine `STATUSES`-Whitelist prüfen → bei Verstoß `400`. - **Sprachen-Suffixe: `_de`, `_en`, `_sv`.** `_se` ist veraltet (falscher ISO-639-1-Code) und wird beim Boot zu `_sv` umbenannt — niemals neue `_se`-Spalten anlegen. +## Bild-Generierungs-Pipeline + +- **`prompt_styles`** — Seed-Tabelle mit fertigen Prompt-Bausteinen (Typen: `fix` / `atmosphere` / `setting`). `themenfeld_id` gruppiert Settings nach Thema (plain UUID, kein FK). 38 Einträge werden beim Boot geseeded. Route: `/api/prompt-styles`. +- **`picture_jobs`** — Job-Queue für die Bildgenerierung. Referenziert eine Kategorie, bis zu drei Prompt-Styles und nach Generierung ein Bild. M2M-Words über `picture_job_words`. Status-Flow: `pending → generating → done | failed`. Route: `/api/picture-jobs` (inkl. `/words`-Subroute für M2M). + ## Auth (zwei Pfade, siehe [src/middleware/auth.js](src/middleware/auth.js)) 1. Statische Tokens aus `API_TOKENS` (komma-separiert) → Server-zu-Server / Admin, keine Rollenprüfung. 2. JWT aus `/auth/login` · `/auth/register`. Rolle `end-user` bekommt auf allen `/api/*` bewusst **403** (App-Gating).