// rocie - An enterprise grocery management system // // Copyright (C) 2026 Benedikt Peetz // SPDX-License-Identifier: GPL-3.0-or-later // // This file is part of Rocie. // // You should have received a copy of the License along with this program. // If not, see . /* * 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}; /// Recipe : An recipe. These are transparently expressed in cooklang. #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct Recipe { /// The actual content of this recipe. #[serde(rename = "content")] pub content: models::CooklangRecipe, /// The unique id of this recipe. #[serde(rename = "id")] pub id: models::RecipeId, /// The name of the recipe. This should be globally unique, to make searching easier for the user. #[serde(rename = "name")] pub name: String, /// The parent this recipe has. This is effectively it's anchor in the recipe DAG. None means, that it has no parents and as such is in the toplevel. #[serde(rename = "parent", skip_serializing_if = "Option::is_none")] pub parent: Option, } impl Recipe { /// An recipe. These are transparently expressed in cooklang. pub fn new(content: models::CooklangRecipe, id: models::RecipeId, name: String) -> Recipe { Recipe { content, id, name, parent: None, } } }