1 use ::serde
::{Deserialize, Serialize}
;
8 use crate::api2
::types
::{
10 MEDIA_SET_UUID_SCHEMA
,
18 schema
: MEDIA_SET_UUID_SCHEMA
,
22 #[derive(Serialize,Deserialize)]
23 #[serde(rename_all = "kebab-case")]
24 /// Media Set list entry
25 pub struct MediaSetListEntry
{
27 pub media_set_name
: String
,
28 pub media_set_uuid
: Uuid
,
29 /// MediaSet creation time stamp
30 pub media_set_ctime
: i64,
44 schema
: MEDIA_UUID_SCHEMA
,
47 schema
: MEDIA_SET_UUID_SCHEMA
,
52 #[derive(Serialize,Deserialize)]
53 #[serde(rename_all = "kebab-case")]
55 pub struct MediaListEntry
{
56 /// Media label text (or Barcode)
57 pub label_text
: String
,
59 /// Creation time stamp
61 pub location
: MediaLocation
,
62 pub status
: MediaStatus
,
68 #[serde(skip_serializing_if="Option::is_none")]
69 pub media_set_name
: Option
<String
>,
70 #[serde(skip_serializing_if="Option::is_none")]
71 pub media_set_uuid
: Option
<Uuid
>,
73 #[serde(skip_serializing_if="Option::is_none")]
74 pub seq_nr
: Option
<u64>,
75 /// MediaSet creation time stamp
76 #[serde(skip_serializing_if="Option::is_none")]
77 pub media_set_ctime
: Option
<i64>,
79 #[serde(skip_serializing_if="Option::is_none")]
80 pub pool
: Option
<String
>,
86 schema
: MEDIA_UUID_SCHEMA
,
89 schema
: MEDIA_SET_UUID_SCHEMA
,
94 #[derive(Serialize,Deserialize)]
95 #[serde(rename_all = "kebab-case")]
97 pub struct MediaIdFlat
{
100 /// Media label text (or Barcode)
101 pub label_text
: String
,
102 /// Creation time stamp
104 // All MediaSet properties are optional here
106 #[serde(skip_serializing_if="Option::is_none")]
107 pub pool
: Option
<String
>,
108 #[serde(skip_serializing_if="Option::is_none")]
109 pub media_set_uuid
: Option
<Uuid
>,
110 /// MediaSet media sequence number
111 #[serde(skip_serializing_if="Option::is_none")]
112 pub seq_nr
: Option
<u64>,
113 /// MediaSet Creation time stamp
114 #[serde(skip_serializing_if="Option::is_none")]
115 pub media_set_ctime
: Option
<i64>,
116 /// Encryption key fingerprint
117 #[serde(skip_serializing_if="Option::is_none")]
118 pub encryption_key_fingerprint
: Option
<String
>,
124 schema
: MEDIA_UUID_SCHEMA
,
129 #[derive(Serialize,Deserialize)]
130 #[serde(rename_all = "kebab-case")]
131 /// Label with optional Uuid
132 pub struct LabelUuidMap
{
133 /// Changer label text (or Barcode)
134 pub label_text
: String
,
135 /// Associated Uuid (if any)
136 pub uuid
: Option
<Uuid
>,
142 schema
: MEDIA_UUID_SCHEMA
,
145 schema
: MEDIA_SET_UUID_SCHEMA
,
149 #[derive(Serialize,Deserialize)]
150 #[serde(rename_all = "kebab-case")]
151 /// Media content list entry
152 pub struct MediaContentEntry
{
153 /// Media label text (or Barcode)
154 pub label_text
: String
,
158 pub media_set_name
: String
,
160 pub media_set_uuid
: Uuid
,
161 /// MediaSet Creation time stamp
162 pub media_set_ctime
: i64,
170 pub snapshot
: String
,
171 /// Snapshot creation time (epoch)
172 pub backup_time
: i64,