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

fix: skip serializing if None

This commit is contained in:
Paul-Christian Volkmer 2024-11-09 12:49:24 +01:00
parent b4bcc852f2
commit f2d6213faf
2 changed files with 29 additions and 0 deletions

View File

@ -111,26 +111,33 @@ pub struct Akte {
#[serde(rename = "Name")] #[serde(rename = "Name")]
pub name: String, pub name: String,
#[serde(rename = "Beschreibung")] #[serde(rename = "Beschreibung")]
#[serde(skip_serializing_if = "Option::is_none")]
pub beschreibung: Option<String>, pub beschreibung: Option<String>,
#[serde(rename = "Ordner")] #[serde(rename = "Ordner")]
pub ordner: Ordner, pub ordner: Ordner,
#[serde(rename = "Aktiv")] #[serde(rename = "Aktiv")]
pub aktiv: bool, pub aktiv: bool,
#[serde(rename = "Kontext")] #[serde(rename = "Kontext")]
#[serde(skip_serializing_if = "Option::is_none")]
pub kontext: Option<String>, pub kontext: Option<String>,
#[serde(rename = "SID")] #[serde(rename = "SID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sid: Option<i32>, pub sid: Option<i32>,
#[serde(rename = "GUID")] #[serde(rename = "GUID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub guid: Option<String>, pub guid: Option<String>,
#[serde(rename = "Revision")] #[serde(rename = "Revision")]
#[serde(skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>, pub revision: Option<i32>,
#[serde(rename = "Modul")] #[serde(rename = "Modul")]
pub modul: Vec<Modul>, pub modul: Vec<Modul>,
#[serde(rename = "BerechtigungenAktiv")] #[serde(rename = "BerechtigungenAktiv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub berechtigungen_aktiv: Option<bool>, pub berechtigungen_aktiv: Option<bool>,
#[serde(rename = "AkteRolle")] #[serde(rename = "AkteRolle")]
pub akte_rolle: Vec<AkteRolle>, pub akte_rolle: Vec<AkteRolle>,
#[serde(rename = "OffeneProzedurenReiterAktiv")] #[serde(rename = "OffeneProzedurenReiterAktiv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offene_prozeduren_reiter_aktiv: Option<bool>, pub offene_prozeduren_reiter_aktiv: Option<bool>,
} }
@ -139,6 +146,7 @@ pub struct AkteRolle {
#[serde(rename = "Name")] #[serde(rename = "Name")]
pub name: String, pub name: String,
#[serde(rename = "Beschreibung")] #[serde(rename = "Beschreibung")]
#[serde(skip_serializing_if = "Option::is_none")]
pub beschreibung: Option<String>, pub beschreibung: Option<String>,
#[serde(rename = "ModulBerechtigung")] #[serde(rename = "ModulBerechtigung")]
pub modul_berechtigung: Vec<ModulBerechtigung>, pub modul_berechtigung: Vec<ModulBerechtigung>,
@ -175,20 +183,26 @@ pub struct Rskript {
#[serde(rename = "Name")] #[serde(rename = "Name")]
pub name: String, pub name: String,
#[serde(rename = "Titel")] #[serde(rename = "Titel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub titel: Option<String>, pub titel: Option<String>,
#[serde(rename = "Skript")] #[serde(rename = "Skript")]
#[serde(skip_serializing_if = "Option::is_none")]
pub skript: Option<String>, pub skript: Option<String>,
#[serde(rename = "Bemerkung")] #[serde(rename = "Bemerkung")]
pub bemerkung: String, pub bemerkung: String,
#[serde(rename = "Felder")] #[serde(rename = "Felder")]
#[serde(skip_serializing_if = "Option::is_none")]
pub felder: Option<String>, pub felder: Option<String>,
#[serde(rename = "Ordner")] #[serde(rename = "Ordner")]
pub ordner: Ordner, pub ordner: Ordner,
#[serde(rename = "SID")] #[serde(rename = "SID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sid: Option<i32>, pub sid: Option<i32>,
#[serde(rename = "GUID")] #[serde(rename = "GUID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub guid: Option<String>, pub guid: Option<String>,
#[serde(rename = "Revision")] #[serde(rename = "Revision")]
#[serde(skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>, pub revision: Option<i32>,
} }
@ -205,34 +219,46 @@ pub struct Modul {
#[serde(rename = "Name")] #[serde(rename = "Name")]
pub name: String, pub name: String,
#[serde(rename = "Beschreibung")] #[serde(rename = "Beschreibung")]
#[serde(skip_serializing_if = "Option::is_none")]
pub beschreibung: Option<String>, pub beschreibung: Option<String>,
#[serde(rename = "MenuEntry")] #[serde(rename = "MenuEntry")]
#[serde(skip_serializing_if = "Option::is_none")]
pub menu_entry: Option<String>, pub menu_entry: Option<String>,
#[serde(rename = "Typ")] #[serde(rename = "Typ")]
pub typ: i32, pub typ: i32,
#[serde(rename = "Position")] #[serde(rename = "Position")]
pub position: f64, pub position: f64,
#[serde(rename = "Konfiguration")] #[serde(rename = "Konfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub konfiguration: Option<String>, pub konfiguration: Option<String>,
#[serde(rename = "SID")] #[serde(rename = "SID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sid: Option<i32>, pub sid: Option<i32>,
#[serde(rename = "GUID")] #[serde(rename = "GUID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub guid: Option<String>, pub guid: Option<String>,
#[serde(rename = "Revision")] #[serde(rename = "Revision")]
#[serde(skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>, pub revision: Option<i32>,
#[serde(rename = "Formular")] #[serde(rename = "Formular")]
pub formular: Vec<ModulFormular>, pub formular: Vec<ModulFormular>,
#[serde(rename = "Ansicht")] #[serde(rename = "Ansicht")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ansicht: Option<Ansicht>, pub ansicht: Option<Ansicht>,
#[serde(rename = "ElementParentGUID")] #[serde(rename = "ElementParentGUID")]
#[serde(skip_serializing_if = "Option::is_none")]
pub element_parent_guid: Option<String>, pub element_parent_guid: Option<String>,
#[serde(rename = "GeoeffnetAnzeigen")] #[serde(rename = "GeoeffnetAnzeigen")]
#[serde(skip_serializing_if = "Option::is_none")]
pub geoeffnet_anzeigen: Option<bool>, pub geoeffnet_anzeigen: Option<bool>,
#[serde(rename = "AbAufschliessenAktiv")] #[serde(rename = "AbAufschliessenAktiv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ab_aufschliessen_aktiv: Option<bool>, pub ab_aufschliessen_aktiv: Option<bool>,
#[serde(rename = "AnmerkungenAktiv")] #[serde(rename = "AnmerkungenAktiv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub anmerkungen_aktiv: Option<bool>, pub anmerkungen_aktiv: Option<bool>,
#[serde(rename = "AufgabenlisteAktiv")] #[serde(rename = "AufgabenlisteAktiv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub aufgabenliste_aktiv: Option<bool>, pub aufgabenliste_aktiv: Option<bool>,
} }
@ -253,6 +279,7 @@ pub struct ModulBerechtigung {
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize)]
pub struct ModulFormular { pub struct ModulFormular {
#[serde(rename = "Name")] #[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>, pub name: Option<String>,
#[serde(rename = "SID")] #[serde(rename = "SID")]
pub sid: i32, pub sid: i32,

View File

@ -133,6 +133,7 @@ pub struct Version {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
abbildung: Option<Vec<Abbildung>>, abbildung: Option<Vec<Abbildung>>,
#[serde(rename = "Categories")] #[serde(rename = "Categories")]
#[serde(skip_serializing_if = "Option::is_none")]
categories: Option<Categories>, categories: Option<Categories>,
} }
@ -189,6 +190,7 @@ pub struct VersionEntry {
#[serde(rename = "ShortDescription")] #[serde(rename = "ShortDescription")]
short_description: String, short_description: String,
#[serde(rename = "Description")] #[serde(rename = "Description")]
#[serde(skip_serializing_if = "Option::is_none")]
description: Option<String>, description: Option<String>,
#[serde(rename = "Synonyms", default)] #[serde(rename = "Synonyms", default)]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]