feat: export historie jídel uživatele
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 41s
CI / Playwright E2E tests (push) Successful in 1m53s
CI / Build and push Docker image (push) Successful in 1m1s
CI / Notify (push) Successful in 3s
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 41s
CI / Playwright E2E tests (push) Successful in 1m53s
CI / Build and push Docker image (push) Successful in 1m1s
CI / Notify (push) Successful in 3s
This commit is contained in:
@@ -70,6 +70,8 @@ paths:
|
||||
# Statistiky (/api/stats)
|
||||
/stats:
|
||||
$ref: "./paths/stats/stats.yml"
|
||||
/stats/export:
|
||||
$ref: "./paths/stats/export.yml"
|
||||
|
||||
# Návrhy na vylepšení (/api/suggestions)
|
||||
/suggestions/list:
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
get:
|
||||
operationId: getStatsExport
|
||||
summary: Vrátí přehled stravování přihlášeného uživatele za vybraný měsíc (XLSX, CSV nebo JSON).
|
||||
parameters:
|
||||
- in: query
|
||||
name: year
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
description: Rok, za který přehled vygenerovat
|
||||
- in: query
|
||||
name: month
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 12
|
||||
description: Měsíc (1 = leden), za který přehled vygenerovat
|
||||
- in: query
|
||||
name: format
|
||||
required: false
|
||||
schema:
|
||||
type: string
|
||||
enum: [xlsx, csv, json]
|
||||
default: xlsx
|
||||
description: Formát exportu. Výchozí je xlsx.
|
||||
responses:
|
||||
"200":
|
||||
description: Přehled stravování uživatele ve vyžádaném formátu
|
||||
content:
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
|
||||
schema:
|
||||
type: string
|
||||
format: binary
|
||||
text/csv:
|
||||
schema:
|
||||
type: string
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/UserExport"
|
||||
"400":
|
||||
description: Neplatné parametry
|
||||
"401":
|
||||
description: Neautentizovaný uživatel
|
||||
@@ -406,6 +406,72 @@ WeeklyStats:
|
||||
maxItems: 5
|
||||
items:
|
||||
$ref: "#/DailyStats"
|
||||
UserExportRow:
|
||||
description: Jeden záznam přehledu stravování uživatele (jeden den a typ záznamu)
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- date
|
||||
- dayOfWeek
|
||||
- type
|
||||
properties:
|
||||
date:
|
||||
description: Datum záznamu ve formátu YYYY-MM-DD
|
||||
type: string
|
||||
format: date
|
||||
dayOfWeek:
|
||||
description: Den v týdnu (pondělí, ...)
|
||||
type: string
|
||||
type:
|
||||
description: Typ záznamu — název podniku/volby, nebo "Objednávka" u objednávky bez volby oběda
|
||||
type: string
|
||||
food:
|
||||
description: Vybrané jídlo (jídla z menu, pizzy, položky objednávky)
|
||||
type: string
|
||||
note:
|
||||
description: Poznámka uživatele k záznamu
|
||||
type: string
|
||||
store:
|
||||
description: Obchod/restaurace objednávkové skupiny
|
||||
type: string
|
||||
orderedBy:
|
||||
description: Login objednávajícího (zakladatele objednávkové skupiny)
|
||||
type: string
|
||||
amount:
|
||||
description: Částka k úhradě po slevě v korunách
|
||||
type: number
|
||||
UserExport:
|
||||
description: Přehled stravování jednoho uživatele za vybraný měsíc
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- login
|
||||
- year
|
||||
- month
|
||||
- rowCount
|
||||
- totalAmount
|
||||
- rows
|
||||
properties:
|
||||
login:
|
||||
description: Přihlašovací jméno uživatele, kterému přehled patří
|
||||
type: string
|
||||
year:
|
||||
description: Rok přehledu
|
||||
type: integer
|
||||
month:
|
||||
description: Měsíc přehledu (1 = leden)
|
||||
type: integer
|
||||
rowCount:
|
||||
description: Počet záznamů v přehledu
|
||||
type: integer
|
||||
totalAmount:
|
||||
description: Součet částek všech záznamů v korunách
|
||||
type: number
|
||||
rows:
|
||||
description: Jednotlivé záznamy přehledu seřazené dle data
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/UserExportRow"
|
||||
|
||||
# --- PIZZA DAY ---
|
||||
PizzaDayState:
|
||||
|
||||
Reference in New Issue
Block a user