Skip to main content

GET /api/v1/factions

Seznam frakcí. Query:
ParametrDefaultVýznam
typeOPEN vrátí jen veřejně viditelné.
offset0Posun
limit20 (max 50)Velikost
Odpověď: data.items[] se členy a member_count.

GET /api/v1/faction/:id

Detail frakce.

POST /api/v1/factions

Vytvoření frakce. Body:
PoleTyp
name1–64, unikátní
typeOPEN / CLOSED (default CLOSED)
descriptionmax 512 (volitelné)
avatar_idUUID uploadu (volitelné)
cover_idUUID uploadu (volitelné)
Pravidla: uživatel nesmí být v jiné frakci (jinak 409). Efekt: zakladatel se stává LEADER.

PUT /api/v1/faction/:id

Update frakce. Jen LEADER. Pole: name, description, type, avatar_id, cover_id.

DELETE /api/v1/faction/:id

Rozpuštění frakce.
RolePodmínka
LEADERPouze pokud je sám ve frakci.
ADMINBez omezení.

GET /api/v1/faction/:id/members

Seznam členů. Vrací user_id, role, joined_at, invited_by.

PUT /api/v1/faction/:id/members

Změna role člena (typicky předání vedení). Body: { "user_id": "...", "role": "LEADER" } Pravidla: Jen aktuální LEADER. Po předání ztrácí LEADER roli, stává se MEMBER.

DELETE /api/v1/faction/:id/members

Vystoupení nebo vykopnutí. Body bez user_id (vyplníte vlastní): vlastní opuštění. Body s user_id: vykopnutí (jen LEADER). Pravidla: LEADER nemůže opustit, pokud má další členy.