From b5da2969d483c6cc68ce979930da11908ede423f Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 5 Jun 2023 19:56:20 +0200 Subject: [PATCH] Add structs 'Haeufigkeit' and 'Haeufigkeiten' --- src/model/data_form.rs | 4 ++-- src/model/mod.rs | 34 ++++++++++++++++++++++++++++++++++ src/model/unterformular.rs | 7 +++++-- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/model/data_form.rs b/src/model/data_form.rs index 1606e5a..6b6799b 100644 --- a/src/model/data_form.rs +++ b/src/model/data_form.rs @@ -24,8 +24,8 @@ use serde::{Deserialize, Serialize}; -use crate::model::Ordner; use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script}; +use crate::model::{Haeufigkeiten, Ordner}; use crate::profile::Profile; #[derive(Serialize, Deserialize, Debug)] @@ -133,7 +133,7 @@ pub struct DataForm { #[serde(rename = "PlausibilityRules")] plausibility_rules: PlausibilityRules, #[serde(rename = "Haeufigkeiten")] - haeufigkeiten: String, + haeufigkeiten: Haeufigkeiten, #[serde(rename = "Kennzahlen")] kennzahlen: String, #[serde(rename = "Ordner")] diff --git a/src/model/mod.rs b/src/model/mod.rs index 8353f64..7433b4d 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -150,6 +150,40 @@ pub struct PlausibilityRules { plausibility_rule: Option>>, } +#[derive(Serialize, Deserialize, Debug)] +#[serde(deny_unknown_fields)] +pub struct Haeufigkeiten { + #[serde(rename = "Haeufigkeit", default)] + haeufigkeit: Vec, +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(deny_unknown_fields)] +pub struct Haeufigkeit { + #[serde(rename = "Name")] + name: String, + #[serde(rename = "Beschreibung")] + beschreibung: String, + #[serde(rename = "Notiz")] + notiz: String, + #[serde(rename = "Status")] + status: bool, + #[serde(rename = "Formel")] + formel: String, + #[serde(rename = "Analysezweck")] + analysezweck: String, + #[serde(rename = "Position")] + position: String, + #[serde(rename = "Ueberschrift")] + ueberschrift: String, + #[serde(rename = "TaeglichAktualisieren")] + taeglich_aktualisieren: bool, + #[serde(rename = "Typ")] + typ: String, + #[serde(rename = "TabellenName")] + tabellen_name: String, +} + #[derive(Serialize, Deserialize, Debug)] #[serde(deny_unknown_fields)] pub struct Bibliothek { diff --git a/src/model/unterformular.rs b/src/model/unterformular.rs index 34dff5f..42ca79a 100644 --- a/src/model/unterformular.rs +++ b/src/model/unterformular.rs @@ -25,8 +25,8 @@ use console::style; use serde::{Deserialize, Serialize}; -use crate::model::Ordner; use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script}; +use crate::model::{Haeufigkeiten, Ordner}; use crate::profile::Profile; #[derive(Serialize, Deserialize, Debug)] @@ -132,6 +132,9 @@ pub struct Unterformular { guid: String, #[serde(rename = "Revision")] revision: u16, + #[serde(rename = "maxAnzahl")] + #[serde(skip_serializing_if = "Option::is_none")] + max_anzahl: Option, #[serde(rename = "VerknuepftGUID")] #[serde(skip_serializing_if = "Option::is_none")] verknuepft_guid: Option, @@ -142,7 +145,7 @@ pub struct Unterformular { #[serde(rename = "PlausibilityRules")] plausibility_rules: PlausibilityRules, #[serde(rename = "Haeufigkeiten")] - haeufigkeiten: String, + haeufigkeiten: Haeufigkeiten, #[serde(rename = "Kennzahlen")] kennzahlen: String, #[serde(rename = "Ordner")]