feat: večeře (extra meal slot)
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 21s
CI / Build server (push) Successful in 36s
CI / Generate TypeScript types (pull_request) Successful in 1m18s
CI / Build client (push) Successful in 36s
CI / Build server (pull_request) Successful in 27s
CI / Build client (pull_request) Successful in 41s
CI / Server unit tests (pull_request) Successful in 3m14s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Has been skipped
CI / Notify (push) Successful in 2s
CI / Playwright E2E tests (pull_request) Successful in 10m26s
CI / Build and push Docker image (pull_request) Has been skipped
CI / Notify (pull_request) Has been skipped

- 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
- server: slot?: string → slot?: MealSlot, enum konstanty místo literálů
- Jest testy izolace extra/obed storage namespace
- Aktualizace changelogů (saláty, SINGLE_PAYMENT, večeře)
This commit is contained in:
2026-05-06 20:37:39 +02:00
parent 5f903797f1
commit aa7e2772a7
21 changed files with 437 additions and 96 deletions
+2
View File
@@ -15,6 +15,8 @@ post:
$ref: "../../schemas/_index.yml#/DayIndex"
foodIndex:
$ref: "../../schemas/_index.yml#/FoodIndex"
slot:
$ref: "../../schemas/_index.yml#/MealSlot"
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"
+2
View File
@@ -16,6 +16,8 @@ post:
$ref: "../../schemas/_index.yml#/LunchChoice"
dayIndex:
$ref: "../../schemas/_index.yml#/DayIndex"
slot:
$ref: "../../schemas/_index.yml#/MealSlot"
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"
+2
View File
@@ -13,6 +13,8 @@ post:
$ref: "../../schemas/_index.yml#/LunchChoice"
dayIndex:
$ref: "../../schemas/_index.yml#/DayIndex"
slot:
$ref: "../../schemas/_index.yml#/MealSlot"
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"
+8
View File
@@ -1,6 +1,14 @@
post:
operationId: setBuyer
summary: Nastavení/odnastavení aktuálně přihlášeného uživatele jako objednatele pro stav "Budu objednávat" pro aktuální den.
requestBody:
required: false
content:
application/json:
schema:
properties:
slot:
$ref: "../../schemas/_index.yml#/MealSlot"
responses:
"200":
description: Stav byl úspěšně změněn.
+2
View File
@@ -11,6 +11,8 @@ post:
$ref: "../../schemas/_index.yml#/DayIndex"
note:
type: string
slot:
$ref: "../../schemas/_index.yml#/MealSlot"
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"
+5
View File
@@ -9,6 +9,11 @@ get:
type: integer
minimum: 0
maximum: 4
- in: query
name: slot
description: Slot jídla. Pokud není předán, je použit výchozí slot (oběd).
schema:
$ref: "../schemas/_index.yml#/MealSlot"
responses:
"200":
$ref: "../api.yml#/components/responses/ClientDataResponse"
+12
View File
@@ -63,6 +63,9 @@ ClientData:
type: array
items:
$ref: "#/PendingQr"
slot:
description: Slot jídla, ke kterému se tato data vztahují
$ref: "#/MealSlot"
# --- OBĚDY ---
UserLunchChoice:
@@ -135,6 +138,15 @@ LunchChoice:
- OBJEDNAVAM
- NEOBEDVAM
- ROZHODUJI
MealSlot:
description: Slot jídla - oběd nebo extra jídlo (večeře, pozdní oběd)
type: string
enum:
- obed
- extra
x-enum-varnames:
- OBED
- EXTRA
DayIndex:
description: Index dne v týdnu (0 = pondělí, 4 = pátek)
type: integer