From 4886f00826b967662790016912734d4f62de9861 Mon Sep 17 00:00:00 2001 From: Lars Date: Thu, 19 Mar 2026 06:36:37 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20Auth-Token=20f=C3=BCr=20Prompt-Bearbeitu?= =?UTF-8?q?ng=20fehlte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KRITISCHER BUG behoben: - savePrompt() und Aktivieren/Deaktivieren sendeten KEIN Auth-Token - Backend require_admin() warf deshalb 401 Unauthorized - Prompt-Bearbeitung funktionierte überhaupt nicht (auch für Admins) Fix: - X-Auth-Token Header zu beiden fetch()-Calls hinzugefügt - Token aus localStorage wie in anderen Admin-Funktionen Rechtesystem BESTÄTIGT korrekt: ✅ Backend: nur require_admin() darf Prompts ändern ✅ DB: ai_prompts hat KEINE profile_id → universell ✅ Frontend: Tab "Prompts" nur für isAdmin sichtbar Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/Analysis.jsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/Analysis.jsx b/frontend/src/pages/Analysis.jsx index 3838f06..ca9e734 100644 --- a/frontend/src/pages/Analysis.jsx +++ b/frontend/src/pages/Analysis.jsx @@ -150,8 +150,11 @@ export default function Analysis() { } const savePrompt = async (promptId, data) => { + const token = localStorage.getItem('bodytrack_token')||'' await fetch(`/api/prompts/${promptId}`, { - method:'PUT', headers:{'Content-Type':'application/json'}, body:JSON.stringify(data) + method:'PUT', + headers:{'Content-Type':'application/json', 'X-Auth-Token': token}, + body:JSON.stringify(data) }) setEditing(null); await loadAll() } @@ -356,9 +359,14 @@ export default function Analysis() { {p.description &&
{p.description}
}