From e1412df1fab9c79e66a7442f285677255e2a309b Mon Sep 17 00:00:00 2001 From: Alexander Korolev Date: Thu, 8 Aug 2024 16:48:14 +0200 Subject: [PATCH] added derive Clone to structs --- crates/derive/src/lib.rs | 4 ++-- src/model/codes.rs | 6 +++--- src/model/pruefbericht.rs | 2 +- src/model/shared/anschrift.rs | 2 +- src/model/shared/auftraggeber.rs | 4 ++-- src/model/shared/behoerde.rs | 8 ++++---- src/model/shared/betreiber.rs | 6 +++--- src/model/shared/dokument.rs | 6 +++--- src/model/shared/kommunikation.rs | 2 +- src/model/shared/misc.rs | 12 +++++------ src/model/shared/organisation.rs | 8 ++++---- src/model/shared/person.rs | 26 ++++++++++++------------ src/model/shared/probe.rs | 10 ++++----- src/model/shared/sprache.rs | 2 +- src/model/shared/staat.rs | 4 ++-- src/model/shared/unterssuchungsstelle.rs | 4 ++-- src/model/shared/untersuchungsplan.rs | 20 +++++++++--------- src/model/shared/xoev.rs | 2 +- src/model/shared/zeitraum.rs | 2 +- src/model/transport.rs | 16 +++++++-------- src/model/vorgang.rs | 8 ++++---- 21 files changed, 77 insertions(+), 77 deletions(-) diff --git a/crates/derive/src/lib.rs b/crates/derive/src/lib.rs index e3be4e5..e7bdde8 100644 --- a/crates/derive/src/lib.rs +++ b/crates/derive/src/lib.rs @@ -14,7 +14,7 @@ pub fn xoev_xwasser_code(attr: TokenStream, item: TokenStream) -> TokenStream { let name = ast.ident; if let Some(version) = iter.next() { quote! { - #[derive(Default, Debug, raxb::XmlSerialize, raxb::XmlDeserialize, serde::Serialize, serde::Deserialize)] + #[derive(Clone, Default, Debug, raxb::XmlSerialize, raxb::XmlDeserialize, serde::Serialize, serde::Deserialize)] #[cfg_attr(feature = "wasm", derive(tsify::Tsify))] #[xml(tns( b"xwas", @@ -45,7 +45,7 @@ pub fn xoev_xwasser_code(attr: TokenStream, item: TokenStream) -> TokenStream { } } else { quote! { - #[derive(Default, Debug, raxb::XmlSerialize, raxb::XmlDeserialize, serde::Serialize, serde::Deserialize)] + #[derive(Clone, Default, Debug, raxb::XmlSerialize, raxb::XmlDeserialize, serde::Serialize, serde::Deserialize)] #[cfg_attr(feature = "wasm", derive(tsify::Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/codes.rs b/src/model/codes.rs index de512e3..dca8dc9 100644 --- a/src/model/codes.rs +++ b/src/model/codes.rs @@ -21,7 +21,7 @@ impl FromStr for ConstStr { } } -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -42,7 +42,7 @@ impl FromStr for ConstStr { // list_version_id: String, // } -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -59,7 +59,7 @@ pub struct CodeBehoerdenkennungType { pub list_version_id: String, } -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/pruefbericht.rs b/src/model/pruefbericht.rs index 01adcc9..9f18c51 100644 --- a/src/model/pruefbericht.rs +++ b/src/model/pruefbericht.rs @@ -17,7 +17,7 @@ use super::shared::unterssuchungsstelle::BeauftragteUntersuchungsstelleType; /// Klasse zur Erfassung bzw. zum Transport der Daten eines Prüfberichts. Prüfberichte /// werden erstellt, nachdem eine Wasserprobe im Labor analysiert wurde. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/anschrift.rs b/src/model/shared/anschrift.rs index 684775b..e8bc0f6 100644 --- a/src/model/shared/anschrift.rs +++ b/src/model/shared/anschrift.rs @@ -22,7 +22,7 @@ use super::{ /// erlaubt. Die Anschrift kann auch über eine Subkomponente verfügen, die eine /// verwaltungspolitische Zuordnung des Ortes erlaubt (Zuordnung zu einer Gemeinde über /// den AGS, eines Bundesland, etc.). -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/auftraggeber.rs b/src/model/shared/auftraggeber.rs index 9cca4c1..6ef1140 100644 --- a/src/model/shared/auftraggeber.rs +++ b/src/model/shared/auftraggeber.rs @@ -15,7 +15,7 @@ use super::{ /// Informationen zu einem Auftraggeber [Ergänzende Angaben zu den jeweiligen /// Informationen aus den Registern von Betreibern/Behörden]. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -32,7 +32,7 @@ pub struct AuftraggeberType { // TODO: implement Box, Arc, Rc for raxb #[allow(clippy::large_enum_variant)] -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[serde(tag = "t", content = "c")] #[xml(tns( diff --git a/src/model/shared/behoerde.rs b/src/model/shared/behoerde.rs index 1d2c4e0..9315835 100644 --- a/src/model/shared/behoerde.rs +++ b/src/model/shared/behoerde.rs @@ -21,7 +21,7 @@ use super::{ /// Klasse für den Transport von Informationen zu einer Zuständigen Behörde [Ergänzende /// Angaben zu einer im Register Behörden gepflegte Behörde]. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -83,7 +83,7 @@ pub struct ZustaendigeBehoerdeType { /// auf kommunaler Ebene anhand des amtlichen Gemeindeschlüssels (AGS) der Gemeinde, für /// die die Behörde zuständig ist, lautet der Präfix "ags:", die Kennung ist dann der AGS /// der jeweiligen Gemeinde. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -102,7 +102,7 @@ pub struct BehoerdenkennungType { /// Verwaltungsträger berechtigt ist, mit Außenwirkung Aufgaben öffentlichen Handelns /// (insbes. der Erlass von Verwaltungsakten und das Schließen öffentlich-rechtlicher /// Verträge) wahrzunehmen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -145,7 +145,7 @@ pub struct BehoerdeType { /// Die Komponente "VerwaltungspolitischeKodierung" beinhaltet Information, die eine /// verwaltungspolitisch eindeutige Zuordnung ermöglichen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/betreiber.rs b/src/model/shared/betreiber.rs index e0ad47e..01a4ca7 100644 --- a/src/model/shared/betreiber.rs +++ b/src/model/shared/betreiber.rs @@ -19,7 +19,7 @@ use super::{ /// Informationen aus den Registern von Betreibern/Behörden]. // TODO: implement Box, Arc, Rc for raxb #[allow(clippy::large_enum_variant)] -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[serde(tag = "t", content = "c")] #[xml(tns( @@ -40,7 +40,7 @@ pub enum ArtDerPerson { /// Klasse zum Transport von Informationen zu einem Betreiber einer WVA [Soweit möglich /// in Register zu pflegen]. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -56,7 +56,7 @@ pub struct BetreiberType { } /// Klasse für den Transport von Informationen zu einem Objekt. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/dokument.rs b/src/model/shared/dokument.rs index 3d71fc1..7f04240 100644 --- a/src/model/shared/dokument.rs +++ b/src/model/shared/dokument.rs @@ -11,7 +11,7 @@ use crate::model::codes::CodeDokumenttypType; /// Sofern das Dokument signiert wurde findet sich hier eine Referenzliste auf die /// Signaturen. Diese sind ihrerseits wieder Dokumente, die auch als Dokumentelemente in /// der Nachricht zu finden sind. -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -26,7 +26,7 @@ pub struct SignaturenType { /// Dokument-Repräsentation, eine Darstellungsform des Dokumentes. Es muss das Element /// content oder die Elemente externalReferenceIndex und externalReferenceType oder alle /// 3 vorhanden sein. -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -56,7 +56,7 @@ pub struct DokumentRepraesentationType { /// Eine zum Antrag gehörige Unterlage in verschiedenen Dokumentendarstellungen, z. B. /// PDF oder eine Datendarstellung. Es muss immer das komplette Dokument mit allen /// Darstellungen übertragen werden. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/kommunikation.rs b/src/model/shared/kommunikation.rs index db2812a..5e048b8 100644 --- a/src/model/shared/kommunikation.rs +++ b/src/model/shared/kommunikation.rs @@ -10,7 +10,7 @@ use crate::model::codes::CodeKommunikationType; /// "Kommunikation" fasst Angaben zur Erreichbarkeit über elektronische /// Kommunikationskanäle (z.B. Telefon, Fax, E-Mail) zusammen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/misc.rs b/src/model/shared/misc.rs index 3f0e4c7..7e44c10 100644 --- a/src/model/shared/misc.rs +++ b/src/model/shared/misc.rs @@ -12,7 +12,7 @@ use super::zeitraum::ZeitraumType; /// Unter "Identifikation" werden die Informationen zusammengefasst, die die eindeutige /// Identifikation von Objekten in einem fachlichen Kontext erlauben. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct IdentifikationType { #[xml(ns = b"xwas", name = b"id", ty = "child")] @@ -30,7 +30,7 @@ pub struct IdentifikationType { /// Metadaten zu spezifizieren. Es können beliebige XML-Schemata mit unterschiedlichen /// Namensräumen angegeben werden. Die XML-Schema-Validierung der weiterführenden /// Metadaten erfolgt innerhalb der XWasser-Nachricht selbst (prozessContents = "lax"). -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -45,7 +45,7 @@ pub struct ErweiterungXmlType { /// Ein Feld ist ein anwendungsspezifisches Metadatum. Die Konfiguration eines Feldes /// muss zwischen den Kommunikationspartnern abgesprochen sein. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -63,7 +63,7 @@ pub struct ErweiterungFeldType { } /// Eine Erweiterungsgruppe fasst mehrere Felder (Metadaten) zu einem Objekt zusammen . -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -89,7 +89,7 @@ pub struct ErweiterungGruppeType { /// Zwischen Sender und Empfänger wird bilateral die Übermittlung einer strukturierten /// Information vereinbart, die sich mit den vorhandenen Klassen und Elemente nicht /// abbilden lässt. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -107,7 +107,7 @@ pub struct ErweiterungType { } /// Klasse zur Abbildung von SHAPTH-spezifischen Geokoordinaten. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct GeokoordinatenShapthType { #[xml( diff --git a/src/model/shared/organisation.rs b/src/model/shared/organisation.rs index 6538270..1f9d07b 100644 --- a/src/model/shared/organisation.rs +++ b/src/model/shared/organisation.rs @@ -19,7 +19,7 @@ use super::zeitraum::ZeitraumType; /// Personen bzw. eine rechtsfähige Personengesellschaft zu einem gemeinsamen Zweck, z.B. /// im wirtschaftlichen, gemeinnützigen, religiösen, öffentlichen oder politischen /// Bereich. Behörden werden über eine eigene Kernkomponente "Behoerde" abgebildet. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -56,7 +56,7 @@ pub struct OrganisationType { } /// Angaben zum Registereintrag. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -74,7 +74,7 @@ pub struct RegistrierungType { } /// "NameOrganisation" fasst die Angaben zum Namen einer Organisation zusammen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -92,7 +92,7 @@ pub struct NameOrganisationType { /// Die Organisationseinheit fasst Angaben zur Darstellung der internen hierarchischen /// Organisationsstruktur einer Institution zusammen, z.B. zur Darstellung von /// Abteilungen oder Referaten. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/person.rs b/src/model/shared/person.rs index 5e5e744..f365998 100644 --- a/src/model/shared/person.rs +++ b/src/model/shared/person.rs @@ -23,7 +23,7 @@ use super::{ /// Der AllgemeineName dient der Darstellung von Vor- und Nachnamen und fasst deren /// gemeinsame Eigenschaften zusammen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -51,7 +51,7 @@ pub struct AllgemeinerNameType { /// für die Verwendung einer alternativen Repraesentation ist die Übermittlung von Namen. /// Der Name "Andrè Müller" würde nach ICAO-Standard, in dem keine Umlaute erlaubt sind, /// daher alternativ als "ANDRE MUELLER" übertragen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -68,7 +68,7 @@ pub struct AlternativeRepraesentationType { /// Der Name einer Person ist eine Benennung dieser Person, die dazu dient, diese Person /// von anderen Personen zu unterscheiden. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -113,7 +113,7 @@ pub struct NameNatuerlichePersonType { } /// Die Auskunftssperre beschränkt die Weitergabe von Informationen an Dritte. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -127,7 +127,7 @@ pub struct AuskunftssperreType { } /// Unter "Geburt" werden geburtsbezogene Informationen zusammengefasst. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -146,7 +146,7 @@ pub struct GeburtType { /// Doktorgrade anzugeben, die in Pässe eingetragen werden dürfen. Sind mehrere /// Doktorgrade anzugeben, so sind sie durch ein Leerzeichen zu trennen. Zulässig sind /// derzeit: „DR.“, „Dr.“, „DR.HC.“, „Dr.hc.“, „Dr.EH.“ und „Dr.eh.“. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -160,7 +160,7 @@ pub struct DoktorgradType { /// Mit diesem Datentyp wird ein gesetzlicher Vertreter oder ein Bevollmächtigter einer /// nichtnatürlichen Person abgebildet. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -174,7 +174,7 @@ pub struct VertreterBevollmaechtigterType { } /// Hier werden Angaben zum Familienstand einer natürlichen Person zusammengefasst. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -196,7 +196,7 @@ pub struct FamilienstandType { /// Ein Ausweis ist eine öffentliche oder private Urkunde, die die Identität des Inhabers /// schriftlich und offiziell darstellt. Er enthält meist persönliche Daten. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -224,7 +224,7 @@ pub struct AusweisdokumentType { /// Selbstverwaltungskörperschaften, sonstige Körperschaften des öffentlichen Rechts) /// erfasst. Die konkrete Rechtsform der juristischen Person kann mittels einer Codeliste /// angegeben werden. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -267,7 +267,7 @@ pub struct JuristischePersonType { /// rechtsfähig und damit zu einer natürlichen Person (§ 1 BGB). Der Mensch verliert /// seine Rechtsfähigkeit mit dem Tod. Rechtssubjekte, die keine natürlichen Personen /// sind, nennt man juristische Personen. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -306,7 +306,7 @@ pub struct NatuerlichePersonType { // TODO: implement Box, Arc, Rc for raxb #[allow(clippy::large_enum_variant)] -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[serde(tag = "t", content = "c")] #[xml(tns( @@ -326,7 +326,7 @@ pub enum Person { /// Mit diesem Datentyp wird eine allgemeine Person, natürlich oder nichtnatürlich, /// spezifiziert /// dieser Datentype wird bisher nirgends verwendet -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/probe.rs b/src/model/shared/probe.rs index 4b37901..3eea935 100644 --- a/src/model/shared/probe.rs +++ b/src/model/shared/probe.rs @@ -22,7 +22,7 @@ use super::{ // TODO: implement Box, Arc, Rc for raxb #[allow(clippy::large_enum_variant)] -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[xml(tns(b"xwas", b"xwasser"))] #[cfg_attr(feature = "wasm", derive(Tsify))] #[serde(tag = "t", content = "c")] @@ -42,7 +42,7 @@ pub enum Probennehmer { /// Klasse für den Transport von Informationen zu einem Probennehmer [Durch das Labor mit /// dem Prüfbericht mit zu übermittelnde Informationen]. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -62,7 +62,7 @@ pub struct ProbennehmerType { } /// Klasse für den Transport von Informationen zu einer Probennahmestelle. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -105,7 +105,7 @@ pub struct ProbennahmestelleType { /// Klasse zum Transport von Informationen, welche über eine Probe vorliegen sollen, die /// im Rahmen eines Prüfberichts via SHAPTH übermittelt wird. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -193,7 +193,7 @@ pub struct ProbeType { pub id: String, } -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/sprache.rs b/src/model/shared/sprache.rs index 03a6822..a3b2830 100644 --- a/src/model/shared/sprache.rs +++ b/src/model/shared/sprache.rs @@ -9,7 +9,7 @@ use crate::model::codes::CodeSpracheType; use tsify::Tsify; /// Unter "Sprache" werden Informationen über Sprachen zusammengefasst. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/staat.rs b/src/model/shared/staat.rs index 9b7fa33..d05039d 100644 --- a/src/model/shared/staat.rs +++ b/src/model/shared/staat.rs @@ -9,7 +9,7 @@ use tsify::Tsify; use crate::model::codes::{CodeStaatType, CodeStaatsangehoerigkeitType}; /// Hier werden Angaben zur Staatsangehörigkeit zusammengefasst. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -23,7 +23,7 @@ pub struct StaatsangehoerigkeitType { /// Als Staat bezeichnet man eine politische Ordnung, die ein gemeinsames als /// Staatsgebiet abgegrenztes Territorium, ein dazugehöriges Staatsvolk und eine /// Machtausübung über dieses umfasst. -#[derive(Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/unterssuchungsstelle.rs b/src/model/shared/unterssuchungsstelle.rs index 96acf15..c05ebf1 100644 --- a/src/model/shared/unterssuchungsstelle.rs +++ b/src/model/shared/unterssuchungsstelle.rs @@ -18,7 +18,7 @@ use super::{ }; /// Klasse für den Transport von Informationen zu einer zugelassenen Untersuchungsstelle. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -97,7 +97,7 @@ pub struct ZugelasseneUntersuchungsstelleType { /// Klasse für den Transport von ergänzenden Informationen zu den Daten aus dem Register /// für Zugelassene Untersuchungsstellen im Falle der Beauftragung einer Untersuchung. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/untersuchungsplan.rs b/src/model/shared/untersuchungsplan.rs index 4caa2e9..eaa4eb7 100644 --- a/src/model/shared/untersuchungsplan.rs +++ b/src/model/shared/untersuchungsplan.rs @@ -1,7 +1,7 @@ // /// Klasse für den Transport von Informationen, die für die Erstellung eines // /// Untersuchungsplans für a- und b-Anlagen relevant sind. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -85,7 +85,7 @@ // /// Klasse für den Transport von Informationen, die für die Erstellung von Terminplänen // /// als Teil des Untersuchungsplans für a- und b-Anlagen relevant sind. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -131,7 +131,7 @@ // /// Klasse für den Transport von Informationen, die für Vorfälle gem. den neuen Vorgaben // /// für das EU-Berichtsformat benötigt werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -165,7 +165,7 @@ // /// Transport der Informationen, die für Qualität und Überwachung gem. dem neuen Vorgaben // /// für das EU-Berichtsformat benötigt werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -200,7 +200,7 @@ // /// Transport solcher Informationen, die für die Ausnahmeregelungen gem. den neuen // /// Vorgaben für das EU-Berichtsformat benötigt werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -252,7 +252,7 @@ // /// Klasse für den Transport von Informationen, die für Ursachen und Maßnahmen von // /// Überschreitungen gem. den neuen Vorgaben für das EU-Berichtsformat benötigt werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -286,7 +286,7 @@ // /// Klasse für den Transport von Informationen, die für Überschreitungen gem. den neuen // /// Vorgaben für das EU-Berichtsformat benötigt werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -329,7 +329,7 @@ // /// Klasse für den Transport von Informationen, die zur Beschreibung von Ursache und // /// Maßnahmen von Vorfällen gem. den neuen Vorgaben für das EU-Berichtsformat benötigt // /// werden. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -356,7 +356,7 @@ // /// Klasse für den Transport von Informationen zu einem Wasserversorgungsgebiet [Soweit // /// möglich in Register zu pflegen]. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", @@ -429,7 +429,7 @@ // } // /// Klasse für den Transport von Informationen zu einer Trinkwasserversorgungsanlage. -// #[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +// #[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] // #[cfg_attr(feature = "wasm", derive(Tsify))] // #[xml(tns( // b"xwas", diff --git a/src/model/shared/xoev.rs b/src/model/shared/xoev.rs index daed90e..d538a46 100644 --- a/src/model/shared/xoev.rs +++ b/src/model/shared/xoev.rs @@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize}; #[cfg(feature = "wasm")] use tsify::Tsify; -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/shared/zeitraum.rs b/src/model/shared/zeitraum.rs index 0ab78c4..cf8851d 100644 --- a/src/model/shared/zeitraum.rs +++ b/src/model/shared/zeitraum.rs @@ -8,7 +8,7 @@ use tsify::Tsify; /// Der Zeitraum kennzeichnet einen Abschnitt auf einem Zeitstrahl durch Angabe von /// Beginn und/oder Ende. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", diff --git a/src/model/transport.rs b/src/model/transport.rs index 117de58..71132cd 100644 --- a/src/model/transport.rs +++ b/src/model/transport.rs @@ -10,14 +10,14 @@ use wasm_bindgen::prelude::*; use super::vorgang::Vorgang; -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct Code { #[xml(ty = "text", default)] pub code: String, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct NachrichtenkopfG2g { #[xml(name = b"identifikation.nachricht", ty = "child")] @@ -32,7 +32,7 @@ pub struct NachrichtenkopfG2g { pub dvdv_dienstkennung: String, //DvdvDienstkennung, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct IdentifikationNachricht { #[xml(name = b"nachrichtenUUID", ty = "child")] @@ -43,7 +43,7 @@ pub struct IdentifikationNachricht { pub erstellungszeitpunkt: Option, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct NachrichtenTyp { #[xml( @@ -61,7 +61,7 @@ pub struct NachrichtenTyp { pub code: Code, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct Autor { #[xml(name = b"verzeichnisdienst", ty = "child")] @@ -72,7 +72,7 @@ pub struct Autor { pub name: String, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct Verzeichnisdienst { #[xml(name = b"listVersionID", ty = "attr", value = "")] @@ -82,7 +82,7 @@ pub struct Verzeichnisdienst { pub code: Code, } -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] pub struct Leser { #[xml(name = b"verzeichnisdienst", ty = "child")] @@ -95,7 +95,7 @@ pub struct Leser { // pub erreichbarkeit: Erreichbarkeit, } -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify), tsify(into_wasm_abi, from_wasm_abi))] #[xml(root = b"vorgang.transportieren.2010")] #[xml(tns( diff --git a/src/model/vorgang.rs b/src/model/vorgang.rs index 5ff8bcc..9b6b128 100644 --- a/src/model/vorgang.rs +++ b/src/model/vorgang.rs @@ -13,7 +13,7 @@ use super::{ shared::dokument::DokumentRepraesentationType, }; -#[derive(Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -27,7 +27,7 @@ pub struct IdentifikationVorgang { } /// Dieser Datentyp enthält die Angaben zu einem Vorgang. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -46,7 +46,7 @@ pub struct Vorgang { } /// Eine zum Antrag gehörige Unterlage in verschiedenen Dokumentendarstellungen, z. B. PDF oder eine Datendarstellung. Es muss immer das komplette Dokument mit allen Darstellungen übertragen werden. -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[xml(tns( b"xwas", @@ -72,7 +72,7 @@ pub struct DokumentType { // TODO: implement Box, Arc, Rc for raxb #[allow(clippy::large_enum_variant)] -#[derive(Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] +#[derive(Clone, Default, Debug, XmlSerialize, XmlDeserialize, Serialize, Deserialize)] #[cfg_attr(feature = "wasm", derive(Tsify))] #[serde(tag = "t", content = "c")] #[xml(tns(