fix: use moodType=STAR for wallmood, parse moodMap from response (v0.4.4)
FW_DEBUG=1 verification revealed: - moodType "LIKE" was silently mapped to "STAR" server-side; use "STAR" directly - Response a00.r.r contains full wall object with moodMap showing actual like state - liked status now derived from moodMap rather than echoing the input bool - SPEC.md updated with fully verified wallmood endpoint details Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -270,22 +270,45 @@ kritisch.
|
||||
POST https://api.familywall.com/api/wallmood
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
**Body-Parameter:**
|
||||
**Body-Parameter (verifiziert via FW_DEBUG=1):**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `wall_message_id` | ja (verifiziert) | Post-ID aus `get_activities` (Format `wall/23431854_31119189`) |
|
||||
| `moodType` | vermutlich ja | `"LIKE"` zum Liken, `"NONE"` zum Unliken (zu verifizieren) |
|
||||
| `wall_message_id` | ja | Post-ID aus `get_activities` (z.B. `wall/23431854_31119189`) |
|
||||
| `moodType` | ja | `"STAR"` (einziger bekannter Wert — entspricht dem Like-Button in der App) |
|
||||
|
||||
**Hinweis:** Parameter-Name `wall_message_id` wurde durch API-Fehlermeldung
|
||||
(`"missing value in: wall_message_id"`) verifiziert. Vorheriger Wert `wallId` war falsch.
|
||||
**Verhalten (verifiziert):**
|
||||
- Toggle-Mechanismus: gleicher Call zum Liken und Unliken
|
||||
- Erster Aufruf → Like setzen, zweiter Aufruf → Like entfernen
|
||||
- `moodType: "LIKE"` wurde als `"STAR"` serverseitig gespeichert → korrekter Wert ist `"STAR"`
|
||||
|
||||
**Verhalten:** Gleicher Endpoint für Like und Unlike. `moodType`-Werte und
|
||||
Response-Struktur noch zu verifizieren via `FW_DEBUG=1`.
|
||||
**Response-Struktur (verifiziert):**
|
||||
```
|
||||
a00.r.r → vollständiges Wall-Message-Objekt
|
||||
.metaId → Post-ID (= wallMessageId)
|
||||
.wallMessageId → Post-ID (identisch zu metaId)
|
||||
.refType → Aktivitätstyp (z.B. "STATUS")
|
||||
.refAction → Letzte Aktion (z.B. "MOOD_STAR")
|
||||
.text → Post-Text
|
||||
.postAccountId → Account-ID des Post-Autors
|
||||
.accountId → Account-ID (identisch)
|
||||
.moodMap → dict: accountId → ["STAR"] wenn geliked
|
||||
.moodStarShortcut → "true" wenn Like-Shortcut aktiv
|
||||
.comments[] → Liste von Kommentaren/Moods
|
||||
.commentId → Kommentar-ID (Format wallComment/...)
|
||||
.accountId → Account-ID des Kommentators
|
||||
.mood → Mood-Typ (z.B. "STAR")
|
||||
.text → Kommentartext (falls vorhanden)
|
||||
.creationDate → Erstelldatum (ISO 8601)
|
||||
.creationDate → Erstelldatum des Posts (ISO 8601)
|
||||
.modifDate → Letztes Änderungsdatum (ISO 8601)
|
||||
.familyId → Kreis-ID (Format family/...)
|
||||
.rights.canUpdate → "true"/"false"
|
||||
.rights.canDelete → "true"/"false"
|
||||
```
|
||||
|
||||
Ein Like erzeugt serverseitig einen neuen Wall-Eintrag (Nebeneffekt).
|
||||
|
||||
**Response-Struktur:** zu verifizieren beim ersten echten Call
|
||||
**Like-Zustand bestimmen:** `moodMap[accountId]` enthält `["STAR"]` wenn der
|
||||
jeweilige Account geliked hat. Leere Map oder fehlender Key = kein Like.
|
||||
|
||||
## Noch zu verifizieren
|
||||
|
||||
@@ -302,4 +325,4 @@ Ein Like erzeugt serverseitig einen neuen Wall-Eintrag (Nebeneffekt).
|
||||
- ~~`taskmark`: korrekter Parameter-Name~~ → **`taskId`** (nicht `metaId`!) (verifiziert)
|
||||
- ~~`metadelete`: korrekter Parameter-Name + Response-Struktur~~ → **`id`**, Response `"true"` (verifiziert)
|
||||
- ~~`wallmood`: Parameter-Name `wallId`~~ → **`wall_message_id`** (verifiziert via API-Fehlermeldung)
|
||||
- `wallmood`: `moodType`-Werte (`"LIKE"` / `"NONE"`?), Toggle vs. explizit, Response-Struktur
|
||||
- ~~`wallmood`: `moodType`-Werte, Toggle vs. explizit, Response-Struktur~~ → vollständig verifiziert via FW_DEBUG=1 (siehe oben)
|
||||
Reference in New Issue
Block a user