mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 04:32:42 +00:00
Adds the /api/medications/[id]/side-effects collection + per-row endpoints (GET / POST + DELETE), the SideEffectsSection picker UI, and i18n across the six locales. Mounted on the medication detail page between the drug-level chart and the intake history; only the GLP-1 treatmentClass renders the section. The picker is category → entry chip → 5-Likert severity with an optional 280-char note. The server derives the category from the entry server-side — a client-supplied mismatch returns 422, so a NAUSEA row tagged as INJECTION_SITE never lands in the DB. POST is rate-limited 30/min/user (matching the inventory route); DELETE is allowed at any time because the rows are user-owned and non-clinical, with the audit trail preserving entry + severity + occurredAt so a forensic reconstruction stays possible. DE + EN copy hand-curated; FR / ES / IT / PL drafted from EN with EMA-EPAR-§4.8 terminology. 39 new tests cover the route contract (auth, ownership, validation, category mismatch, rate-limit) and the section's static-render shape (empty state, category badge, severity ladder, entry label, locale switch).