Files
Luncher/types/gen/types.gen.ts
batmanisko f36afe129a feat: podpora per-user notifikací s Discord, ntfy a Teams (#39)
Uživatelé mohou v nastavení konfigurovat vlastní webhook URL/topic
pro Discord, MS Teams a ntfy, a zvolit události k odběru.
Notifikace jsou odesílány pouze uživatelům se stejnou zvolenou lokalitou.
2026-02-04 17:08:23 +01:00

1030 lines
24 KiB
TypeScript

// This file is auto-generated by @hey-api/openapi-ts
/**
* Klientský JWT token pro autentizaci a autorizaci
*/
export type JwtToken = {
/**
* Přihlašovací jméno uživatele
*/
login: string;
/**
* Příznak, zda se jedná o uživatele ověřeného doménovým přihlášením
*/
trusted: boolean;
/**
* Časové razítko vydání tokenu
*/
iat: number;
};
/**
* Klientská data pro jeden konkrétní den. Obsahuje menu všech načtených podniků a volby jednotlivých uživatelů.
*/
export type ClientData = {
todayDayIndex: DayIndex;
/**
* Human-readable datum dne
*/
date: string;
/**
* Příznak, zda je tento den víkend
*/
isWeekend: boolean;
dayIndex?: DayIndex;
choices: LunchChoices;
menus?: RestaurantDayMenuMap;
pizzaDay?: PizzaDay;
/**
* Seznam dostupných pizz pro předaný den
*/
pizzaList?: Array<Pizza>;
/**
* Datum a čas poslední aktualizace pizz
*/
pizzaListLastUpdate?: string;
/**
* Nevyřízené QR kódy pro platbu z předchozích pizza day
*/
pendingQrs?: Array<PendingQr>;
};
/**
* Konkrétní volba stravování jednoho uživatele v konkrétní den. Může se jednat jak o stravovací podnik, tak možnosti "budu objednávat", "neobědvám" apod.
*/
export type UserLunchChoice = {
/**
* Příznak, zda byla tato volba provedena uživatelem ověřeným doménovým přihlášením
*/
trusted?: boolean;
/**
* Pole indexů vybraných jídel v rámci dané restaurace. Index představuje pořadí jídla v menu dané restaurace.
*/
selectedFoods?: Array<number>;
/**
* Čas preferovaného odchodu do dané restaurace v human-readable formátu (např. 12:00)
*/
departureTime?: string;
/**
* Volitelná, veřejně viditelná uživatelská poznámka k vybrané volbě
*/
note?: string;
/**
* Příznak, zda je tento uživatel objednatelem pro stav "Budu objednávat"
*/
isBuyer?: boolean;
};
/**
* Objekt, kde klíčem je možnost stravování ((#LunchChoice)) a hodnotou množina uživatelů s touto volbou ((#LunchChoices)).
*/
export type LocationLunchChoicesMap = {
[key: string]: UserLunchChoice;
};
/**
* Objekt, představující volby všech uživatelů pro konkrétní den. Klíčem je (#LunchChoice).
*/
export type LunchChoices = {
SLADOVNICKA?: LocationLunchChoicesMap;
TECHTOWER?: LocationLunchChoicesMap;
ZASTAVKAUMICHALA?: LocationLunchChoicesMap;
SENKSERIKOVA?: LocationLunchChoicesMap;
SPSE?: LocationLunchChoicesMap;
PIZZA?: LocationLunchChoicesMap;
OBJEDNAVAM?: LocationLunchChoicesMap;
NEOBEDVAM?: LocationLunchChoicesMap;
ROZHODUJI?: LocationLunchChoicesMap;
};
/**
* Stravovací zařízení (restaurace, jídelna, hospoda, ...)
*/
export type Restaurant = 'SLADOVNICKA' | 'TECHTOWER' | 'ZASTAVKAUMICHALA' | 'SENKSERIKOVA';
/**
* Stravovací zařízení (restaurace, jídelna, hospoda, ...)
*/
export const Restaurant = {
SLADOVNICKA: 'SLADOVNICKA',
TECHTOWER: 'TECHTOWER',
ZASTAVKAUMICHALA: 'ZASTAVKAUMICHALA',
SENKSERIKOVA: 'SENKSERIKOVA'
} as const;
/**
* Konkrétní možnost stravování (konkrétní restaurace, pizza day, objednání, neobědvání, rozhodování se, ...)
*/
export type LunchChoice = 'SLADOVNICKA' | 'TECHTOWER' | 'ZASTAVKAUMICHALA' | 'SENKSERIKOVA' | 'SPSE' | 'PIZZA' | 'OBJEDNAVAM' | 'NEOBEDVAM' | 'ROZHODUJI';
/**
* Konkrétní možnost stravování (konkrétní restaurace, pizza day, objednání, neobědvání, rozhodování se, ...)
*/
export const LunchChoice = {
SLADOVNICKA: 'SLADOVNICKA',
TECHTOWER: 'TECHTOWER',
ZASTAVKAUMICHALA: 'ZASTAVKAUMICHALA',
SENKSERIKOVA: 'SENKSERIKOVA',
SPSE: 'SPSE',
PIZZA: 'PIZZA',
OBJEDNAVAM: 'OBJEDNAVAM',
NEOBEDVAM: 'NEOBEDVAM',
ROZHODUJI: 'ROZHODUJI'
} as const;
/**
* Index dne v týdnu (0 = pondělí, 4 = pátek)
*/
export type DayIndex = number;
/**
* Pořadový index jídla v menu konkrétní restaurace
*/
export type FoodIndex = number;
/**
* Konkrétní jídlo z menu restaurace
*/
export type Food = {
/**
* Množství standardní porce, např. 0,33l nebo 150g
*/
amount?: string;
/**
* Název/popis jídla
*/
name: string;
/**
* Cena ve formátu '135 Kč'
*/
price?: string;
/**
* Příznak, zda se jedná o polévku
*/
isSoup: boolean;
/**
* Seznam čísel alergenů obsažených v jídle
*/
allergens?: Array<number>;
};
/**
* Menu restaurace na konkrétní den
*/
export type RestaurantDayMenu = {
/**
* UNIX timestamp poslední aktualizace menu
*/
lastUpdate?: number;
/**
* Příznak, zda je daný podnik v daný den zavřený
*/
closed?: boolean;
/**
* Seznam jídel pro daný den
*/
food?: Array<Food>;
/**
* Seznam varování o kvalitě/úplnosti dat menu
*/
warnings?: Array<string>;
};
/**
* Objekt, kde klíčem je podnik ((#Restaurant)) a hodnotou denní menu daného podniku ((#RestaurantDayMenu))
*/
export type RestaurantDayMenuMap = {
SLADOVNICKA?: RestaurantDayMenu;
TECHTOWER?: RestaurantDayMenu;
ZASTAVKAUMICHALA?: RestaurantDayMenu;
SENKSERIKOVA?: RestaurantDayMenu;
};
/**
* Pole týdenních menu jednotlivých podniků. Indexem je den v týdnu (0 = pondělí, 4 = pátek), hodnotou denní menu daného podniku.
*/
export type WeekMenu = [
RestaurantDayMenuMap,
RestaurantDayMenuMap,
RestaurantDayMenuMap,
RestaurantDayMenuMap,
RestaurantDayMenuMap
];
/**
* Preferovaný čas odchodu na oběd
*/
export type DepartureTime = '10:00' | '10:15' | '10:30' | '10:45' | '11:00' | '11:15' | '11:30' | '11:45' | '12:00' | '12:15' | '12:30' | '12:45' | '13:00';
/**
* Preferovaný čas odchodu na oběd
*/
export const DepartureTime = {
T10_00: '10:00',
T10_15: '10:15',
T10_30: '10:30',
T10_45: '10:45',
T11_00: '11:00',
T11_15: '11:15',
T11_30: '11:30',
T11_45: '11:45',
T12_00: '12:00',
T12_15: '12:15',
T12_30: '12:30',
T12_45: '12:45',
T13_00: '13:00'
} as const;
export type FeatureRequest = 'Ruční generování QR kódů mimo Pizza day (např. při objednávání)' | 'Možnost označovat si jídla jako oblíbená (taková jídla by se uživateli následně zvýrazňovala)' | 'Možnost úhrady v podniku za všechny jednou osobou a následné generování QR ostatním' | 'Zrušení \\"užívejte víkend\\", místo toho umožnit zpětně náhled na uplynulý týden' | 'Umožnění zobrazení vygenerovaného QR kódu i po následující dny (dokud ho uživatel ručně \\"nezavře\\", např. tlačítkem \\"Zaplatil jsem\\")' | 'Zobrazování náhledů (fotografií) pizz v rámci Pizza day' | 'Statistiky (nejoblíbenější podnik, nejpopulárnější jídla, nejobjednávanější pizzy, nejčastější uživatelé, ...)' | 'Vylepšení responzivního designu' | 'Zvýšení zabezpečení aplikace' | 'Zvýšená ochrana proti chybám uživatele (potvrzovací dialogy, překliky, ...)' | 'Celkové vylepšení UI/UX' | 'Zlepšení dokumentace/postupů pro ostatní vývojáře';
export const FeatureRequest = {
CUSTOM_QR: 'Ruční generování QR kódů mimo Pizza day (např. při objednávání)',
FAVORITES: 'Možnost označovat si jídla jako oblíbená (taková jídla by se uživateli následně zvýrazňovala)',
SINGLE_PAYMENT: 'Možnost úhrady v podniku za všechny jednou osobou a následné generování QR ostatním',
NO_WEEKENDS: 'Zrušení \\"užívejte víkend\\", místo toho umožnit zpětně náhled na uplynulý týden',
QR_FOREVER: 'Umožnění zobrazení vygenerovaného QR kódu i po následující dny (dokud ho uživatel ručně \\"nezavře\\", např. tlačítkem \\"Zaplatil jsem\\")',
PIZZA_PICTURES: 'Zobrazování náhledů (fotografií) pizz v rámci Pizza day',
STATISTICS: 'Statistiky (nejoblíbenější podnik, nejpopulárnější jídla, nejobjednávanější pizzy, nejčastější uživatelé, ...)',
RESPONSIVITY: 'Vylepšení responzivního designu',
SECURITY: 'Zvýšení zabezpečení aplikace',
SAFETY: 'Zvýšená ochrana proti chybám uživatele (potvrzovací dialogy, překliky, ...)',
UI: 'Celkové vylepšení UI/UX',
DEVELOPMENT: 'Zlepšení dokumentace/postupů pro ostatní vývojáře'
} as const;
/**
* Statistiky hlasování - klíčem je název funkce, hodnotou počet hlasů
*/
export type VotingStats = {
[key: string]: number;
};
/**
* Data pro zobrazení easter eggů ssss
*/
export type EasterEgg = {
path: string;
url: string;
startOffset: number;
endOffset: number;
duration: number;
width?: string;
zIndex?: number;
position?: 'absolute';
animationName?: string;
animationDuration?: string;
animationTimingFunction?: string;
};
/**
* Objekt, kde klíčem je zvolená možnost a hodnotou počet uživatelů, kteří tuto možnosti zvolili
*/
export type LocationStats = {
SLADOVNICKA?: number;
TECHTOWER?: number;
ZASTAVKAUMICHALA?: number;
SENKSERIKOVA?: number;
SPSE?: number;
PIZZA?: number;
OBJEDNAVAM?: number;
NEOBEDVAM?: number;
ROZHODUJI?: number;
};
/**
* Statistika vybraných možností pro jeden konkrétní den
*/
export type DailyStats = {
/**
* Datum v human-readable formátu
*/
date: string;
locations: LocationStats;
};
/**
* Pole statistik vybraných možností pro jeden konkrétní týden. Index představuje den v týdnu (0 = pondělí, 4 = pátek)
*/
export type WeeklyStats = [
DailyStats,
DailyStats,
DailyStats,
DailyStats,
DailyStats
];
/**
* Stav pizza day
*/
export type PizzaDayState = 'Pizza day nebyl založen' | 'Pizza day je založen' | 'Objednávky uzamčeny' | 'Pizzy objednány' | 'Pizzy doručeny';
/**
* Stav pizza day
*/
export const PizzaDayState = {
NOT_CREATED: 'Pizza day nebyl založen',
CREATED: 'Pizza day je založen',
LOCKED: 'Objednávky uzamčeny',
ORDERED: 'Pizzy objednány',
DELIVERED: 'Pizzy doručeny'
} as const;
/**
* Údaje o konkrétní variantě pizzy
*/
export type PizzaSize = {
/**
* Unikátní identifikátor varianty pizzy
*/
varId: number;
/**
* Velikost pizzy, např. "30cm"
*/
size: string;
/**
* Cena samotné pizzy v Kč
*/
pizzaPrice: number;
/**
* Cena krabice pizzy v Kč
*/
boxPrice: number;
/**
* Celková cena (pizza + krabice)
*/
price: number;
};
/**
* Údaje o konkrétní pizze.
*/
export type Pizza = {
/**
* Název pizzy
*/
name: string;
/**
* Seznam obsažených ingrediencí
*/
ingredients: Array<string>;
/**
* Dostupné velikosti pizzy
*/
sizes: Array<PizzaSize>;
};
/**
* Konkrétní varianta (velikost) jedné pizzy.
*/
export type PizzaVariant = {
/**
* Unikátní identifikátor varianty pizzy
*/
varId: number;
/**
* Název pizzy
*/
name: string;
/**
* Velikost pizzy (např. "30cm")
*/
size: string;
/**
* Cena pizzy v Kč, včetně krabice
*/
price: number;
};
/**
* Údaje o objednávce pizzy jednoho uživatele.
*/
export type PizzaOrder = {
/**
* Jméno objednávajícího uživatele
*/
customer: string;
/**
* Seznam variant pizz k objednání (typicky bývá jen jedna)
*/
pizzaList?: Array<PizzaVariant>;
/**
* Příplatek (např. za extra ingredience)
*/
fee?: {
/**
* Popis příplatku (např. "kuřecí maso navíc")
*/
text?: string;
/**
* Cena příplatku v Kč
*/
price?: number;
};
/**
* Celková cena všech objednaných pizz daného uživatele, včetně krabic a příplatků
*/
totalPrice: number;
/**
* Příznak, pokud je k této objednávce vygenerován QR kód pro platbu. To je typicky pravda, pokud:
* - objednávající má v nastavení vyplněno číslo účtu
* - pizza day je ve stavu DELIVERED (Pizzy byly doručeny)
*
*/
hasQr: unknown;
/**
* Volitelná uživatelská poznámka pro objednávajícího (např. "bez oliv")
*/
note?: string;
};
/**
* Data o Pizza day pro konkrétní den
*/
export type PizzaDay = {
state?: PizzaDayState;
/**
* Jméno zakladatele pizza day
*/
creator?: string;
/**
* Pole objednávek jednotlivých uživatelů
*/
orders?: Array<PizzaOrder>;
};
export type UdalostEnum = 'Zahájen pizza day' | 'Objednána pizza' | 'Jdeme na oběd';
export const UdalostEnum = {
ZAHAJENA_PIZZA: 'Zahájen pizza day',
OBJEDNANA_PIZZA: 'Objednána pizza',
JDEME_NA_OBED: 'Jdeme na oběd'
} as const;
export type NotifikaceInput = {
udalost: UdalostEnum;
user: string;
};
export type NotifikaceData = {
input: NotifikaceInput;
gotify?: boolean;
teams?: boolean;
ntfy?: boolean;
};
export type GotifyServer = {
server: string;
api_keys: Array<string>;
};
/**
* Nastavení notifikací pro konkrétního uživatele
*/
export type NotificationSettings = {
/**
* Téma (topic) pro ntfy notifikace. Pokud je prázdné, ntfy notifikace jsou vypnuty.
*/
ntfyTopic?: string;
/**
* URL Discord webhooku. Pokud je prázdné, Discord notifikace jsou vypnuty.
*/
discordWebhookUrl?: string;
/**
* URL MS Teams webhooku. Pokud je prázdné, Teams notifikace jsou vypnuty.
*/
teamsWebhookUrl?: string;
/**
* Události, pro které chce uživatel dostávat notifikace
*/
enabledEvents?: Array<UdalostEnum>;
};
export type GetNotificationSettingsData = {
body?: never;
path?: never;
query?: never;
url: '/notifications/settings';
};
export type GetNotificationSettingsResponses = {
200: NotificationSettings;
};
export type GetNotificationSettingsResponse = GetNotificationSettingsResponses[keyof GetNotificationSettingsResponses];
export type UpdateNotificationSettingsData = {
body: NotificationSettings;
path?: never;
query?: never;
url: '/notifications/settings';
};
export type UpdateNotificationSettingsResponses = {
200: NotificationSettings;
};
export type LoginData = {
body?: {
/**
* Přihlašovací jméno uživatele. Vyžadováno pouze pokud není předáno pomocí hlaviček.
*/
login?: string;
};
path?: never;
query?: never;
url: '/login';
};
export type LoginResponses = {
/**
* Přihlášení bylo úspěšné
*/
200: JwtToken;
};
export type LoginResponse = LoginResponses[keyof LoginResponses];
export type GetPizzaQrData = {
body?: never;
path?: never;
query: {
/**
* Přihlašovací jméno uživatele, pro kterého bude vrácen QR kód
*/
login: string;
};
url: '/qr';
};
export type GetPizzaQrResponses = {
/**
* Vygenerovaný QR kód pro platbu
*/
200: Blob | File;
};
export type GetPizzaQrResponse = GetPizzaQrResponses[keyof GetPizzaQrResponses];
export type GetDataData = {
body?: never;
path?: never;
query?: {
/**
* Index dne v týdnu. Pokud není předán, je použit aktuální den.
*/
dayIndex?: number;
};
url: '/data';
};
export type GetDataResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type GetDataResponse = GetDataResponses[keyof GetDataResponses];
export type AddChoiceData = {
body: {
locationKey: LunchChoice;
dayIndex?: DayIndex;
foodIndex?: FoodIndex;
};
path?: never;
query?: never;
url: '/food/addChoice';
};
export type AddChoiceResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type AddChoiceResponse = AddChoiceResponses[keyof AddChoiceResponses];
export type RemoveChoiceData = {
body: {
foodIndex: FoodIndex;
locationKey: LunchChoice;
dayIndex?: DayIndex;
};
path?: never;
query?: never;
url: '/food/removeChoice';
};
export type RemoveChoiceResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type RemoveChoiceResponse = RemoveChoiceResponses[keyof RemoveChoiceResponses];
export type UpdateNoteData = {
body: {
dayIndex?: DayIndex;
note?: string;
};
path?: never;
query?: never;
url: '/food/updateNote';
};
export type UpdateNoteResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type UpdateNoteResponse = UpdateNoteResponses[keyof UpdateNoteResponses];
export type RemoveChoicesData = {
body: {
locationKey: LunchChoice;
dayIndex?: DayIndex;
};
path?: never;
query?: never;
url: '/food/removeChoices';
};
export type RemoveChoicesResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type RemoveChoicesResponse = RemoveChoicesResponses[keyof RemoveChoicesResponses];
export type ChangeDepartureTimeData = {
body: {
dayIndex?: DayIndex;
time?: DepartureTime;
};
path?: never;
query?: never;
url: '/food/changeDepartureTime';
};
export type ChangeDepartureTimeResponses = {
/**
* Aktuální data pro klienta
*/
200: ClientData;
};
export type ChangeDepartureTimeResponse = ChangeDepartureTimeResponses[keyof ChangeDepartureTimeResponses];
export type JdemeObedData = {
body?: never;
path?: never;
query?: never;
url: '/food/jdemeObed';
};
export type JdemeObedResponses = {
/**
* Notifikace byly odeslány.
*/
200: unknown;
};
export type SetBuyerData = {
body?: never;
path?: never;
query?: never;
url: '/food/updateBuyer';
};
export type SetBuyerResponses = {
/**
* Stav byl úspěšně změněn.
*/
200: unknown;
};
export type CreatePizzaDayData = {
body?: never;
path?: never;
query?: never;
url: '/pizzaDay/create';
};
export type CreatePizzaDayResponses = {
/**
* Pizza day byl založen.
*/
200: unknown;
};
export type DeletePizzaDayData = {
body?: never;
path?: never;
query?: never;
url: '/pizzaDay/delete';
};
export type DeletePizzaDayResponses = {
/**
* Pizza day byl smazán.
*/
200: unknown;
};
export type LockPizzaDayData = {
body?: never;
path?: never;
query?: never;
url: '/pizzaDay/lock';
};
export type LockPizzaDayResponses = {
/**
* Pizza day byl uzamčen.
*/
200: unknown;
};
export type UnlockPizzaDayData = {
body?: never;
path?: never;
query?: never;
url: '/pizzaDay/unlock';
};
export type UnlockPizzaDayResponses = {
/**
* Pizza day byl odemčen.
*/
200: unknown;
};
export type FinishOrderData = {
body?: never;
path?: never;
query?: never;
url: '/pizzaDay/finishOrder';
};
export type FinishOrderResponses = {
/**
* Pizza day byl přepnut do stavu "Pizzy objednány".
*/
200: unknown;
};
export type FinishDeliveryData = {
body: {
/**
* Číslo bankovního účtu objednávajícího
*/
bankAccount?: string;
/**
* Jméno majitele bankovního účtu
*/
bankAccountHolder?: string;
};
path?: never;
query?: never;
url: '/pizzaDay/finishDelivery';
};
export type FinishDeliveryResponses = {
/**
* Pizza day byl přepnut do stavu "Pizzy doručeny".
*/
200: unknown;
};
export type AddPizzaData = {
body: {
/**
* Index pizzy v nabídce
*/
pizzaIndex: number;
/**
* Index velikosti pizzy v nabídce variant
*/
pizzaSizeIndex: number;
};
path?: never;
query?: never;
url: '/pizzaDay/add';
};
export type AddPizzaResponses = {
/**
* Přidání pizzy do objednávky proběhlo úspěšně.
*/
200: unknown;
};
export type RemovePizzaData = {
body: {
pizzaOrder: PizzaVariant;
};
path?: never;
query?: never;
url: '/pizzaDay/remove';
};
export type RemovePizzaResponses = {
/**
* Odstranění pizzy z objednávky proběhlo úspěšně.
*/
200: unknown;
};
export type UpdatePizzaDayNoteData = {
body: {
/**
* Poznámka k objednávkám pizz, např "bez oliv".
*/
note?: string;
};
path?: never;
query?: never;
url: '/pizzaDay/updatePizzaDayNote';
};
export type UpdatePizzaDayNoteResponses = {
/**
* Nastavení poznámky k objednávkám pizz proběhlo úspěšně.
*/
200: unknown;
};
export type UpdatePizzaFeeData = {
body: {
/**
* Login cíleného uživatele
*/
login: string;
/**
* Textový popis přirážky/slevy
*/
text?: string;
/**
* Částka přirážky/slevy v Kč
*/
price?: number;
};
path?: never;
query?: never;
url: '/pizzaDay/updatePizzaFee';
};
export type UpdatePizzaFeeResponses = {
/**
* Nastavení přirážky/slevy proběhlo úspěšně.
*/
200: unknown;
};
export type GetEasterEggData = {
body?: never;
path?: never;
query?: never;
url: '/easterEggs';
};
export type GetEasterEggResponses = {
200: EasterEgg;
};
export type GetEasterEggResponse = GetEasterEggResponses[keyof GetEasterEggResponses];
export type GetEasterEggImageData = {
body?: never;
path: {
/**
* URL easter eggu
*/
url: string;
};
query?: never;
url: '/easterEggs/{url}';
};
export type GetEasterEggImageResponses = {
200: Blob | File;
};
export type GetEasterEggImageResponse = GetEasterEggImageResponses[keyof GetEasterEggImageResponses];
export type GetStatsData = {
body?: never;
path?: never;
query: {
/**
* Počáteční datum pro načtení statistik
*/
startDate: string;
/**
* Koncové datum pro načtení statistik
*/
endDate: string;
};
url: '/stats';
};
export type GetStatsResponses = {
/**
* Statistiky způsobu stravování. Každý prvek v poli představuje statistiky pro jeden den z předaného rozsahu dat.
*/
200: WeeklyStats;
};
export type GetStatsResponse = GetStatsResponses[keyof GetStatsResponses];
export type GetVotesData = {
body?: never;
path?: never;
query?: never;
url: '/voting/getVotes';
};
export type GetVotesResponses = {
200: Array<FeatureRequest>;
};
export type GetVotesResponse = GetVotesResponses[keyof GetVotesResponses];
export type UpdateVoteData = {
body: {
option: FeatureRequest;
/**
* True, pokud uživatel hlasoval pro, jinak false.
*/
active: boolean;
};
path?: never;
query?: never;
url: '/voting/updateVote';
};
export type UpdateVoteResponses = {
/**
* Hlasování bylo úspěšně aktualizováno.
*/
200: unknown;
};
export type GetVotingStatsData = {
body?: never;
path?: never;
query?: never;
url: '/voting/stats';
};
export type GetVotingStatsResponses = {
200: VotingStats;
};
export type GetVotingStatsResponse = GetVotingStatsResponses[keyof GetVotingStatsResponses];
/**
* Informace o nevyřízeném QR kódu pro platbu
*/
export type PendingQr = {
/**
* Datum pizza day, ke kterému se QR kód vztahuje
*/
date: string;
/**
* Jméno zakladatele pizza day (příjemce platby)
*/
creator: string;
/**
* Celková částka k úhradě
*/
totalPrice: number;
};
export type DismissQrData = {
body: {
/**
* Datum pizza day, jehož QR kód se má označit jako uhrazený
*/
date: string;
};
path?: never;
query?: never;
url: '/pizzaDay/dismissQr';
};
export type DismissQrResponses = {
200: unknown;
};
export type ClientOptions = {
baseUrl: `${string}://${string}/api` | (string & {});
};