recipe-app/frontend/src/models/RecipeModel.ts
2025-10-07 20:53:31 +02:00

35 lines
1,019 B
TypeScript

import type { IngredientGroupModel } from "./IngredientGroupModel"
import type { ServingsModel } from "./ServingsModel"
/**
* Represents a recipe object in the application.
*/
/*
* @todo ingredient groups! There may be serveral ingredient lists, each with a title.
* e.g. for the dough, for the filling, for the icing,...
* - add type ingredient group with an optional title and a list of ingredients
* - adapt RecipeDetailView
* - add an IngredientGroupListEditor for handling IngredientGroups
*/
export interface RecipeModel {
/** Unique identifier for the recipe */
id?: string
/** Title of the recipe */
title: string
/** List of ingredients groups containing the ingredients of the recipe */
ingredientGroupList: IngredientGroupModel[]
/** Preparation instructions */
instructions: string
/** Number of servings, e.g., for 4 person, 12 cupcakes, 2 glasses */
servings: ServingsModel
/** Unit for the quantity */
/** Optional image URL for the recipe */
imageUrl?: string
}