basyx_rs/
concept_description.rs1use crate::administrative_information::AdministrativeInformation;
7use crate::embedded_data_specification::EmbeddedDataSpecification;
8use crate::reference::Reference;
9use crate::Extension;
10use crate::LangString as LangStringNameType;
11use crate::LangString as LangStringTextType;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
15#[serde(tag = "modelType")]
16pub struct ConceptDescription {
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub extensions: Option<Vec<Extension>>,
19
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub category: Option<String>,
22
23 #[serde(skip_serializing_if = "Option::is_none")]
24 #[serde(rename = "idShort")]
25 pub id_short: Option<String>,
26
27 #[serde(skip_serializing_if = "Option::is_none")]
28 #[serde(rename = "displayName")]
29 pub display_name: Option<Vec<LangStringNameType>>,
30
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub description: Option<Vec<LangStringTextType>>,
33
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub administration: Option<AdministrativeInformation>,
37
38 pub id: String,
39
40 #[serde(skip_serializing_if = "Option::is_none")]
42 #[serde(rename = "embeddedDataSpecifications")]
43 pub embedded_data_specifications: Option<Vec<EmbeddedDataSpecification>>,
44
45 #[serde(skip_serializing_if = "Option::is_none")]
46 #[serde(rename = "isCaseOf")]
47 pub is_case_of: Option<Vec<Reference>>,
48}
49
50impl ConceptDescription {
51 pub fn new(id: String) -> Self {
52 Self {
53 extensions: None,
54 category: None,
55 id_short: None,
56 display_name: None,
57 id,
58 embedded_data_specifications: None,
59 description: None,
60 administration: None,
61 is_case_of: None,
62 }
63 }
64}