docs(spec): document metamood endpoint and mpstar service-worker blocker
Investigated toggle_recipe_favorite (v0.8.3 goal): - mpstar: not registered server-side (Service Worker intercepts it) - metamood: registered, accepts recipe IDs, but self-reaction restriction prevents state changes on own recipes (same as wallmood for own posts) - isFavorite cannot be set via any discovered endpoint Added to SPEC.md: - metamood endpoint spec with known limitations (FiZClassId 8004, self-reaction) - mpstar investigation summary with unblock requirements - mpstar / isFavorite added to Offene Punkte Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -682,9 +682,55 @@ Premium accounts have additional categories beyond the 5 available in free tier.
|
||||
**Limitation:** Currently no API endpoint to list all available categories. Categories are
|
||||
discovered by examining existing recipes or hardcoding known IDs.
|
||||
|
||||
### `metamood` – Rezept-Reaktion (Stern setzen)
|
||||
POST https://api.familywall.com/api/metamood
|
||||
|
||||
**Body-Parameter:**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `id` | ja | Rezept-metaId ⚠️ nicht `metaId`! |
|
||||
| `moodType` | nein | `"STAR"`, `"LIKE"`, `"BEST_MOMENT"`, ... (Wert wird angenommen aber ignoriert) |
|
||||
|
||||
**Response:**
|
||||
```
|
||||
a00.r.r → Rezept-Objekt (FiZClassId: "8004")
|
||||
.metaId → Rezept-ID
|
||||
.isFavorite → aktueller Wert (unverändert)
|
||||
.moodStarShortcut → aktueller Wert (unverändert)
|
||||
.moodMap → aktueller Wert (unverändert)
|
||||
```
|
||||
|
||||
**Bekannte Einschränkungen:**
|
||||
- Eigene Rezepte können nicht reagiert werden (Self-Reaction-Restriction, analog zu `wallmood`)
|
||||
- Der Endpoint akzeptiert Requests (HTTP 200, kein Fehler), verändert aber bei eigenen Rezepten keinen State
|
||||
- `FiZClassId: "8004"` im Response deutet auf "verarbeitet aber nicht geändert" hin
|
||||
- Möglicherweise funktioniert der Endpoint für Rezepte anderer Familienmitglieder (nicht testbar mit Einzel-Account)
|
||||
|
||||
**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing
|
||||
|
||||
### `mpstar` – Rezept als Favorit markieren (Service Worker blockiert)
|
||||
POST https://api.familywall.com/api/mpstar
|
||||
|
||||
**Status:** Nicht direkt zugänglich. Der Server antwortet mit `"The call mpstar is not registered"`.
|
||||
Der Browser-Aufruf `data-fw-onclick="mpstar"` wird vom Service Worker abgefangen und transformiert,
|
||||
bevor er den Server erreicht. Die Transformation ist ohne Service-Worker-Analyse nicht bekannt.
|
||||
|
||||
**Hypothesen zum echten Endpoint:**
|
||||
- Könnte eine transformierte Form von `metamood` sein (mit Verschlüsselung/Token)
|
||||
- Könnte ein separater "Lesezeichen"-Endpoint sein der `isFavorite` setzt (vs. `moodMap`-Stern)
|
||||
- Könnte Premium-only sein
|
||||
|
||||
**Zum Entsperren nötig:**
|
||||
- Service-Worker-Quellcode analysieren (DevTools Application > Service Workers > Source)
|
||||
- ODER: `FW_DEBUG=1` auf einem echten Multi-User-Account mit Rezepten anderer Mitglieder testen
|
||||
|
||||
**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing (ausgiebige Endpoint-Suche)
|
||||
|
||||
## Offene Punkte
|
||||
|
||||
- Unlike-Endpoint (Service Worker blockiert Analyse)
|
||||
- `mpstar` / `isFavorite` für Rezepte (Service Worker blockiert Analyse, siehe oben)
|
||||
- Erinnerungen (reminder) – nur Premium-Account
|
||||
- Wiederholungen (repeat) – nur Premium-Account
|
||||
- Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden)
|
||||
|
||||
Reference in New Issue
Block a user