1
0
mirror of https://github.com/pcvolkmer/osc-variant.git synced 2025-04-19 19:56:50 +00:00

Make version entries and categories optional in property catalogue

This commit is contained in:
Paul-Christian Volkmer 2023-11-08 11:55:48 +01:00
parent bf7b8cd9ba
commit a08abd7688

View File

@ -127,12 +127,12 @@ pub struct Version {
#[serde(rename = "Revision")]
revision: u16,
#[serde(rename = "Entries")]
entries: VersionEntries,
entries: Option<VersionEntries>,
#[serde(rename = "Abbildung")]
#[serde(skip_serializing_if = "Option::is_none")]
abbildung: Option<Vec<Abbildung>>,
#[serde(rename = "Categories")]
categories: Categories,
categories: Option<Categories>,
}
impl Sortable for Version {
@ -151,19 +151,23 @@ impl Sortable for Version {
});
}
self.entries
if let Some(ref mut entries) = self.entries {
entries
.content
.sort_unstable_by_key(|item| item.sorting_key());
self.entries.content.iter_mut().for_each(|item| {
entries.content.iter_mut().for_each(|item| {
item.sorted();
});
}
self.categories
if let Some(ref mut categories) = self.categories {
categories
.content
.sort_unstable_by_key(|item| item.sorting_key());
self.categories.content.iter_mut().for_each(|item| {
categories.content.iter_mut().for_each(|item| {
item.sorted();
});
}
self
}
@ -184,7 +188,7 @@ pub struct VersionEntry {
#[serde(rename = "ShortDescription")]
short_description: String,
#[serde(rename = "Description")]
description: String,
description: Option<String>,
#[serde(rename = "Synonyms", default)]
#[serde(skip_serializing_if = "Option::is_none")]
synonyms: Option<String>,