import { Flavor } from "./Desktop/MenuVisor"; export interface CreateCategoryOutputPayload { title: string; description: string; } export interface EditCategoryOutputPayload { categoryId: number; title: string; description: string; } export interface DeleteCategoryOutputPayload { categoryId: number; } export interface CreateItemOutputPayload { name: string; description: string; price: number; categoryId: number; flavors?: CreateItemOutputPayloadFlavor[]; defaultImageUrl: string | null; customImageName: string | null; } export interface CreateItemOutputPayloadFlavor { title: string; stock: boolean; } export interface EditItemOutputPayloadFlavor { id: number; title: string; stock: boolean; imageUrl?: string | null; itemExtraPrice?: number | null; comboExtraPrice?: number | null; } export interface EditItemOutputPayload { itemId: number; categoryId: number; title: string; description: string; price: number; defaultImageUrl: string | null; flavors: Flavor[]; } export interface DeleteItemOutputPayload { itemId: number; } export interface CreateComboOutputPayload { categoryId: number; name: string; stock: boolean; description: string; price: number; items: CreateComboOutputItem[]; defaultImageUrl: string | null; customImageName: string | null; } export interface CreateComboOutputItem { itemId: Number; quantity: Number; } export interface EditComboOutputPayload { comboId: Number; categoryId: Number; name: string; stock: boolean; description: string; price: Number; defaultImageUrl: string | null; customImageName: string | null; items: CreateComboOutputItem[]; } export interface DeleteComboOutputPayload { comboId: Number; } export interface AsociateComboOrItemTomenuOutputPayload { itemId: Number; itemType: 'item' | 'combo'; } export interface DesAsociateComboOrItemTomenuOutputPayload { itemId: Number; itemType: 'item' | 'combo'; } export interface UpdateOrderOutputPayload { mongoId: string; status: 'pending' | 'in_process' | 'ready' | 'delivered'; } export interface CloseCreateCashRegistersPayload { actionType: 'create' | 'close'; cashRegisterId: number; } export interface CreateUserPayload { name: string; email: string; password: string; } export interface DeleteUserPayload { password: string; } export interface CreateCustomizerOutputPayload { itemId: number; name: string; type: "remove" | "extra"; maxExtras?: number | null; extraPrice?: number | null; quantitySelectedAsDefault?: number; image?: string; } export interface RemoveCustomizerOutputPayload { customizerId: number; } export interface AddRemoveCustomizerOutputPayload { itemId: string; customizerIndex: number; customizerId: number; type: "add" | "remove"; } export interface AddRemoveComboCustomizerOutputPayload { comboId: number; subItemId: number | string; customizerIndex: number; customizerId: number; type: "add" | "remove"; }