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

Move 'Ordner' and 'Bibliothek' into model/mod.rs

This commit is contained in:
Paul-Christian Volkmer 2023-06-02 22:31:38 +02:00
parent 8902a47903
commit 31a1dcb63e
6 changed files with 176 additions and 169 deletions

View File

@ -24,7 +24,7 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::model::onkostar_editor::Ordner; use crate::model::Ordner;
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct DataCatalogue { pub struct DataCatalogue {
@ -51,13 +51,13 @@ pub struct DataCatalogue {
#[serde(rename = "Entries")] #[serde(rename = "Entries")]
entries: Entries, entries: Entries,
#[serde(rename = "Ordner")] #[serde(rename = "Ordner")]
ordner: Ordner ordner: Ordner,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Entries { pub struct Entries {
#[serde(rename = "Entry")] #[serde(rename = "Entry")]
entry: Vec<Entry> entry: Vec<Entry>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -124,7 +124,7 @@ pub struct Entry {
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Use { pub struct Use {
#[serde(rename = "ProgramModule", default)] #[serde(rename = "ProgramModule", default)]
program_module: Vec<ProgramModule> program_module: Vec<ProgramModule>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -132,5 +132,5 @@ pub struct ProgramModule {
#[serde(rename = "@program")] #[serde(rename = "@program")]
program: String, program: String,
#[serde(rename = "@name")] #[serde(rename = "@name")]
name: String name: String,
} }

View File

@ -24,8 +24,8 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::model::Ordner;
use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script}; use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script};
use crate::model::onkostar_editor::Ordner;
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct DataForm { pub struct DataForm {
@ -141,7 +141,7 @@ pub struct DataForm {
menu_category: Option<MenuCategory>, menu_category: Option<MenuCategory>,
#[serde(rename = "Ansichten")] #[serde(rename = "Ansichten")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
ansichten: Option<Ansichten> ansichten: Option<Ansichten>,
} }
impl DataForm { impl DataForm {
@ -151,7 +151,8 @@ impl DataForm {
if entry.type_ == "formReference" { if entry.type_ == "formReference" {
if let Some(referenced_data_form) = &entry.referenced_data_form { if let Some(referenced_data_form) = &entry.referenced_data_form {
if referenced_data_form == "OS.Tumorkonferenz" { if referenced_data_form == "OS.Tumorkonferenz" {
entry.referenced_data_form = Some("OS.Tumorkonferenz.VarianteUKW".to_string()) entry.referenced_data_form =
Some("OS.Tumorkonferenz.VarianteUKW".to_string())
} }
} }
} }
@ -355,5 +356,5 @@ pub struct Entry {
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct DataFormEntries { pub struct DataFormEntries {
#[serde(rename = "EntryName")] #[serde(rename = "EntryName")]
entry_name: Option<Vec<String>> entry_name: Option<Vec<String>>,
} }

View File

@ -24,10 +24,10 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
pub mod onkostar_editor;
pub mod property_catalogue;
pub mod data_catalogue; pub mod data_catalogue;
pub mod data_form; pub mod data_form;
pub mod onkostar_editor;
pub mod property_catalogue;
pub mod unterformular; pub mod unterformular;
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -35,7 +35,7 @@ pub struct Script {
#[serde(rename = "Code")] #[serde(rename = "Code")]
code: String, code: String,
#[serde(rename = "Valid")] #[serde(rename = "Valid")]
valid: bool valid: bool,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -71,7 +71,7 @@ pub struct PlausibilityRule<T> {
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Entries<T> { pub struct Entries<T> {
#[serde(rename = "Entry")] #[serde(rename = "Entry")]
entry: Vec<T> entry: Vec<T>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -103,7 +103,7 @@ pub struct Ansicht {
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Ansichten { pub struct Ansichten {
#[serde(rename = "Ansicht", default)] #[serde(rename = "Ansicht", default)]
program_module: Vec<Ansicht> program_module: Vec<Ansicht>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -113,7 +113,7 @@ pub struct MenuCategory {
#[serde(rename = "position")] #[serde(rename = "position")]
position: String, position: String,
#[serde(rename = "column")] #[serde(rename = "column")]
column: String column: String,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -124,19 +124,38 @@ pub struct Filter {
valid: bool, valid: bool,
#[serde(rename = "RefEntries")] #[serde(rename = "RefEntries")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
ref_entries: Option<RefEntries> ref_entries: Option<RefEntries>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct RefEntries { pub struct RefEntries {
#[serde(rename = "RefEntry")] #[serde(rename = "RefEntry")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
ref_entry: Option<Vec<String>> ref_entry: Option<Vec<String>>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct PlausibilityRules<T> { pub struct PlausibilityRules<T> {
#[serde(rename = "PlausibilityRule")] #[serde(rename = "PlausibilityRule")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
plausibility_rule: Option<Vec<PlausibilityRule<T>>> plausibility_rule: Option<Vec<PlausibilityRule<T>>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Bibliothek {
#[serde(rename = "Name")]
name: String,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Ordner {
#[serde(rename = "Bibliothek")]
bibliothek: Bibliothek,
#[serde(rename = "Name")]
name: String,
#[serde(rename = "Typ")]
typ: String,
#[serde(rename = "ParentOrdner", default)]
#[serde(skip_serializing_if = "Option::is_none")]
parent_order: Option<Box<Ordner>>,
} }

View File

@ -34,7 +34,7 @@ pub struct OnkostarEditor {
#[serde(rename = "InfoXML")] #[serde(rename = "InfoXML")]
info_xml: InfoXML, info_xml: InfoXML,
#[serde(rename = "Editor")] #[serde(rename = "Editor")]
editor: Editor editor: Editor,
} }
impl OnkostarEditor { impl OnkostarEditor {
@ -55,7 +55,7 @@ pub struct InfoXML {
#[serde(rename = "Name")] #[serde(rename = "Name")]
name: String, name: String,
#[serde(rename = "Version")] #[serde(rename = "Version")]
version: String version: String,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -67,25 +67,11 @@ struct Editor {
#[serde(rename = "Unterformular")] #[serde(rename = "Unterformular")]
unterformular: Vec<Unterformular>, unterformular: Vec<Unterformular>,
#[serde(rename = "DataForm")] #[serde(rename = "DataForm")]
data_form: Vec<DataForm> data_form: Vec<DataForm>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Ordner {
#[serde(rename = "Bibliothek")]
bibliothek: Bibliothek,
#[serde(rename = "Name")]
name: String,
#[serde(rename = "Typ")]
typ: String,
#[serde(rename = "ParentOrdner", default)]
#[serde(skip_serializing_if="Option::is_none")]
parent_order: Option<Box<Ordner>>
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Bibliothek { pub struct Bibliothek {
#[serde(rename = "Name")] #[serde(rename = "Name")]
name: String name: String,
} }

View File

@ -24,7 +24,7 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::model::onkostar_editor::Ordner; use crate::model::Ordner;
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct PropertyCatalogue { pub struct PropertyCatalogue {
@ -48,14 +48,14 @@ pub struct PropertyCatalogue {
#[serde(rename = "Versions")] #[serde(rename = "Versions")]
versions: Versions, versions: Versions,
#[serde(rename = "Ordner")] #[serde(rename = "Ordner")]
ordner: Ordner ordner: Ordner,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Versions { pub struct Versions {
#[serde(rename = "Version")] #[serde(rename = "Version")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
entry: Option<Vec<Version>> entry: Option<Vec<Version>>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -82,13 +82,13 @@ 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")]
categories: Categories categories: Categories,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct VersionEntries { pub struct VersionEntries {
#[serde(rename = "Entry", default)] #[serde(rename = "Entry", default)]
content: Vec<VersionEntry> content: Vec<VersionEntry>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -106,13 +106,13 @@ pub struct VersionEntry {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
note: Option<String>, note: Option<String>,
#[serde(rename = "Position")] #[serde(rename = "Position")]
position: String position: String,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Categories { pub struct Categories {
#[serde(rename = "Category", default)] #[serde(rename = "Category", default)]
content: Vec<Category> content: Vec<Category>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -128,13 +128,13 @@ pub struct Category {
#[serde(rename = "Beschreibung")] #[serde(rename = "Beschreibung")]
beschreibung: String, beschreibung: String,
#[serde(rename = "CategoryEntries")] #[serde(rename = "CategoryEntries")]
category_entries: CategoryEntries category_entries: CategoryEntries,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct CategoryEntries { pub struct CategoryEntries {
#[serde(rename = "CategoryEntry", default)] #[serde(rename = "CategoryEntry", default)]
content: Vec<CategoryEntry> content: Vec<CategoryEntry>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -160,7 +160,7 @@ pub struct Abbildung {
#[serde(rename = "ZielMKVersionOid")] #[serde(rename = "ZielMKVersionOid")]
ziel_mk_version_oid: String, ziel_mk_version_oid: String,
#[serde(rename = "Eintrag", default)] #[serde(rename = "Eintrag", default)]
content: Vec<AbbildungEintrag> content: Vec<AbbildungEintrag>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -168,7 +168,7 @@ pub struct AbbildungEintrag {
#[serde(rename = "Entry-from")] #[serde(rename = "Entry-from")]
entry_from: AbbildungEntry, entry_from: AbbildungEntry,
#[serde(rename = "Entry-to")] #[serde(rename = "Entry-to")]
entry_to: AbbildungEntry entry_to: AbbildungEntry,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
@ -185,5 +185,5 @@ pub struct AbbildungEntry {
#[serde(rename = "Note")] #[serde(rename = "Note")]
note: String, note: String,
#[serde(rename = "Position")] #[serde(rename = "Position")]
position: String position: String,
} }

View File

@ -24,8 +24,8 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::model::Ordner;
use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script}; use crate::model::{Ansichten, Entries, Filter, MenuCategory, PlausibilityRules, Script};
use crate::model::onkostar_editor::Ordner;
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]
pub struct Unterformular { pub struct Unterformular {
@ -149,7 +149,7 @@ pub struct Unterformular {
menu_category: Option<MenuCategory>, menu_category: Option<MenuCategory>,
#[serde(rename = "Ansichten")] #[serde(rename = "Ansichten")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
ansichten: Option<Ansichten> ansichten: Option<Ansichten>,
} }
impl Unterformular { impl Unterformular {
@ -159,7 +159,8 @@ impl Unterformular {
if entry.type_ == "formReference" { if entry.type_ == "formReference" {
if let Some(referenced_data_form) = &entry.referenced_data_form { if let Some(referenced_data_form) = &entry.referenced_data_form {
if referenced_data_form == "OS.Tumorkonferenz" { if referenced_data_form == "OS.Tumorkonferenz" {
entry.referenced_data_form = Some("OS.Tumorkonferenz.VarianteUKW".to_string()) entry.referenced_data_form =
Some("OS.Tumorkonferenz.VarianteUKW".to_string())
} }
} }
} }
@ -365,5 +366,5 @@ pub struct Entry {
pub struct DataFormEntries { pub struct DataFormEntries {
#[serde(rename = "EntryName")] #[serde(rename = "EntryName")]
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
entry_name: Option<Vec<String>> entry_name: Option<Vec<String>>,
} }