about summary refs log tree commit diff stats
path: root/crates/rocie-client/src/models/cooklang_recipe.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rocie-client/src/models/cooklang_recipe.rs')
-rw-r--r--crates/rocie-client/src/models/cooklang_recipe.rs46
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,
+        }
+    }
+}
+