M3: Reorder + Inspiration – Schritt 1 (Logik): Reorder-UseCase, Inspiration-Query (ADR-006), Adopt-UseCase + Unit-Tests
This commit is contained in:
@@ -60,6 +60,16 @@ Status: **final** (2026-09-13, abgestimmt) · Basis: [`anforderungen.md`](anford
|
||||
- `SuggestDishes`-Query: Slow 0.5 / Rarität 0.3 / Hotness 0.2 (ADR-006),
|
||||
5 Vorschläge + „Weitere 5", 1-Klick-Adopt → `CreateDish` mit Referenz
|
||||
- **DoD:** Reorder bleibt nach Reload bestehen; Inspiration klickbar adoptierend
|
||||
- *Konkrete Umsetzung (M1-Konvention, Domäne DE):* Schritt 1 (Logik):
|
||||
`MahlzeitReorderUseCase` (neue ID-Reihenfolge → `sortOrder` neu nummerieren,
|
||||
nur geänderte Positionen updaten, `MahlzeitReorderedEvent`),
|
||||
`MahlzeitInspirationQuery` (Kandidaten = Namen mit ≥ 1 `gegessen`-Eintrag,
|
||||
Repräsentant = neuester `gegessen`-Eintrag, Score nach ADR-006 mit
|
||||
Defaults 0.5/0.3/0.2, `ausschluss`-IDs für „Weitere 5", Sortierung
|
||||
absteigend nach Score, bei Gleichstand alphabetisch), `MahlzeitAdoptUseCase`
|
||||
(Quelle → neue `geplant`-Kopie mit `gegessenAm = null`, `MahlzeitAdoptedEvent`).
|
||||
Schritt 2 (UI): Planungsliste mit SortableJS + `POST /mahlzeiten/reorder`,
|
||||
Inspiration-View `GET /inspiration` + `POST /mahlzeiten/{id}/adopt`.
|
||||
|
||||
### M4 – Härtung & API
|
||||
- `X-Api-Token`-Guard (optional, `.env`) für `GET /api/today` (HA-ready)
|
||||
|
||||
Reference in New Issue
Block a user