bytedream 95daaddb9b
All checks were successful
deploy / build-and-deploy (push) Successful in 13s
show the required read time in the rules popup more clearly
2025-05-31 14:52:13 +02:00
2025-05-18 13:16:20 +02:00
2025-05-18 13:16:20 +02:00
2025-05-18 15:32:11 +02:00
2025-05-18 13:16:20 +02:00
2025-05-18 13:16:20 +02:00
2025-05-18 21:10:15 +02:00
2025-05-18 13:16:20 +02:00
2025-05-18 21:57:19 +02:00
2025-05-18 21:57:19 +02:00
2025-05-18 22:49:28 +02:00
2025-05-18 13:16:20 +02:00

API

Wenn die env variable API_SECRET gesetzt ist, muss jede API Request den HTTP Header Authorization: Basic <API_SECRET> haben.

POST /api/feedback (Erstellt Feedbackformulare)
Request Body
{
  // Interner Event Name (oder ID)
  "event": string,
  // Event Titel, wird über dem Feedbackformular angezeigt
  "title": string,
  // UUIDs aller Spieler, die das Feedback ausfüllen sollen
  "users": string[]
}
Response Codes
http code beschreibung
200 /
400 Der Request Body ist falsch
401 Es wurde ein falsches API Secret angegeben
Response Body
{
  "feedback": {
    // UUID eines Spieler
    "uuid": string
    // URL zum Feedbackformular
    "url": string
  }[]
}
POST /api/player/death (Registriert einen Spielertod)
Request Body
{
  // UUID des getöteten Spielers
  "user": string,
  // UUID des Spielers, der den Kill gemacht hat
  "killer": string | null,
  // Todesnachricht
  "message": string
}
Response Codes
http code beschreibung
200 /
400 Der Request Body ist falsch
401 Es wurde ein falsches API Secret angegeben
404 Der getötete Spieler, oder der Spieler der den Kill gemacht hat, existiert nicht
Response Body

/

POST /api/player/status (Status eines Spielers)
Request Body
{
  // UUID eines Spielers
  "user": string
}
Response Codes
http code beschreibung
200 /
400 Der Request Body ist falsch
401 Es wurde ein falsches API Secret angegeben
404 Der Spieler existiert nicht oder ist in keinem Team
Response Body
{
  "team": {
    // Teamname
    "name": string,
    // Teamfarbe in HEX
    "color": string
  },
  // Ob der Spieler Tot ist
  "dead": boolean,
  // Gewichtung aller Strikes
  "strikeWeight": number,
  // UTC timestamp wann das Team zuletzt gejoined ist
  "lastJoined": number | null
}
PUT /api/player/status (Updatet den Status eines Spielers)
Request Body
{
  // UUID eines Spieler
  "user": string,
  // Registriert einen neuen UTC timestamp an dem das Team zuletzt gejoined ist
  "lastJoined": number
}
Response Codes
http code beschreibung
200 /
400 Der Request Body ist falsch
401 Es wurde ein falsches API Secret angegeben
Response Body

/

GET /api/team (Liste aller Teams)
Request Body

/

Response Codes
http code beschreibung
200 /
400 Der Request Body ist falsch
401 Es wurde ein falsches API Secret angegeben
Response Body
{
  // Teamname
  "name": string,
  // Teamfarbe in HEX
  "color": string,
  // UTC timestamp wann das Team zuletzt gejoined ist
  "lastJoined": number | null,
  // Gewichtung aller Strikes
  "strikeWeight": number,
  // Alle Spieler des Teams
  "users": {
    // UUID des Spielers
    "uuid": string,
    // Ob der Spieler Tot ist
    "dead": boolean
  }[]
}

Webhook

Die env variable WEBHOOK_ENDPOINT muss gesetzt und eine valide HTTP URL sein.

Bei bestimmten Aktionen wird an den Webhook Endpoint ein Webhook gesendet. Die Art des Webhooks wird dabei durch den x-webhook-action HTTP Header angegeben und hat einen festgelegten JSON Body.

Das Webhook wir so oft gesendet, bis der angegebene Webhook Endpoint eine Response mit Status 200 zurücksendet.

Alle Webhooks:

Beschreibung HTTP Header Body
Ein Team hat ein Strike bekommen
x-webhook-action: strike
{
  // UUIDs aller Nutzer des Teams, das einen Strike bekommen hat
  "users": string[],
  // Gewichtung aller Strikes, die das Team insgesamt bekommen hat
  "totalWeight": number
}
Description
No description provided
Readme 769 KiB
Languages
TypeScript 41.5%
Svelte 36.2%
Astro 20.4%
JavaScript 1.4%
CSS 0.5%