# Persönliche Referenzwerte (Profil) ## Überblick Nutzer-spezifische, **historische** Kennwerte (z. B. HF-Schwellen, Trainingshäufigkeit), die **nicht** zur Admin-/Focus-Area-Konfiguration gehören, sondern zum **aktiven Profil** wie Größe oder Ziele. ## Tabellen | Tabelle | Zweck | |--------|--------| | `reference_value_types` | System-seedete Typdefinitionen: stabiler `key`, Anzeige-`label`, optional `default_unit`, `sort_order`, `active`, `metadata` (JSONB). | | `profile_reference_values` | Historische Einträge: `profile_id`, `reference_value_type_id`, `effective_date`, `value_numeric` und/oder `value_text`, `unit`, optionale Felder `source`, `confidence`, `method`, `notes`, `extra` (JSONB). | **Kein** Überschreiben eines einzelnen „aktuellen“ Werts: jede Messung ist eine eigene Zeile. ## Seed-Typen (Migration 037) - `max_heart_rate` (bpm) - `resting_heart_rate` (bpm) - `anaerobic_threshold_hr` (bpm) - `aerobic_threshold_hr` (bpm) - `training_frequency_weekly` (Sessions/Woche) - `fitness_level` (Stufe) Es werden **keine** Benutzerwerte automatisch angelegt. ## Admin (nur Rolle `admin`) - `GET/POST/PUT/DELETE /api/admin/reference-value-types` — vollständiger CRUD auf `reference_value_types` (inkl. inaktiver Typen). - Löschen nur, wenn keine Zeilen in `profile_reference_values` zu diesem Typ existieren (sonst HTTP 409). - UI: **Admin → Ziele & Fokus → Referenz-Kennwerte** (`/admin/reference-value-types`). ## API (Prefix `/api`) - `GET /reference-value-types` — aktive Typen (dynamische UI) - `GET /profile-reference-values?type_key=…` — Liste pro Typ, neueste zuerst - `POST /profile-reference-values` — neuer Eintrag - `PUT /profile-reference-values/{id}` — Aktualisierung - `DELETE /profile-reference-values/{id}` — Löschen Authentifizierung wie üblich; Profil über `X-Profile-Id` / `get_pid` wie andere Module. ## UI **Einstellungen → Karte „Referenzwerte“ → „Referenzwerte verwalten“** (`/settings/reference-values`). Typauswahl per Dropdown (aus API); Verlauf als Tabelle mit Bearbeiten/Löschen; Formular für neue Einträge bzw. Bearbeitung. ## Erweiterbarkeit - Neue Messgrößen: nur **INSERT** in `reference_value_types` (Migration oder Admin-Skript), kein Schema-Wechsel für Nutzerdaten. - Zusatzmetadaten: Spalten `source`, `confidence`, `method`, `notes`, `extra` bereits vorhanden; UI kann später erweitert werden. - Platzierung **profilorientiert**, damit klar ist: Nutzerdaten, keine systemweite Semantik wie Focus Areas.