Skip to main content

GET /api/v1/character/:id/journal

Seznam zápisů deníku postavy. Query:
ParametrDefaultVýznam
page1Stránka
limit20 (max 50)Velikost
searchSubstring v title
entry_idVrátí jen jeden konkrétní zápis
Odpověď: data.items[] s polem likes.count a likes.liked_by_me.

POST /api/v1/character/:id/journal

Vytvoření zápisu. Body:
PoleTyp
titlemax 128
contentJSON array ([{ "type": "paragraph", "text": "..." }])
visibilityenum: VISIBILITY_PUBLIC, VISIBILITY_PROTECTED (default), VISIBILITY_PRIVATE
thumbnailUUID uploadu (volitelné)

PUT /api/v1/character/:id/journal?entry_id=:uuid

Update existujícího zápisu — partial update.

DELETE /api/v1/character/:id/journal?entry_id=:uuid

Smaže zápis. Jen vlastník nebo admin.

GET /api/v1/journal/:id/like

Vrátí stav lajku konkrétního zápisu. Odpověď:
{
  "data": { "count": 7, "liked_by_me": true }
}

POST /api/v1/journal/:id/like

Toggle lajku. Odpověď: { "liked": true, "count": 8, "liked_by_me": true }. Pravidla:
  • Vlastní zápis lajkovat nelze (403).
  • Lajky pouze na PUBLIC a PROTECTED.

Validace viditelnosti

Server kontroluje při GET zápisů:
visibilityKdo vidí
PUBLICkdokoli
PROTECTEDpřihlášený
PRIVATEvlastník + admin
Při neoprávněném přístupu → 404 (záměrně, aby se neprozradilo, že zápis existuje).