1
0
mirror of https://github.com/pcvolkmer/osc-variant.git synced 2025-07-02 08:42:54 +00:00

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

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

View File

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

View File

@ -24,10 +24,10 @@
use serde::{Deserialize, Serialize};
pub mod onkostar_editor;
pub mod property_catalogue;
pub mod data_catalogue;
pub mod data_form;
pub mod onkostar_editor;
pub mod property_catalogue;
pub mod unterformular;
#[derive(Serialize, Deserialize, Debug)]
@ -35,7 +35,7 @@ pub struct Script {
#[serde(rename = "Code")]
code: String,
#[serde(rename = "Valid")]
valid: bool
valid: bool,
}
#[derive(Serialize, Deserialize, Debug)]
@ -71,7 +71,7 @@ pub struct PlausibilityRule<T> {
#[derive(Serialize, Deserialize, Debug)]
pub struct Entries<T> {
#[serde(rename = "Entry")]
entry: Vec<T>
entry: Vec<T>,
}
#[derive(Serialize, Deserialize, Debug)]
@ -103,7 +103,7 @@ pub struct Ansicht {
#[derive(Serialize, Deserialize, Debug)]
pub struct Ansichten {
#[serde(rename = "Ansicht", default)]
program_module: Vec<Ansicht>
program_module: Vec<Ansicht>,
}
#[derive(Serialize, Deserialize, Debug)]
@ -113,7 +113,7 @@ pub struct MenuCategory {
#[serde(rename = "position")]
position: String,
#[serde(rename = "column")]
column: String
column: String,
}
#[derive(Serialize, Deserialize, Debug)]
@ -124,19 +124,38 @@ pub struct Filter {
valid: bool,
#[serde(rename = "RefEntries")]
#[serde(skip_serializing_if = "Option::is_none")]
ref_entries: Option<RefEntries>
ref_entries: Option<RefEntries>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct RefEntries {
#[serde(rename = "RefEntry")]
#[serde(skip_serializing_if = "Option::is_none")]
ref_entry: Option<Vec<String>>
ref_entry: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct PlausibilityRules<T> {
#[serde(rename = "PlausibilityRule")]
#[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")]
info_xml: InfoXML,
#[serde(rename = "Editor")]
editor: Editor
editor: Editor,
}
impl OnkostarEditor {
@ -55,7 +55,7 @@ pub struct InfoXML {
#[serde(rename = "Name")]
name: String,
#[serde(rename = "Version")]
version: String
version: String,
}
#[derive(Serialize, Deserialize, Debug)]
@ -67,25 +67,11 @@ struct Editor {
#[serde(rename = "Unterformular")]
unterformular: Vec<Unterformular>,
#[serde(rename = "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>>
data_form: Vec<DataForm>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Bibliothek {
#[serde(rename = "Name")]
name: String
name: String,
}

View File

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

View File

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