feat: večeře (extra meal slot) — dokončení, sync s masterem
CI / Generate TypeScript types (push) Successful in 34s
CI / Build server (push) Successful in 33s
CI / Server unit tests (push) Successful in 1m11s
CI / Build client (push) Successful in 33s
CI / Playwright E2E tests (push) Successful in 1m20s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 2s

- Nová stránka /vecere pro evidenci extra jídla (večeře/pozdní oběd)
- MealSlot enum (obed/extra), oddělený storage namespace YYYY-MM-DD_extra
- slot parametr na všech food endpointech a GET /api/data
- Push reminder: přechod na 60min cooldown, login v payloadu místo endpointu
- Smazány chybně přidané root package.json + package-lock.json (gitnexus)
- server: slot?: string → slot?: MealSlot, literály nahrazeny enum konstantami
- Přidány Jest testy izolace extra/obed storage namespace
This commit is contained in:
2026-05-06 20:14:47 +02:00
96 changed files with 3582 additions and 4289 deletions
+21
View File
@@ -0,0 +1,21 @@
get:
operationId: getChangelogs
summary: Vrátí seznam změn (changelog). Pokud není předáno datum, vrátí všechny změny. Pokud je předáno datum, vrátí pouze změny po tomto datu.
parameters:
- in: query
name: since
required: false
schema:
type: string
description: Datum (formát YYYY-MM-DD) od kterého se mají vrátit změny (exkluzivně). Pokud není předáno, vrátí se všechny změny.
responses:
"200":
description: Slovník kde klíčem je datum (YYYY-MM-DD) a hodnotou seznam změn k danému datu. Seřazeno od nejnovějšího po nejstarší.
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: string
+7 -1
View File
@@ -1,6 +1,6 @@
get:
operationId: getPizzaQr
summary: Získání QR kódu pro platbu za Pizza day
summary: Získání QR kódu pro platbu
security: [] # Nevyžaduje autentizaci
parameters:
- in: query
@@ -9,6 +9,12 @@ get:
type: string
required: true
description: Přihlašovací jméno uživatele, pro kterého bude vrácen QR kód
- in: query
name: id
schema:
type: string
required: true
description: Unikátní identifikátor QR kódu (z PendingQr.id)
responses:
"200":
description: Vygenerovaný QR kód pro platbu
+7 -7
View File
@@ -1,21 +1,21 @@
post:
operationId: addPizza
summary: Přidání pizzy do objednávky.
summary: Přidání pizzy nebo salátu do objednávky.
requestBody:
required: true
content:
application/json:
schema:
required:
- pizzaIndex
- pizzaSizeIndex
properties:
pizzaIndex:
description: Index pizzy v nabídce
description: Index pizzy v nabídce (pro přidání pizzy)
type: integer
pizzaSizeIndex:
description: Index velikosti pizzy v nabídce variant
description: Index velikosti pizzy v nabídce variant (pro přidání pizzy)
type: integer
salatIndex:
description: Index salátu v nabídce (pro přidání salátu)
type: integer
responses:
"200":
description: Přidání pizzy do objednávky proběhlo úspěšně.
description: Přidání pizzy nebo salátu do objednávky proběhlo úspěšně.
+4 -4
View File
@@ -1,17 +1,17 @@
post:
operationId: dismissQr
summary: Označí QR kód pro daný den jako uhrazený (odstraní ho ze seznamu nevyřízených).
summary: Označí QR kód jako uhrazený (odstraní ho ze seznamu nevyřízených).
requestBody:
required: true
content:
application/json:
schema:
properties:
date:
description: Datum Pizza day, ke kterému se QR kód vztahuje
id:
description: Unikátní identifikátor QR kódu (z PendingQr.id)
type: string
required:
- date
- id
responses:
"200":
description: QR kód byl označen jako uhrazený.