From de4b50c23a297dc7bf30cf60b64efa911b58947a Mon Sep 17 00:00:00 2001
From: "thomas.woehlke" <thomas.woehlke@rub.de>
Date: Sun, 14 Mar 2021 21:35:31 +0100
Subject: [PATCH] uml

---
 .../application/application_domain_model.txt  | 150 ++++++++++++++++++
 docs/blueprints/ecdc/ecdc_domain_model.txt    | 150 ++++++++++++++++++
 docs/blueprints/owid/owid_domain_model.txt    | 150 ++++++++++++++++++
 docs/blueprints/who/who_domain_model.txt      | 150 ++++++++++++++++++
 4 files changed, 600 insertions(+)
 create mode 100644 docs/blueprints/application/application_domain_model.txt
 create mode 100644 docs/blueprints/ecdc/ecdc_domain_model.txt
 create mode 100644 docs/blueprints/owid/owid_domain_model.txt
 create mode 100644 docs/blueprints/who/who_domain_model.txt

diff --git a/docs/blueprints/application/application_domain_model.txt b/docs/blueprints/application/application_domain_model.txt
new file mode 100644
index 00000000..b27c8768
--- /dev/null
+++ b/docs/blueprints/application/application_domain_model.txt
@@ -0,0 +1,150 @@
+@startuml
+entity Course {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    path_relative: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_kurse_all()
+}
+entity Workflow {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_workflow_for_id(workflow_id: Integer)
+}
+entity Lektion {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    verified: Boolean
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_lektionen_for_workflow(workflow: Workflow)
+    {classifier} get_lektion_for_id(lektion_id: Integer)
+    {classifier} get_folien_for_lektion_id(lektion_id: Integer)
+    {classifier} get_all_verified()
+}
+entity FolienSatz {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    foliensatz_nr_in_lektion: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} get_foliensaetze_for_lektion(lektion: Lektion)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+entity Folie {
+    id: Integer
+    title: String
+    lektion_nr: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    foliensatz_nr_in_lektion: Integer
+    {classifier} get_folien_for_foliensatz(lektion: FolienSatz)
+    {classifier} getFolienKey(lektion_nr: Integer, folien_nr_in_lektion: Integer)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_folien_for_lektion(lektion: Lektion)
+}
+entity Abbildung {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    abbildung_nr_in_lektion: Integer
+    abbildung_nr_in_foliensatz: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    folien_satz_nr: Integer
+    lektion_nr: Integer
+    bildnachweis: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+Course "1" *--> "*" Workflow: workflows
+Workflow "*" --> "1" Course:  course
+Workflow "1" *--> "*" Lektion: lektionen
+Lektion "*" --> "1" Workflow: course_workflow
+Lektion "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Lektion: lektion
+Lektion "1" *--> "*" FolienSatz: foliensaetze
+FolienSatz "*" --> "1" Lektion: lektion
+FolienSatz "1" *--> "*" Folie: folien
+FolienSatz "1" *--> "*" Abbildung: abbildungen
+Folie "*" --> "1" FolienSatz: foliensatz
+Folie "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Folie: folie
+Abbildung "*" --> "1" FolienSatz: foliensatz
+class ArtefactContentService {
+    rename_src_files()
+    prepare_data_update()
+    run_data_update()
+    run_db_dump()
+    run_db_reimport()
+    parse_file_name(datei: String)
+    create_or_fetch_folie(file_name_dict, lektion: Lektion)
+    get_abbbildung_for_id(abbbildung_id: Integer)
+}
+ArtefactContentService : SQLAlchemy database
+ArtefactContentService : String[] courses
+ArtefactContentService : String[] workflows
+ArtefactContentService : String[] lektionen
+ArtefactContentService : String[] course_names
+class artefact_content_views {
+    url_root()
+    url_home()
+    url_update_data()
+    url_rename()
+    url_kurse_all()
+    url_kurse_workflow_lektionen(workflow_id: Integer)
+    url_kurse_workflow_lektion_folien(lektion_id: Integer)
+    url_abbbildung_id(abbildung_id: Integer)
+    url_db_dump()
+    url_db_reimport()
+    task_data_update()
+    task_rename_src_files()
+}
+@enduml
diff --git a/docs/blueprints/ecdc/ecdc_domain_model.txt b/docs/blueprints/ecdc/ecdc_domain_model.txt
new file mode 100644
index 00000000..b27c8768
--- /dev/null
+++ b/docs/blueprints/ecdc/ecdc_domain_model.txt
@@ -0,0 +1,150 @@
+@startuml
+entity Course {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    path_relative: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_kurse_all()
+}
+entity Workflow {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_workflow_for_id(workflow_id: Integer)
+}
+entity Lektion {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    verified: Boolean
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_lektionen_for_workflow(workflow: Workflow)
+    {classifier} get_lektion_for_id(lektion_id: Integer)
+    {classifier} get_folien_for_lektion_id(lektion_id: Integer)
+    {classifier} get_all_verified()
+}
+entity FolienSatz {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    foliensatz_nr_in_lektion: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} get_foliensaetze_for_lektion(lektion: Lektion)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+entity Folie {
+    id: Integer
+    title: String
+    lektion_nr: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    foliensatz_nr_in_lektion: Integer
+    {classifier} get_folien_for_foliensatz(lektion: FolienSatz)
+    {classifier} getFolienKey(lektion_nr: Integer, folien_nr_in_lektion: Integer)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_folien_for_lektion(lektion: Lektion)
+}
+entity Abbildung {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    abbildung_nr_in_lektion: Integer
+    abbildung_nr_in_foliensatz: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    folien_satz_nr: Integer
+    lektion_nr: Integer
+    bildnachweis: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+Course "1" *--> "*" Workflow: workflows
+Workflow "*" --> "1" Course:  course
+Workflow "1" *--> "*" Lektion: lektionen
+Lektion "*" --> "1" Workflow: course_workflow
+Lektion "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Lektion: lektion
+Lektion "1" *--> "*" FolienSatz: foliensaetze
+FolienSatz "*" --> "1" Lektion: lektion
+FolienSatz "1" *--> "*" Folie: folien
+FolienSatz "1" *--> "*" Abbildung: abbildungen
+Folie "*" --> "1" FolienSatz: foliensatz
+Folie "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Folie: folie
+Abbildung "*" --> "1" FolienSatz: foliensatz
+class ArtefactContentService {
+    rename_src_files()
+    prepare_data_update()
+    run_data_update()
+    run_db_dump()
+    run_db_reimport()
+    parse_file_name(datei: String)
+    create_or_fetch_folie(file_name_dict, lektion: Lektion)
+    get_abbbildung_for_id(abbbildung_id: Integer)
+}
+ArtefactContentService : SQLAlchemy database
+ArtefactContentService : String[] courses
+ArtefactContentService : String[] workflows
+ArtefactContentService : String[] lektionen
+ArtefactContentService : String[] course_names
+class artefact_content_views {
+    url_root()
+    url_home()
+    url_update_data()
+    url_rename()
+    url_kurse_all()
+    url_kurse_workflow_lektionen(workflow_id: Integer)
+    url_kurse_workflow_lektion_folien(lektion_id: Integer)
+    url_abbbildung_id(abbildung_id: Integer)
+    url_db_dump()
+    url_db_reimport()
+    task_data_update()
+    task_rename_src_files()
+}
+@enduml
diff --git a/docs/blueprints/owid/owid_domain_model.txt b/docs/blueprints/owid/owid_domain_model.txt
new file mode 100644
index 00000000..b27c8768
--- /dev/null
+++ b/docs/blueprints/owid/owid_domain_model.txt
@@ -0,0 +1,150 @@
+@startuml
+entity Course {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    path_relative: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_kurse_all()
+}
+entity Workflow {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_workflow_for_id(workflow_id: Integer)
+}
+entity Lektion {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    verified: Boolean
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_lektionen_for_workflow(workflow: Workflow)
+    {classifier} get_lektion_for_id(lektion_id: Integer)
+    {classifier} get_folien_for_lektion_id(lektion_id: Integer)
+    {classifier} get_all_verified()
+}
+entity FolienSatz {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    foliensatz_nr_in_lektion: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} get_foliensaetze_for_lektion(lektion: Lektion)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+entity Folie {
+    id: Integer
+    title: String
+    lektion_nr: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    foliensatz_nr_in_lektion: Integer
+    {classifier} get_folien_for_foliensatz(lektion: FolienSatz)
+    {classifier} getFolienKey(lektion_nr: Integer, folien_nr_in_lektion: Integer)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_folien_for_lektion(lektion: Lektion)
+}
+entity Abbildung {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    abbildung_nr_in_lektion: Integer
+    abbildung_nr_in_foliensatz: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    folien_satz_nr: Integer
+    lektion_nr: Integer
+    bildnachweis: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+Course "1" *--> "*" Workflow: workflows
+Workflow "*" --> "1" Course:  course
+Workflow "1" *--> "*" Lektion: lektionen
+Lektion "*" --> "1" Workflow: course_workflow
+Lektion "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Lektion: lektion
+Lektion "1" *--> "*" FolienSatz: foliensaetze
+FolienSatz "*" --> "1" Lektion: lektion
+FolienSatz "1" *--> "*" Folie: folien
+FolienSatz "1" *--> "*" Abbildung: abbildungen
+Folie "*" --> "1" FolienSatz: foliensatz
+Folie "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Folie: folie
+Abbildung "*" --> "1" FolienSatz: foliensatz
+class ArtefactContentService {
+    rename_src_files()
+    prepare_data_update()
+    run_data_update()
+    run_db_dump()
+    run_db_reimport()
+    parse_file_name(datei: String)
+    create_or_fetch_folie(file_name_dict, lektion: Lektion)
+    get_abbbildung_for_id(abbbildung_id: Integer)
+}
+ArtefactContentService : SQLAlchemy database
+ArtefactContentService : String[] courses
+ArtefactContentService : String[] workflows
+ArtefactContentService : String[] lektionen
+ArtefactContentService : String[] course_names
+class artefact_content_views {
+    url_root()
+    url_home()
+    url_update_data()
+    url_rename()
+    url_kurse_all()
+    url_kurse_workflow_lektionen(workflow_id: Integer)
+    url_kurse_workflow_lektion_folien(lektion_id: Integer)
+    url_abbbildung_id(abbildung_id: Integer)
+    url_db_dump()
+    url_db_reimport()
+    task_data_update()
+    task_rename_src_files()
+}
+@enduml
diff --git a/docs/blueprints/who/who_domain_model.txt b/docs/blueprints/who/who_domain_model.txt
new file mode 100644
index 00000000..b27c8768
--- /dev/null
+++ b/docs/blueprints/who/who_domain_model.txt
@@ -0,0 +1,150 @@
+@startuml
+entity Course {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    path_relative: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_kurse_all()
+}
+entity Workflow {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_workflow_for_id(workflow_id: Integer)
+}
+entity Lektion {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    verified: Boolean
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_lektionen_for_workflow(workflow: Workflow)
+    {classifier} get_lektion_for_id(lektion_id: Integer)
+    {classifier} get_folien_for_lektion_id(lektion_id: Integer)
+    {classifier} get_all_verified()
+}
+entity FolienSatz {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    lektion_nr: Integer
+    foliensatz_nr_in_lektion: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} get_foliensaetze_for_lektion(lektion: Lektion)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+entity Folie {
+    id: Integer
+    title: String
+    lektion_nr: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    foliensatz_nr_in_lektion: Integer
+    {classifier} get_folien_for_foliensatz(lektion: FolienSatz)
+    {classifier} getFolienKey(lektion_nr: Integer, folien_nr_in_lektion: Integer)
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+    {classifier} get_folien_for_lektion(lektion: Lektion)
+}
+entity Abbildung {
+    id: Integer
+    dateiname: String
+    parent_dir: String
+    title: String
+    abbildung_nr_in_lektion: Integer
+    abbildung_nr_in_foliensatz: Integer
+    folien_nr_in_lektion: Integer
+    folien_nr_in_foliensatz: Integer
+    folien_satz_nr: Integer
+    lektion_nr: Integer
+    bildnachweis: Integer
+    get_absolute_path()
+    get_relative_path()
+    {classifier} remove_all()
+    {classifier} get_all_as_page(page: Integer)
+    {classifier} get_all()
+    {classifier} get_all_as_dict()
+    {classifier} get_by_id(other_id: Integer)
+    {classifier} find_by_id(other_id: Integer)
+}
+Course "1" *--> "*" Workflow: workflows
+Workflow "*" --> "1" Course:  course
+Workflow "1" *--> "*" Lektion: lektionen
+Lektion "*" --> "1" Workflow: course_workflow
+Lektion "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Lektion: lektion
+Lektion "1" *--> "*" FolienSatz: foliensaetze
+FolienSatz "*" --> "1" Lektion: lektion
+FolienSatz "1" *--> "*" Folie: folien
+FolienSatz "1" *--> "*" Abbildung: abbildungen
+Folie "*" --> "1" FolienSatz: foliensatz
+Folie "1" o--> "*" Abbildung: abbildungen
+Abbildung "*" --> "1" Folie: folie
+Abbildung "*" --> "1" FolienSatz: foliensatz
+class ArtefactContentService {
+    rename_src_files()
+    prepare_data_update()
+    run_data_update()
+    run_db_dump()
+    run_db_reimport()
+    parse_file_name(datei: String)
+    create_or_fetch_folie(file_name_dict, lektion: Lektion)
+    get_abbbildung_for_id(abbbildung_id: Integer)
+}
+ArtefactContentService : SQLAlchemy database
+ArtefactContentService : String[] courses
+ArtefactContentService : String[] workflows
+ArtefactContentService : String[] lektionen
+ArtefactContentService : String[] course_names
+class artefact_content_views {
+    url_root()
+    url_home()
+    url_update_data()
+    url_rename()
+    url_kurse_all()
+    url_kurse_workflow_lektionen(workflow_id: Integer)
+    url_kurse_workflow_lektion_folien(lektion_id: Integer)
+    url_abbbildung_id(abbildung_id: Integer)
+    url_db_dump()
+    url_db_reimport()
+    task_data_update()
+    task_rename_src_files()
+}
+@enduml
-- 
GitLab