// TODO všechno v tomto souboru jsou duplicity se serverem, ale aktuálně nevím jaký je nejlepší způsob jejich sdílení export interface PizzaSize { size: string, // velikost pizzy, např. "30cm" pizzaPrice: number, // cena samotné pizzy boxPrice: number, // cena krabice price: number, // celková cena (pizza + krabice) } /** Jedna konkrétní pizza */ export interface Pizza { name: string, // název pizzy ingredients: string[], // seznam ingrediencí sizes: PizzaSize[], // dostupné velikosti pizzy } /** Objednávka jedné konkrétní pizzy */ export interface PizzaOrder { name: string, // název pizzy size: string, // velikost pizzy jako string (30cm) price: number, // cena pizzy v Kč, včetně krabice } /** Celková objednávka jednoho člověka */ export interface Order { customer: string, // jméno objednatele pizzaList: PizzaOrder[], // seznam objednaných pizz totalPrice: number, // celková cena všech objednaných pizz a krabic } export interface Choices { [location: string]: string[], } /** Údaje o Pizza day. */ export interface PizzaDay { state: State, creator: string, orders: Order[] } export interface ClientData { date: string, // dnešní datum pro zobrazení isWeekend: boolean, // příznak zda je dnešní den víkend choices: Choices, // seznam voleb pizzaDay?: PizzaDay, // údaje o pizza day, pokud je pro dnešek založen } export enum Locations { SLADOVNICKA = 'Sladovnická', UMOTLIKU = 'U Motlíků', TECHTOWER = 'TechTower', SPSE = 'SPŠE', VLASTNI = 'Mám vlastní', OBJEDNAVAM = 'Objednávám', NEOBEDVAM = 'Neobědvám', } export enum State { NOT_CREATED, // Pizza day nebyl založen CREATED, // Pizza day je založen LOCKED // Objednávky uzamčeny }