Migrace "interface" na "type"

This commit is contained in:
Martin Berka 2025-01-08 20:53:48 +01:00
parent e611d36995
commit fd9aa547e2
2 changed files with 27 additions and 27 deletions

View File

@ -1,56 +1,56 @@
import { FeatureRequest, PizzaOrder } from "./Types"; import { FeatureRequest, PizzaOrder } from "./Types";
export interface IDayIndex { export type IDayIndex = {
dayIndex?: number, dayIndex?: number,
} }
export interface AddChoiceRequest extends IDayIndex { export type AddChoiceRequest = IDayIndex & {
locationIndex: number, locationIndex: number,
foodIndex?: number, foodIndex?: number,
} }
export interface RemoveChoicesRequest extends IDayIndex { export type RemoveChoicesRequest = IDayIndex & {
locationIndex: number, locationIndex: number,
} }
export interface RemoveChoiceRequest extends IDayIndex { export type RemoveChoiceRequest = IDayIndex & {
locationIndex: number, locationIndex: number,
foodIndex: number, foodIndex: number,
} }
export interface UpdateNoteRequest extends IDayIndex { export type UpdateNoteRequest = IDayIndex & {
note?: string, note?: string,
} }
export interface ChangeDepartureTimeRequest extends IDayIndex { export type ChangeDepartureTimeRequest = IDayIndex & {
time: string, time: string,
} }
export interface FinishDeliveryRequest { export type FinishDeliveryRequest = {
bankAccount?: string, bankAccount?: string,
bankAccountHolder?: string, bankAccountHolder?: string,
} }
export interface AddPizzaRequest { export type AddPizzaRequest = {
pizzaIndex: number, pizzaIndex: number,
pizzaSizeIndex: number, pizzaSizeIndex: number,
} }
export interface RemovePizzaRequest { export type RemovePizzaRequest = {
pizzaOrder: PizzaOrder, pizzaOrder: PizzaOrder,
} }
export interface UpdatePizzaDayNoteRequest { export type UpdatePizzaDayNoteRequest = {
note?: string, note?: string,
} }
export interface UpdatePizzaFeeRequest { export type UpdatePizzaFeeRequest = {
login: string, login: string,
text?: string, text?: string,
price?: number, price?: number,
} }
export interface UpdateFeatureVoteRequest { export type UpdateFeatureVoteRequest = {
option: FeatureRequest, option: FeatureRequest,
active: boolean, active: boolean,
} }

View File

@ -5,21 +5,21 @@ export enum Restaurants {
TECHTOWER = 'techTower', TECHTOWER = 'techTower',
} }
export interface FoodChoices { export type FoodChoices = {
trusted: boolean, trusted: boolean,
options: number[], options: number[],
departureTime?: string, departureTime?: string,
note?: string, note?: string,
} }
export interface Choices { export type Choices = {
[location: string]: { [location: string]: {
[login: string]: FoodChoices [login: string]: FoodChoices
}, },
} }
/** Velikost konkrétní pizzy */ /** Velikost konkrétní pizzy */
export interface PizzaSize { export type PizzaSize = {
varId: number, // unikátní ID varianty pizzy varId: number, // unikátní ID varianty pizzy
size: string, // velikost pizzy, např. "30cm" size: string, // velikost pizzy, např. "30cm"
pizzaPrice: number, // cena samotné pizzy pizzaPrice: number, // cena samotné pizzy
@ -28,14 +28,14 @@ export interface PizzaSize {
} }
/** Jedna konkrétní pizza */ /** Jedna konkrétní pizza */
export interface Pizza { export type Pizza = {
name: string, // název pizzy name: string, // název pizzy
ingredients: string[], // seznam ingrediencí ingredients: string[], // seznam ingrediencí
sizes: PizzaSize[], // dostupné velikosti pizzy sizes: PizzaSize[], // dostupné velikosti pizzy
} }
/** Objednávka jedné konkrétní pizzy */ /** Objednávka jedné konkrétní pizzy */
export interface PizzaOrder { export type PizzaOrder = {
varId: number, // unikátní ID varianty pizzy varId: number, // unikátní ID varianty pizzy
name: string, // název pizzy name: string, // název pizzy
size: string, // velikost pizzy jako string (30cm) size: string, // velikost pizzy jako string (30cm)
@ -43,7 +43,7 @@ export interface PizzaOrder {
} }
/** Celková objednávka jednoho člověka */ /** Celková objednávka jednoho člověka */
export interface Order { export type Order = {
customer: string, // jméno objednatele customer: string, // jméno objednatele
pizzaList: PizzaOrder[], // seznam objednaných pizz pizzaList: PizzaOrder[], // seznam objednaných pizz
fee?: { text?: string, price: number }, // příplatek (např. za extra ingredience) fee?: { text?: string, price: number }, // příplatek (např. za extra ingredience)
@ -69,14 +69,14 @@ interface PizzaDay {
} }
/** Týdenní menu jednotlivých restaurací. */ /** Týdenní menu jednotlivých restaurací. */
export interface WeekMenu { export type WeekMenu = {
[dayIndex: number]: { [dayIndex: number]: {
[restaurant in Restaurants]?: DayMenu [restaurant in Restaurants]?: DayMenu
} }
} }
/** Data vztahující se k jednomu konkrétnímu dni. */ /** Data vztahující se k jednomu konkrétnímu dni. */
export interface DayData { export type DayData = {
date: string, // datum dne date: string, // datum dne
isWeekend: boolean, // příznak, zda je datum víkend isWeekend: boolean, // příznak, zda je datum víkend
weekIndex: number, // index dne v týdnu (0-6) weekIndex: number, // index dne v týdnu (0-6)
@ -88,19 +88,19 @@ export interface DayData {
} }
/** Veškerá data pro zobrazení na klientovi. */ /** 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) todayWeekIndex?: number, // index dnešního dne v týdnu (0-6)
} }
/** Nabídka jídel jednoho podniku pro jeden konkrétní den. */ /** Nabídka jídel jednoho podniku pro jeden konkrétní den. */
export interface DayMenu { export type DayMenu = {
lastUpdate: number, // UNIX timestamp poslední aktualizace menu lastUpdate: number, // UNIX timestamp poslední aktualizace menu
closed: boolean, // příznak, zda je daný podnik v tento den zavřený closed: boolean, // příznak, zda je daný podnik v tento den zavřený
food: Food[], // seznam jídel v menu food: Food[], // seznam jídel v menu
} }
/** Jídlo z obědového menu restaurace. */ /** 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 amount?: string, // množství standardní porce, např. 0,33l nebo 150g
name: string, // název/popis jídla name: string, // název/popis jídla
price: string, // cena ve formátu '135 Kč' price: string, // cena ve formátu '135 Kč'
@ -125,19 +125,19 @@ export enum UdalostEnum {
JDEME_OBED = "Jdeme oběd", JDEME_OBED = "Jdeme oběd",
} }
export interface NotififaceInput { export type NotififaceInput = {
udalost: UdalostEnum, udalost: UdalostEnum,
user: string, user: string,
} }
export interface NotifikaceData { export type NotifikaceData = {
input: NotififaceInput, input: NotififaceInput,
gotify?: boolean, gotify?: boolean,
teams?: boolean, teams?: boolean,
ntfy?: boolean, ntfy?: boolean,
} }
export interface GotifyServer { export type GotifyServer = {
server: string; server: string;
api_keys: string[]; api_keys: string[];
} }
@ -174,7 +174,7 @@ export enum FeatureRequest {
DEVELOPMENT = "Zlepšení dokumentace/postupů pro ostatní vývojáře" DEVELOPMENT = "Zlepšení dokumentace/postupů pro ostatní vývojáře"
} }
export interface EasterEgg { export type EasterEgg = {
path: string; path: string;
url: string; url: string;
startOffset: number; startOffset: number;