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";
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,
}

View File

@ -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;