Skip to main content

tmflib/tmf723/
characteristic_relationship.rs

1use crate::common::extensible::Extensible;
2use serde::{Deserialize, Serialize};
3
4///CharacteristicRelationship schema definition
5#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6pub struct CharacteristicRelationship {
7    ///Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema  MUST be extended with the @type
8    #[serde(flatten)]
9    pub extensible: Extensible,
10    ///Unique identifier of the characteristic
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub id: Option<String>,
13    ///The type of relationship
14    #[serde(rename = "relationshipType")]
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub relationship_type: Option<String>,
17}
18impl std::fmt::Display for CharacteristicRelationship {
19    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
20        write!(f, "{}", serde_json::to_string(self).unwrap())
21    }
22}
23impl std::ops::Deref for CharacteristicRelationship {
24    type Target = Extensible;
25    fn deref(&self) -> &Self::Target {
26        &self.extensible
27    }
28}
29impl std::ops::DerefMut for CharacteristicRelationship {
30    fn deref_mut(&mut self) -> &mut Self::Target {
31        &mut self.extensible
32    }
33}