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
|
**Limitation:** Currently no API endpoint to list all available categories. Categories are
|
||||||
discovered by examining existing recipes or hardcoding known IDs.
|
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
|
## Offene Punkte
|
||||||
|
|
||||||
- Unlike-Endpoint (Service Worker blockiert Analyse)
|
- Unlike-Endpoint (Service Worker blockiert Analyse)
|
||||||
|
- `mpstar` / `isFavorite` für Rezepte (Service Worker blockiert Analyse, siehe oben)
|
||||||
- Erinnerungen (reminder) – nur Premium-Account
|
- Erinnerungen (reminder) – nur Premium-Account
|
||||||
- Wiederholungen (repeat) – nur Premium-Account
|
- Wiederholungen (repeat) – nur Premium-Account
|
||||||
- Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden)
|
- Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden)
|
||||||
|
|||||||
Reference in New Issue
Block a user