@servemate/dto
Version:
Type-safe DTO package for ServeMate types and Zod validation. Shared across server and client.
1,052 lines • 42 kB
TypeScript
import { z } from 'zod';
export declare const ItemSortOptions: {
readonly ID: "id";
readonly NAME: "name";
readonly PRICE: "price";
readonly POPULARITY: "popularityScore";
readonly INGREDIENTS: "ingredients";
readonly IS_AVAILABLE: "isAvailable";
readonly POPULARITY_SCORE: "popularityScore";
readonly CREATED_AT: "createdAt";
readonly UPDATED_AT: "updatedAt";
};
export declare const FoodItemSortOptions: {
readonly TYPE: "type";
readonly CATEGORY: "category";
readonly ALLERGIES: "allergies";
readonly PREPARATION_TIME: "preparationTime";
readonly SPICY_LEVEL: "spicyLevel";
readonly CALORIES: "calories";
readonly IS_VEGAN: "isVegan";
readonly IS_GLUTEN_FREE: "isGlutenFree";
readonly ID: "id";
readonly NAME: "name";
readonly PRICE: "price";
readonly POPULARITY: "popularityScore";
readonly INGREDIENTS: "ingredients";
readonly IS_AVAILABLE: "isAvailable";
readonly POPULARITY_SCORE: "popularityScore";
readonly CREATED_AT: "createdAt";
readonly UPDATED_AT: "updatedAt";
};
export declare const DrinkItemSortOptions: {
readonly CATEGORY: "category";
readonly VOLUME: "volume";
readonly ALCOHOL_PERCENTAGE: "alcoholPercentage";
readonly IS_CARBONATED: "isCarbonated";
readonly TEMPRITURE: "tempriture";
readonly ID: "id";
readonly NAME: "name";
readonly PRICE: "price";
readonly POPULARITY: "popularityScore";
readonly INGREDIENTS: "ingredients";
readonly IS_AVAILABLE: "isAvailable";
readonly POPULARITY_SCORE: "popularityScore";
readonly CREATED_AT: "createdAt";
readonly UPDATED_AT: "updatedAt";
};
export declare const baseItemSchema: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
description: string;
image: string | null;
}, {
id: number;
name: string;
price: number;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
image?: string | null | undefined;
}>;
export declare const drinkItemSchema: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly BEER: "BEER";
readonly WINE: "WINE";
readonly SPIRITS: "SPIRITS";
readonly COFFEE: "COFFEE";
readonly TEA: "TEA";
readonly OTHER: "OTHER";
readonly SODA: "SODA";
readonly ALCOHOLIC: "ALCOHOLIC";
readonly NON_ALCOHOLIC: "NON_ALCOHOLIC";
}>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>;
volume: z.ZodNumber;
alcoholPercentage: z.ZodNullable<z.ZodNumber>;
isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
tempriture: z.ZodEffects<z.ZodNativeEnum<{
readonly COLD: "COLD";
readonly ROOM: "ROOM";
readonly HOT: "HOT";
}>, "HOT" | "COLD" | "ROOM", unknown>;
}, "strip", z.ZodTypeAny, {
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC";
volume: number;
alcoholPercentage: number | null;
isCarbonated: boolean;
tempriture: "HOT" | "COLD" | "ROOM";
description: string;
image: string | null;
}, {
id: number;
name: string;
price: number;
volume: number;
alcoholPercentage: number | null;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
isCarbonated?: unknown;
tempriture?: unknown;
image?: string | null | undefined;
}>;
export type DrinkItemDTO = z.infer<typeof drinkItemSchema>;
export declare const foodItemSchema: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly SALAD: "SALAD";
readonly MEAT: "MEAT";
readonly SOUP: "SOUP";
readonly FISH: "FISH";
readonly VEGGIES: "VEGGIES";
readonly OTHER: "OTHER";
readonly SEAFOOD: "SEAFOOD";
}>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>;
type: z.ZodNativeEnum<{
readonly APPETIZER: "APPETIZER";
readonly MAIN_COURSE: "MAIN_COURSE";
readonly DESSERT: "DESSERT";
readonly SIDES: "SIDES";
readonly SAUCE: "SAUCE";
readonly OTHER: "OTHER";
}>;
isVegan: z.ZodDefault<z.ZodBoolean>;
isGlutenFree: z.ZodDefault<z.ZodBoolean>;
isVegetarian: z.ZodDefault<z.ZodBoolean>;
allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{
readonly GLUTEN: "GLUTEN";
readonly DAIRY: "DAIRY";
readonly EGG: "EGG";
readonly PEANUT: "PEANUT";
readonly TREENUT: "TREENUT";
readonly FISH: "FISH";
readonly SHELLFISH: "SHELLFISH";
readonly SOY: "SOY";
readonly SESAME: "SESAME";
readonly CELERY: "CELERY";
readonly MUSTARD: "MUSTARD";
readonly LUPIN: "LUPIN";
readonly SULPHITES: "SULPHITES";
readonly MOLLUSCS: "MOLLUSCS";
}>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>;
preparationTime: z.ZodDefault<z.ZodNumber>;
spicyLevel: z.ZodDefault<z.ZodNativeEnum<{
readonly NOT_SPICY: "NOT_SPICY";
readonly MILD: "MILD";
readonly MEDIUM: "MEDIUM";
readonly HOT: "HOT";
readonly EXTRA_HOT: "EXTRA_HOT";
}>>;
calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD";
allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[];
preparationTime: number;
spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT";
calories: number | null;
isVegan: boolean;
isGlutenFree: boolean;
description: string;
image: string | null;
isVegetarian: boolean;
}, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}>;
export type FoodItemDTO = z.infer<typeof foodItemSchema>;
export declare const createDrinkItemSchema: z.ZodObject<Omit<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly BEER: "BEER";
readonly WINE: "WINE";
readonly SPIRITS: "SPIRITS";
readonly COFFEE: "COFFEE";
readonly TEA: "TEA";
readonly OTHER: "OTHER";
readonly SODA: "SODA";
readonly ALCOHOLIC: "ALCOHOLIC";
readonly NON_ALCOHOLIC: "NON_ALCOHOLIC";
}>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>;
volume: z.ZodNumber;
alcoholPercentage: z.ZodNullable<z.ZodNumber>;
isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
tempriture: z.ZodEffects<z.ZodNativeEnum<{
readonly COLD: "COLD";
readonly ROOM: "ROOM";
readonly HOT: "HOT";
}>, "HOT" | "COLD" | "ROOM", unknown>;
}, "id">, "strip", z.ZodTypeAny, {
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC";
volume: number;
alcoholPercentage: number | null;
isCarbonated: boolean;
tempriture: "HOT" | "COLD" | "ROOM";
description: string;
image: string | null;
}, {
name: string;
price: number;
volume: number;
alcoholPercentage: number | null;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
isCarbonated?: unknown;
tempriture?: unknown;
image?: string | null | undefined;
}>;
export type CreateDrinkItemDTO = z.infer<typeof createDrinkItemSchema>;
export declare const createFoodItemSchema: z.ZodObject<Omit<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly SALAD: "SALAD";
readonly MEAT: "MEAT";
readonly SOUP: "SOUP";
readonly FISH: "FISH";
readonly VEGGIES: "VEGGIES";
readonly OTHER: "OTHER";
readonly SEAFOOD: "SEAFOOD";
}>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>;
type: z.ZodNativeEnum<{
readonly APPETIZER: "APPETIZER";
readonly MAIN_COURSE: "MAIN_COURSE";
readonly DESSERT: "DESSERT";
readonly SIDES: "SIDES";
readonly SAUCE: "SAUCE";
readonly OTHER: "OTHER";
}>;
isVegan: z.ZodDefault<z.ZodBoolean>;
isGlutenFree: z.ZodDefault<z.ZodBoolean>;
isVegetarian: z.ZodDefault<z.ZodBoolean>;
allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{
readonly GLUTEN: "GLUTEN";
readonly DAIRY: "DAIRY";
readonly EGG: "EGG";
readonly PEANUT: "PEANUT";
readonly TREENUT: "TREENUT";
readonly FISH: "FISH";
readonly SHELLFISH: "SHELLFISH";
readonly SOY: "SOY";
readonly SESAME: "SESAME";
readonly CELERY: "CELERY";
readonly MUSTARD: "MUSTARD";
readonly LUPIN: "LUPIN";
readonly SULPHITES: "SULPHITES";
readonly MOLLUSCS: "MOLLUSCS";
}>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>;
preparationTime: z.ZodDefault<z.ZodNumber>;
spicyLevel: z.ZodDefault<z.ZodNativeEnum<{
readonly NOT_SPICY: "NOT_SPICY";
readonly MILD: "MILD";
readonly MEDIUM: "MEDIUM";
readonly HOT: "HOT";
readonly EXTRA_HOT: "EXTRA_HOT";
}>>;
calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
}, "id">, "strip", z.ZodTypeAny, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD";
allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[];
preparationTime: number;
spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT";
calories: number | null;
isVegan: boolean;
isGlutenFree: boolean;
description: string;
image: string | null;
isVegetarian: boolean;
}, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
name: string;
price: number;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}>;
export type CreateFoodItemDTO = z.infer<typeof createFoodItemSchema>;
export declare const updateDrinkItemSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
price: z.ZodOptional<z.ZodNumber>;
popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>;
isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly BEER: "BEER";
readonly WINE: "WINE";
readonly SPIRITS: "SPIRITS";
readonly COFFEE: "COFFEE";
readonly TEA: "TEA";
readonly OTHER: "OTHER";
readonly SODA: "SODA";
readonly ALCOHOLIC: "ALCOHOLIC";
readonly NON_ALCOHOLIC: "NON_ALCOHOLIC";
}>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>>;
volume: z.ZodOptional<z.ZodNumber>;
alcoholPercentage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
isCarbonated: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
tempriture: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly COLD: "COLD";
readonly ROOM: "ROOM";
readonly HOT: "HOT";
}>, "HOT" | "COLD" | "ROOM", unknown>>;
description: z.ZodOptional<z.ZodString>;
image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
}, "strip", z.ZodTypeAny, {
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: string[] | undefined;
isAvailable?: boolean | undefined;
category?: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC" | undefined;
volume?: number | undefined;
alcoholPercentage?: number | null | undefined;
isCarbonated?: boolean | undefined;
tempriture?: "HOT" | "COLD" | "ROOM" | undefined;
description?: string | undefined;
image?: string | null | undefined;
}, {
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
volume?: number | undefined;
alcoholPercentage?: number | null | undefined;
isCarbonated?: unknown;
tempriture?: unknown;
description?: string | undefined;
image?: string | null | undefined;
}>;
export type UpdateDrinkItemDTO = z.infer<typeof updateDrinkItemSchema>;
export declare const updateFoodItemSchema: z.ZodObject<{
type: z.ZodOptional<z.ZodNativeEnum<{
readonly APPETIZER: "APPETIZER";
readonly MAIN_COURSE: "MAIN_COURSE";
readonly DESSERT: "DESSERT";
readonly SIDES: "SIDES";
readonly SAUCE: "SAUCE";
readonly OTHER: "OTHER";
}>>;
name: z.ZodOptional<z.ZodString>;
price: z.ZodOptional<z.ZodNumber>;
popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>;
isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly SALAD: "SALAD";
readonly MEAT: "MEAT";
readonly SOUP: "SOUP";
readonly FISH: "FISH";
readonly VEGGIES: "VEGGIES";
readonly OTHER: "OTHER";
readonly SEAFOOD: "SEAFOOD";
}>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>>;
allergies: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{
readonly GLUTEN: "GLUTEN";
readonly DAIRY: "DAIRY";
readonly EGG: "EGG";
readonly PEANUT: "PEANUT";
readonly TREENUT: "TREENUT";
readonly FISH: "FISH";
readonly SHELLFISH: "SHELLFISH";
readonly SOY: "SOY";
readonly SESAME: "SESAME";
readonly CELERY: "CELERY";
readonly MUSTARD: "MUSTARD";
readonly LUPIN: "LUPIN";
readonly SULPHITES: "SULPHITES";
readonly MOLLUSCS: "MOLLUSCS";
}>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>>;
preparationTime: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
spicyLevel: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<{
readonly NOT_SPICY: "NOT_SPICY";
readonly MILD: "MILD";
readonly MEDIUM: "MEDIUM";
readonly HOT: "HOT";
readonly EXTRA_HOT: "EXTRA_HOT";
}>>>;
calories: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
isVegan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
isGlutenFree: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
description: z.ZodOptional<z.ZodString>;
image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
isVegetarian: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: string[] | undefined;
isAvailable?: boolean | undefined;
category?: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD" | undefined;
allergies?: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[] | undefined;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
description?: string | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}, {
type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
description?: string | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}>;
export type UpdateFoodItemDTO = z.infer<typeof updateFoodItemSchema>;
export declare const searchFoodItemsSchema: z.ZodObject<{
id: z.ZodOptional<z.ZodNumber>;
name: z.ZodOptional<z.ZodString>;
price: z.ZodOptional<z.ZodNumber>;
description: z.ZodOptional<z.ZodString>;
ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>;
isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly SALAD: "SALAD";
readonly MEAT: "MEAT";
readonly SOUP: "SOUP";
readonly FISH: "FISH";
readonly VEGGIES: "VEGGIES";
readonly OTHER: "OTHER";
readonly SEAFOOD: "SEAFOOD";
}>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>>;
type: z.ZodOptional<z.ZodNativeEnum<{
readonly APPETIZER: "APPETIZER";
readonly MAIN_COURSE: "MAIN_COURSE";
readonly DESSERT: "DESSERT";
readonly SIDES: "SIDES";
readonly SAUCE: "SAUCE";
readonly OTHER: "OTHER";
}>>;
isVegan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
isGlutenFree: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
isVegetarian: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
allergies: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{
readonly GLUTEN: "GLUTEN";
readonly DAIRY: "DAIRY";
readonly EGG: "EGG";
readonly PEANUT: "PEANUT";
readonly TREENUT: "TREENUT";
readonly FISH: "FISH";
readonly SHELLFISH: "SHELLFISH";
readonly SOY: "SOY";
readonly SESAME: "SESAME";
readonly CELERY: "CELERY";
readonly MUSTARD: "MUSTARD";
readonly LUPIN: "LUPIN";
readonly SULPHITES: "SULPHITES";
readonly MOLLUSCS: "MOLLUSCS";
}>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>>;
preparationTime: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
spicyLevel: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<{
readonly NOT_SPICY: "NOT_SPICY";
readonly MILD: "MILD";
readonly MEDIUM: "MEDIUM";
readonly HOT: "HOT";
readonly EXTRA_HOT: "EXTRA_HOT";
}>>>;
calories: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
} & {
sortBy: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
readonly TYPE: "type";
readonly CATEGORY: "category";
readonly ALLERGIES: "allergies";
readonly PREPARATION_TIME: "preparationTime";
readonly SPICY_LEVEL: "spicyLevel";
readonly CALORIES: "calories";
readonly IS_VEGAN: "isVegan";
readonly IS_GLUTEN_FREE: "isGlutenFree";
readonly ID: "id";
readonly NAME: "name";
readonly PRICE: "price";
readonly POPULARITY: "popularityScore";
readonly INGREDIENTS: "ingredients";
readonly IS_AVAILABLE: "isAvailable";
readonly POPULARITY_SCORE: "popularityScore";
readonly CREATED_AT: "createdAt";
readonly UPDATED_AT: "updatedAt";
}>>>;
page: z.ZodDefault<z.ZodNumber>;
pageSize: z.ZodDefault<z.ZodNumber>;
sortOrder: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
readonly ASC: "asc";
readonly DESC: "desc";
}>>>;
}, "strip", z.ZodTypeAny, {
page: number;
pageSize: number;
sortOrder: "asc" | "desc";
sortBy: "type" | "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "allergies" | "preparationTime" | "spicyLevel" | "calories" | "isVegan" | "isGlutenFree";
type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined;
id?: number | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: string[] | undefined;
isAvailable?: boolean | undefined;
category?: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD" | undefined;
allergies?: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[] | undefined;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
description?: string | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}, {
type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined;
page?: number | undefined;
pageSize?: number | undefined;
sortOrder?: "asc" | "desc" | undefined;
id?: number | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
description?: string | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
sortBy?: "type" | "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "allergies" | "preparationTime" | "spicyLevel" | "calories" | "isVegan" | "isGlutenFree" | undefined;
}>;
export type SearchFoodItemsDTO = z.infer<typeof searchFoodItemsSchema>;
export declare const searchDrinkItemsSchema: z.ZodObject<{
id: z.ZodOptional<z.ZodNumber>;
name: z.ZodOptional<z.ZodString>;
price: z.ZodOptional<z.ZodNumber>;
description: z.ZodOptional<z.ZodString>;
ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>;
isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly BEER: "BEER";
readonly WINE: "WINE";
readonly SPIRITS: "SPIRITS";
readonly COFFEE: "COFFEE";
readonly TEA: "TEA";
readonly OTHER: "OTHER";
readonly SODA: "SODA";
readonly ALCOHOLIC: "ALCOHOLIC";
readonly NON_ALCOHOLIC: "NON_ALCOHOLIC";
}>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>>;
volume: z.ZodOptional<z.ZodNumber>;
alcoholPercentage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
isCarbonated: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
tempriture: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{
readonly COLD: "COLD";
readonly ROOM: "ROOM";
readonly HOT: "HOT";
}>, "HOT" | "COLD" | "ROOM", unknown>>;
} & {
sortBy: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
readonly CATEGORY: "category";
readonly VOLUME: "volume";
readonly ALCOHOL_PERCENTAGE: "alcoholPercentage";
readonly IS_CARBONATED: "isCarbonated";
readonly TEMPRITURE: "tempriture";
readonly ID: "id";
readonly NAME: "name";
readonly PRICE: "price";
readonly POPULARITY: "popularityScore";
readonly INGREDIENTS: "ingredients";
readonly IS_AVAILABLE: "isAvailable";
readonly POPULARITY_SCORE: "popularityScore";
readonly CREATED_AT: "createdAt";
readonly UPDATED_AT: "updatedAt";
}>>>;
page: z.ZodDefault<z.ZodNumber>;
pageSize: z.ZodDefault<z.ZodNumber>;
sortOrder: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
readonly ASC: "asc";
readonly DESC: "desc";
}>>>;
}, "strip", z.ZodTypeAny, {
page: number;
pageSize: number;
sortOrder: "asc" | "desc";
sortBy: "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "volume" | "alcoholPercentage" | "isCarbonated" | "tempriture";
id?: number | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: string[] | undefined;
isAvailable?: boolean | undefined;
category?: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC" | undefined;
volume?: number | undefined;
alcoholPercentage?: number | null | undefined;
isCarbonated?: boolean | undefined;
tempriture?: "HOT" | "COLD" | "ROOM" | undefined;
description?: string | undefined;
image?: string | null | undefined;
}, {
page?: number | undefined;
pageSize?: number | undefined;
sortOrder?: "asc" | "desc" | undefined;
id?: number | undefined;
name?: string | undefined;
price?: number | undefined;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
volume?: number | undefined;
alcoholPercentage?: number | null | undefined;
isCarbonated?: unknown;
tempriture?: unknown;
description?: string | undefined;
image?: string | null | undefined;
sortBy?: "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "volume" | "alcoholPercentage" | "isCarbonated" | "tempriture" | undefined;
}>;
export type SearchDrinkItemsDTO = z.infer<typeof searchDrinkItemsSchema>;
/**
* Schema for a list of food items.
*
* This schema extends the `listPropsSchema` to include an array of food items.
* Each food item in the array must conform to the `foodItemSchema`.
*
* @constant
* @type {ZodSchema}
*
* @example
* const validData = {
* items: [
* { name: "Apple", calories: 95 },
* { name: "Banana", calories: 105 }
* ]
* };
*
* foodItemsListSchema.parse(validData); // This will pass validation
*
* @see {@link listPropsSchema} for the base schema properties.
* @see {@link foodItemSchema} for the individual food item schema.
*/
export declare const foodItemsListSchema: z.ZodObject<{
page: z.ZodDefault<z.ZodNumber>;
pageSize: z.ZodDefault<z.ZodNumber>;
totalPages: z.ZodNumber;
totalCount: z.ZodNumber;
} & {
items: z.ZodArray<z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly SALAD: "SALAD";
readonly MEAT: "MEAT";
readonly SOUP: "SOUP";
readonly FISH: "FISH";
readonly VEGGIES: "VEGGIES";
readonly OTHER: "OTHER";
readonly SEAFOOD: "SEAFOOD";
}>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>;
type: z.ZodNativeEnum<{
readonly APPETIZER: "APPETIZER";
readonly MAIN_COURSE: "MAIN_COURSE";
readonly DESSERT: "DESSERT";
readonly SIDES: "SIDES";
readonly SAUCE: "SAUCE";
readonly OTHER: "OTHER";
}>;
isVegan: z.ZodDefault<z.ZodBoolean>;
isGlutenFree: z.ZodDefault<z.ZodBoolean>;
isVegetarian: z.ZodDefault<z.ZodBoolean>;
allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{
readonly GLUTEN: "GLUTEN";
readonly DAIRY: "DAIRY";
readonly EGG: "EGG";
readonly PEANUT: "PEANUT";
readonly TREENUT: "TREENUT";
readonly FISH: "FISH";
readonly SHELLFISH: "SHELLFISH";
readonly SOY: "SOY";
readonly SESAME: "SESAME";
readonly CELERY: "CELERY";
readonly MUSTARD: "MUSTARD";
readonly LUPIN: "LUPIN";
readonly SULPHITES: "SULPHITES";
readonly MOLLUSCS: "MOLLUSCS";
}>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>;
preparationTime: z.ZodDefault<z.ZodNumber>;
spicyLevel: z.ZodDefault<z.ZodNativeEnum<{
readonly NOT_SPICY: "NOT_SPICY";
readonly MILD: "MILD";
readonly MEDIUM: "MEDIUM";
readonly HOT: "HOT";
readonly EXTRA_HOT: "EXTRA_HOT";
}>>;
calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD";
allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[];
preparationTime: number;
spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT";
calories: number | null;
isVegan: boolean;
isGlutenFree: boolean;
description: string;
image: string | null;
isVegetarian: boolean;
}, {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
page: number;
pageSize: number;
totalPages: number;
totalCount: number;
items: {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD";
allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[];
preparationTime: number;
spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT";
calories: number | null;
isVegan: boolean;
isGlutenFree: boolean;
description: string;
image: string | null;
isVegetarian: boolean;
}[];
}, {
totalPages: number;
totalCount: number;
items: {
type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER";
id: number;
name: string;
price: number;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
allergies?: unknown;
preparationTime?: number | undefined;
spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined;
calories?: number | null | undefined;
isVegan?: boolean | undefined;
isGlutenFree?: boolean | undefined;
image?: string | null | undefined;
isVegetarian?: boolean | undefined;
}[];
page?: number | undefined;
pageSize?: number | undefined;
}>;
/**
* Type representing the list of food items.
*
* This type is inferred from the `foodItemsListSchema` using Zod.
*
* @type {FoodItemsListDTO}
*/
/**
* Represents the data transfer object (DTO) for a list of food items.
*
* @property {typeof foodItemsListSchema} foodItemsListSchema - The schema definition for the food items list.
*/
export type FoodItemsListDTO = z.infer<typeof foodItemsListSchema>;
/**
* Schema for a list of drink items.
*
* This schema extends the `listPropsSchema` to include an array of drink items.
* Each drink item in the array must conform to the `drinkItemSchema`.
*
* @constant
* @type {ZodSchema}
*
* @example
* const validData = {
* items: [
* { name: "Coca Cola", volume: 330 },
* { name: "Fanta", volume: 330 }
* ]
* };
*
* drinkItemsListSchema.parse(validData); // This will pass validation
*
* @see {@link listPropsSchema} for the base schema properties.
* @see {@link drinkItemSchema} for the individual drink item schema.
*/
export declare const drinkItemsListSchema: z.ZodObject<{
page: z.ZodDefault<z.ZodNumber>;
pageSize: z.ZodDefault<z.ZodNumber>;
totalPages: z.ZodNumber;
totalCount: z.ZodNumber;
} & {
items: z.ZodArray<z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
price: z.ZodNumber;
description: z.ZodString;
ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>;
isAvailable: z.ZodDefault<z.ZodBoolean>;
popularityScore: z.ZodDefault<z.ZodNumber>;
image: z.ZodDefault<z.ZodNullable<z.ZodString>>;
} & {
category: z.ZodEffects<z.ZodNativeEnum<{
readonly BEER: "BEER";
readonly WINE: "WINE";
readonly SPIRITS: "SPIRITS";
readonly COFFEE: "COFFEE";
readonly TEA: "TEA";
readonly OTHER: "OTHER";
readonly SODA: "SODA";
readonly ALCOHOLIC: "ALCOHOLIC";
readonly NON_ALCOHOLIC: "NON_ALCOHOLIC";
}>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>;
volume: z.ZodNumber;
alcoholPercentage: z.ZodNullable<z.ZodNumber>;
isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
tempriture: z.ZodEffects<z.ZodNativeEnum<{
readonly COLD: "COLD";
readonly ROOM: "ROOM";
readonly HOT: "HOT";
}>, "HOT" | "COLD" | "ROOM", unknown>;
}, "strip", z.ZodTypeAny, {
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC";
volume: number;
alcoholPercentage: number | null;
isCarbonated: boolean;
tempriture: "HOT" | "COLD" | "ROOM";
description: string;
image: string | null;
}, {
id: number;
name: string;
price: number;
volume: number;
alcoholPercentage: number | null;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
isCarbonated?: unknown;
tempriture?: unknown;
image?: string | null | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
page: number;
pageSize: number;
totalPages: number;
totalCount: number;
items: {
id: number;
name: string;
price: number;
popularityScore: number;
ingredients: string[];
isAvailable: boolean;
category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC";
volume: number;
alcoholPercentage: number | null;
isCarbonated: boolean;
tempriture: "HOT" | "COLD" | "ROOM";
description: string;
image: string | null;
}[];
}, {
totalPages: number;
totalCount: number;
items: {
id: number;
name: string;
price: number;
volume: number;
alcoholPercentage: number | null;
description: string;
popularityScore?: number | undefined;
ingredients?: unknown;
isAvailable?: boolean | undefined;
category?: unknown;
isCarbonated?: unknown;
tempriture?: unknown;
image?: string | null | undefined;
}[];
page?: number | undefined;
pageSize?: number | undefined;
}>;
/**
* Type representing the list of drink items.
*
* This type is inferred from the `drinkItemsListSchema` using Zod.
*
* @type {DrinkItemsListDTO}
*/
export type DrinkItemsListDTO = z.infer<typeof drinkItemsListSchema>;
//# sourceMappingURL=items.dto.d.ts.map