diff options
Diffstat (limited to 'crates/rocie-client/src/models/cooklang_recipe.rs')
| -rw-r--r-- | crates/rocie-client/src/models/cooklang_recipe.rs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/crates/rocie-client/src/models/cooklang_recipe.rs b/crates/rocie-client/src/models/cooklang_recipe.rs new file mode 100644 index 0000000..3d4bb35 --- /dev/null +++ b/crates/rocie-client/src/models/cooklang_recipe.rs @@ -0,0 +1,46 @@ +/* + * rocie-server + * + * An enterprise grocery management system - server + * + * The version of the OpenAPI document: 0.1.0 + * Contact: benedikt.peetz@b-peetz.de + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CooklangRecipe : A complete recipe The recipes do not have a name. You give it externally or maybe use some metadata key. The recipe returned from parsing is a [`ScalableRecipe`]. The difference between [`ScalableRecipe`] and [`ScaledRecipe`] is in the values of the quantities of ingredients, cookware and timers. The parser returns [`ScalableValue`]s and after scaling, these are converted to regular [`Value`]s. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CooklangRecipe { + /// All the cookware + #[serde(rename = "cookware")] + pub cookware: Vec<models::Cookware>, + /// All the ingredients + #[serde(rename = "ingredients")] + pub ingredients: Vec<models::Ingredient>, + /// Metadata as read from preamble + #[serde(rename = "metadata")] + pub metadata: models::Metadata, + /// Each of the sections If no sections declared, a section without name is the default. + #[serde(rename = "sections")] + pub sections: Vec<models::Section>, + /// All the timers + #[serde(rename = "timers")] + pub timers: Vec<models::Timer>, +} + +impl CooklangRecipe { + /// A complete recipe The recipes do not have a name. You give it externally or maybe use some metadata key. The recipe returned from parsing is a [`ScalableRecipe`]. The difference between [`ScalableRecipe`] and [`ScaledRecipe`] is in the values of the quantities of ingredients, cookware and timers. The parser returns [`ScalableValue`]s and after scaling, these are converted to regular [`Value`]s. + pub fn new(cookware: Vec<models::Cookware>, ingredients: Vec<models::Ingredient>, metadata: models::Metadata, sections: Vec<models::Section>, timers: Vec<models::Timer>) -> CooklangRecipe { + CooklangRecipe { + cookware, + ingredients, + metadata, + sections, + timers, + } + } +} + |
