basyx_rs/
asset_information.rs1use serde::{Deserialize, Serialize};
7
8use crate::asset_kind::AssetKind;
9use crate::{Resource, SpecificAssetId};
10
11#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
12pub struct AssetInformation {
13 #[serde(rename = "assetKind")]
14 pub asset_kind: AssetKind,
15
16 #[serde(skip_serializing_if = "Option::is_none")]
17 #[serde(rename = "globalAssetId")]
18 pub global_asset_id: Option<String>,
19
20 #[serde(skip_serializing_if = "Option::is_none")]
21 #[serde(rename = "specificAssetIds")]
22 pub specific_asset_ids: Option<Vec<SpecificAssetId>>,
23
24 #[serde(skip_serializing_if = "Option::is_none")]
25 #[serde(rename = "assetType")]
26 pub asset_type: Option<String>,
27
28 #[serde(skip_serializing_if = "Option::is_none")]
29 #[serde(rename = "defaultThumbnail")]
30 pub default_thumbnail: Option<Resource>,
31}
32
33impl AssetInformation {
34 pub fn new(asset_kind: AssetKind) -> Self {
35 Self {
36 asset_kind,
37 global_asset_id: None,
38 specific_asset_ids: None,
39 asset_type: None,
40 default_thumbnail: None,
41 }
42 }
43}