/* * 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}; /// ProductParent : The grouping system for products. Every Product can have a related parent, and every parent can have a parent themselves. As such, the products list constructs a DAG. #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct ProductParent { /// An optional description of this product parent. #[serde(rename = "description", skip_serializing_if = "Option::is_none")] pub description: Option, /// The id of the product parent. #[serde(rename = "id")] pub id: models::ProductParentId, /// The name of the product parent. This should be globally unique, to make searching easier for the user. #[serde(rename = "name")] pub name: String, /// The optional id of the parent of this product parent. This must not form a cycle. #[serde(rename = "parent", skip_serializing_if = "Option::is_none")] pub parent: Option, } impl ProductParent { /// The grouping system for products. Every Product can have a related parent, and every parent can have a parent themselves. As such, the products list constructs a DAG. pub fn new(id: models::ProductParentId, name: String) -> ProductParent { ProductParent { description: None, id, name, parent: None, } } }