From fd9aa547e29d18677a815856905a8ac7f4822c9e Mon Sep 17 00:00:00 2001 From: Martin Berka Date: Wed, 8 Jan 2025 20:53:48 +0100 Subject: [PATCH] Migrace "interface" na "type" --- types/RequestTypes.ts | 24 ++++++++++++------------ types/Types.ts | 30 +++++++++++++++--------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/types/RequestTypes.ts b/types/RequestTypes.ts index 75d191b..7e4e56d 100644 --- a/types/RequestTypes.ts +++ b/types/RequestTypes.ts @@ -1,56 +1,56 @@ import { FeatureRequest, PizzaOrder } from "./Types"; -export interface IDayIndex { +export type IDayIndex = { dayIndex?: number, } -export interface AddChoiceRequest extends IDayIndex { +export type AddChoiceRequest = IDayIndex & { locationIndex: number, foodIndex?: number, } -export interface RemoveChoicesRequest extends IDayIndex { +export type RemoveChoicesRequest = IDayIndex & { locationIndex: number, } -export interface RemoveChoiceRequest extends IDayIndex { +export type RemoveChoiceRequest = IDayIndex & { locationIndex: number, foodIndex: number, } -export interface UpdateNoteRequest extends IDayIndex { +export type UpdateNoteRequest = IDayIndex & { note?: string, } -export interface ChangeDepartureTimeRequest extends IDayIndex { +export type ChangeDepartureTimeRequest = IDayIndex & { time: string, } -export interface FinishDeliveryRequest { +export type FinishDeliveryRequest = { bankAccount?: string, bankAccountHolder?: string, } -export interface AddPizzaRequest { +export type AddPizzaRequest = { pizzaIndex: number, pizzaSizeIndex: number, } -export interface RemovePizzaRequest { +export type RemovePizzaRequest = { pizzaOrder: PizzaOrder, } -export interface UpdatePizzaDayNoteRequest { +export type UpdatePizzaDayNoteRequest = { note?: string, } -export interface UpdatePizzaFeeRequest { +export type UpdatePizzaFeeRequest = { login: string, text?: string, price?: number, } -export interface UpdateFeatureVoteRequest { +export type UpdateFeatureVoteRequest = { option: FeatureRequest, active: boolean, } \ No newline at end of file diff --git a/types/Types.ts b/types/Types.ts index 88f9015..f0299fb 100644 --- a/types/Types.ts +++ b/types/Types.ts @@ -5,21 +5,21 @@ export enum Restaurants { TECHTOWER = 'techTower', } -export interface FoodChoices { +export type FoodChoices = { trusted: boolean, options: number[], departureTime?: string, note?: string, } -export interface Choices { +export type Choices = { [location: string]: { [login: string]: FoodChoices }, } /** Velikost konkrétní pizzy */ -export interface PizzaSize { +export type PizzaSize = { varId: number, // unikátní ID varianty pizzy size: string, // velikost pizzy, např. "30cm" pizzaPrice: number, // cena samotné pizzy @@ -28,14 +28,14 @@ export interface PizzaSize { } /** Jedna konkrétní pizza */ -export interface Pizza { +export type Pizza = { name: string, // název pizzy ingredients: string[], // seznam ingrediencí sizes: PizzaSize[], // dostupné velikosti pizzy } /** Objednávka jedné konkrétní pizzy */ -export interface PizzaOrder { +export type PizzaOrder = { varId: number, // unikátní ID varianty pizzy name: string, // název pizzy size: string, // velikost pizzy jako string (30cm) @@ -43,7 +43,7 @@ export interface PizzaOrder { } /** Celková objednávka jednoho člověka */ -export interface Order { +export type Order = { customer: string, // jméno objednatele pizzaList: PizzaOrder[], // seznam objednaných pizz fee?: { text?: string, price: number }, // příplatek (např. za extra ingredience) @@ -69,14 +69,14 @@ interface PizzaDay { } /** Týdenní menu jednotlivých restaurací. */ -export interface WeekMenu { +export type WeekMenu = { [dayIndex: number]: { [restaurant in Restaurants]?: DayMenu } } /** Data vztahující se k jednomu konkrétnímu dni. */ -export interface DayData { +export type DayData = { date: string, // datum dne isWeekend: boolean, // příznak, zda je datum víkend weekIndex: number, // index dne v týdnu (0-6) @@ -88,19 +88,19 @@ export interface DayData { } /** Veškerá data pro zobrazení na klientovi. */ -export interface ClientData extends DayData { +export type ClientData extends DayData = { todayWeekIndex?: number, // index dnešního dne v týdnu (0-6) } /** Nabídka jídel jednoho podniku pro jeden konkrétní den. */ -export interface DayMenu { +export type DayMenu = { lastUpdate: number, // UNIX timestamp poslední aktualizace menu closed: boolean, // příznak, zda je daný podnik v tento den zavřený food: Food[], // seznam jídel v menu } /** Jídlo z obědového menu restaurace. */ -export interface Food { +export type Food = { amount?: string, // množství standardní porce, např. 0,33l nebo 150g name: string, // název/popis jídla price: string, // cena ve formátu '135 Kč' @@ -125,19 +125,19 @@ export enum UdalostEnum { JDEME_OBED = "Jdeme oběd", } -export interface NotififaceInput { +export type NotififaceInput = { udalost: UdalostEnum, user: string, } -export interface NotifikaceData { +export type NotifikaceData = { input: NotififaceInput, gotify?: boolean, teams?: boolean, ntfy?: boolean, } -export interface GotifyServer { +export type GotifyServer = { server: string; api_keys: string[]; } @@ -174,7 +174,7 @@ export enum FeatureRequest { DEVELOPMENT = "Zlepšení dokumentace/postupů pro ostatní vývojáře" } -export interface EasterEgg { +export type EasterEgg = { path: string; url: string; startOffset: number;