#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyAnd24AmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAnd24AmountSimpleType);
impl Validate for ActiveCurrencyAnd24AmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct ActiveCurrencyAnd24Amount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAnd24Amount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAndAmountSimpleType);
impl Validate for ActiveCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct ActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub enum AssetClassDetailedSubProductType16Code {
#[yaserde(rename = "FXCR")]
#[cfg_attr(feature = "serde", serde(rename = "FXCR"))]
Fxcr,
#[yaserde(rename = "FXEM")]
#[cfg_attr(feature = "serde", serde(rename = "FXEM"))]
Fxem,
#[yaserde(rename = "FXMJ")]
#[cfg_attr(feature = "serde", serde(rename = "FXMJ"))]
Fxmj,
#[yaserde(rename = "FUEL")]
#[cfg_attr(feature = "serde", serde(rename = "FUEL"))]
Fuel,
#[yaserde(rename = "FOIL")]
#[cfg_attr(feature = "serde", serde(rename = "FOIL"))]
Foil,
#[yaserde(rename = "GOIL")]
#[cfg_attr(feature = "serde", serde(rename = "GOIL"))]
Goil,
#[yaserde(rename = "GSLN")]
#[cfg_attr(feature = "serde", serde(rename = "GSLN"))]
Gsln,
#[yaserde(rename = "GASP")]
#[cfg_attr(feature = "serde", serde(rename = "GASP"))]
Gasp,
#[yaserde(rename = "HEAT")]
#[cfg_attr(feature = "serde", serde(rename = "HEAT"))]
Heat,
#[yaserde(rename = "IRON")]
#[cfg_attr(feature = "serde", serde(rename = "IRON"))]
Iron,
#[yaserde(rename = "JTFL")]
#[cfg_attr(feature = "serde", serde(rename = "JTFL"))]
Jtfl,
#[yaserde(rename = "KERO")]
#[cfg_attr(feature = "serde", serde(rename = "KERO"))]
Kero,
#[yaserde(rename = "LAMP")]
#[cfg_attr(feature = "serde", serde(rename = "LAMP"))]
Lamp,
#[yaserde(rename = "LEAD")]
#[cfg_attr(feature = "serde", serde(rename = "LEAD"))]
Lead,
#[yaserde(rename = "LLSO")]
#[cfg_attr(feature = "serde", serde(rename = "LLSO"))]
Llso,
#[yaserde(rename = "LNGG")]
#[cfg_attr(feature = "serde", serde(rename = "LNGG"))]
Lngg,
#[yaserde(rename = "CORN")]
#[cfg_attr(feature = "serde", serde(rename = "CORN"))]
Corn,
#[yaserde(rename = "MARS")]
#[cfg_attr(feature = "serde", serde(rename = "MARS"))]
Mars,
#[yaserde(rename = "MWHT")]
#[cfg_attr(feature = "serde", serde(rename = "MWHT"))]
Mwht,
#[yaserde(rename = "MOLY")]
#[cfg_attr(feature = "serde", serde(rename = "MOLY"))]
Moly,
#[yaserde(rename = "NAPH")]
#[cfg_attr(feature = "serde", serde(rename = "NAPH"))]
Naph,
#[yaserde(rename = "NBPG")]
#[cfg_attr(feature = "serde", serde(rename = "NBPG"))]
Nbpg,
#[yaserde(rename = "NASC")]
#[cfg_attr(feature = "serde", serde(rename = "NASC"))]
Nasc,
#[yaserde(rename = "NCGG")]
#[cfg_attr(feature = "serde", serde(rename = "NCGG"))]
Ncgg,
#[yaserde(rename = "NGLO")]
#[cfg_attr(feature = "serde", serde(rename = "NGLO"))]
Nglo,
#[yaserde(rename = "NICK")]
#[cfg_attr(feature = "serde", serde(rename = "NICK"))]
Nick,
#[yaserde(rename = "OFFP")]
#[cfg_attr(feature = "serde", serde(rename = "OFFP"))]
Offp,
#[yaserde(rename = "ALUM")]
#[cfg_attr(feature = "serde", serde(rename = "ALUM"))]
Alum,
#[yaserde(rename = "ALUA")]
#[cfg_attr(feature = "serde", serde(rename = "ALUA"))]
Alua,
#[yaserde(rename = "BAKK")]
#[cfg_attr(feature = "serde", serde(rename = "BAKK"))]
Bakk,
#[yaserde(rename = "BSLD")]
#[cfg_attr(feature = "serde", serde(rename = "BSLD"))]
Bsld,
#[yaserde(rename = "BDSL")]
#[cfg_attr(feature = "serde", serde(rename = "BDSL"))]
Bdsl,
#[yaserde(rename = "BRNT")]
#[cfg_attr(feature = "serde", serde(rename = "BRNT"))]
Brnt,
#[yaserde(rename = "BRNX")]
#[cfg_attr(feature = "serde", serde(rename = "BRNX"))]
Brnx,
#[yaserde(rename = "CNDA")]
#[cfg_attr(feature = "serde", serde(rename = "CNDA"))]
Cnda,
#[yaserde(rename = "CERE")]
#[cfg_attr(feature = "serde", serde(rename = "CERE"))]
Cere,
#[yaserde(rename = "CBLT")]
#[cfg_attr(feature = "serde", serde(rename = "CBLT"))]
Cblt,
#[yaserde(rename = "CCOA")]
#[cfg_attr(feature = "serde", serde(rename = "CCOA"))]
Ccoa,
#[yaserde(rename = "COND")]
#[cfg_attr(feature = "serde", serde(rename = "COND"))]
Cond,
#[yaserde(rename = "CSHP")]
#[cfg_attr(feature = "serde", serde(rename = "CSHP"))]
Cshp,
#[yaserde(rename = "COPR")]
#[cfg_attr(feature = "serde", serde(rename = "COPR"))]
Copr,
#[yaserde(rename = "DSEL")]
#[cfg_attr(feature = "serde", serde(rename = "DSEL"))]
Dsel,
#[yaserde(rename = "DBCR")]
#[cfg_attr(feature = "serde", serde(rename = "DBCR"))]
Dbcr,
#[yaserde(rename = "DUBA")]
#[cfg_attr(feature = "serde", serde(rename = "DUBA"))]
Duba,
#[yaserde(rename = "ERUE")]
#[cfg_attr(feature = "serde", serde(rename = "ERUE"))]
Erue,
#[yaserde(rename = "ESPO")]
#[cfg_attr(feature = "serde", serde(rename = "ESPO"))]
Espo,
#[yaserde(rename = "ETHA")]
#[cfg_attr(feature = "serde", serde(rename = "ETHA"))]
Etha,
#[yaserde(rename = "EUAE")]
#[cfg_attr(feature = "serde", serde(rename = "EUAE"))]
Euae,
#[yaserde(rename = "EUAA")]
#[cfg_attr(feature = "serde", serde(rename = "EUAA"))]
Euaa,
#[yaserde(rename = "FWHT")]
#[cfg_attr(feature = "serde", serde(rename = "FWHT"))]
Fwht,
#[yaserde(rename = "FITR")]
#[cfg_attr(feature = "serde", serde(rename = "FITR"))]
Fitr,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PLDM")]
#[cfg_attr(feature = "serde", serde(rename = "PLDM"))]
Pldm,
#[yaserde(rename = "PKLD")]
#[cfg_attr(feature = "serde", serde(rename = "PKLD"))]
Pkld,
#[yaserde(rename = "PTNM")]
#[cfg_attr(feature = "serde", serde(rename = "PTNM"))]
Ptnm,
#[yaserde(rename = "POTA")]
#[cfg_attr(feature = "serde", serde(rename = "POTA"))]
Pota,
#[yaserde(rename = "RPSD")]
#[cfg_attr(feature = "serde", serde(rename = "RPSD"))]
Rpsd,
#[yaserde(rename = "BRWN")]
#[cfg_attr(feature = "serde", serde(rename = "BRWN"))]
Brwn,
#[yaserde(rename = "RICE")]
#[cfg_attr(feature = "serde", serde(rename = "RICE"))]
Rice,
#[yaserde(rename = "ROBU")]
#[cfg_attr(feature = "serde", serde(rename = "ROBU"))]
Robu,
#[yaserde(rename = "SLVR")]
#[cfg_attr(feature = "serde", serde(rename = "SLVR"))]
Slvr,
#[yaserde(rename = "SOYB")]
#[cfg_attr(feature = "serde", serde(rename = "SOYB"))]
Soyb,
#[yaserde(rename = "STEL")]
#[cfg_attr(feature = "serde", serde(rename = "STEL"))]
Stel,
#[yaserde(rename = "TNKR")]
#[cfg_attr(feature = "serde", serde(rename = "TNKR"))]
Tnkr,
#[yaserde(rename = "TAPI")]
#[cfg_attr(feature = "serde", serde(rename = "TAPI"))]
Tapi,
#[yaserde(rename = "TINN")]
#[cfg_attr(feature = "serde", serde(rename = "TINN"))]
Tinn,
#[yaserde(rename = "TTFG")]
#[cfg_attr(feature = "serde", serde(rename = "TTFG"))]
Ttfg,
#[yaserde(rename = "URAL")]
#[cfg_attr(feature = "serde", serde(rename = "URAL"))]
Ural,
#[yaserde(rename = "WHSG")]
#[cfg_attr(feature = "serde", serde(rename = "WHSG"))]
Whsg,
#[yaserde(rename = "WTIO")]
#[cfg_attr(feature = "serde", serde(rename = "WTIO"))]
Wtio,
#[yaserde(rename = "ZINC")]
#[cfg_attr(feature = "serde", serde(rename = "ZINC"))]
Zinc,
__Unknown__(String),
}
impl Default for AssetClassDetailedSubProductType16Code {
fn default() -> AssetClassDetailedSubProductType16Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AssetClassDetailedSubProductType16Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct AssetClassDetailedSubProductType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<AssetClassDetailedSubProductType16Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for AssetClassDetailedSubProductType1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct AssetHolding1 {
#[yaserde(rename = "PstHrcutVal")]
#[cfg_attr(feature = "serde", serde(rename = "PstHrcutVal"))]
pub pst_hrcut_val: ActiveCurrencyAnd24Amount,
#[yaserde(rename = "AsstTp")]
#[cfg_attr(feature = "serde", serde(rename = "AsstTp"))]
pub asst_tp: AssetHolding1Choice,
#[yaserde(rename = "CollRqrmnt")]
#[cfg_attr(feature = "serde", serde(rename = "CollRqrmnt"))]
pub coll_rqrmnt: CollateralAccountType3Code,
}
impl Validate for AssetHolding1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct AssetHolding1Choice {
#[yaserde(rename = "Gold")]
#[cfg_attr(feature = "serde", serde(rename = "Gold"))]
pub gold: Option<ActiveCurrencyAndAmount>,
#[yaserde(rename = "Trpty")]
#[cfg_attr(feature = "serde", serde(rename = "Trpty"))]
pub trpty: Option<ActiveCurrencyAndAmount>,
#[yaserde(rename = "Csh")]
#[cfg_attr(feature = "serde", serde(rename = "Csh"))]
pub csh: Option<ActiveCurrencyAndAmount>,
#[yaserde(rename = "Scty")]
#[cfg_attr(feature = "serde", serde(rename = "Scty"))]
pub scty: Option<SecurityIdentificationAndAmount1>,
#[yaserde(rename = "Grnt")]
#[cfg_attr(feature = "serde", serde(rename = "Grnt"))]
pub grnt: Option<Guarantee1>,
#[yaserde(rename = "Cmmdty")]
#[cfg_attr(feature = "serde", serde(rename = "Cmmdty"))]
pub cmmdty: Option<Commodity2>,
}
impl Validate for AssetHolding1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct CcpcollateralReportV01 {
#[yaserde(rename = "CollAcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "CollAcctOwnr"))]
pub coll_acct_ownr: Vec<CollateralAccount4>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for CcpcollateralReportV01 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct CollateralAccount4 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: GenericIdentification165,
#[yaserde(rename = "AsstHldg")]
#[cfg_attr(feature = "serde", serde(rename = "AsstHldg"))]
pub asst_hldg: Vec<AssetHolding1>,
}
impl Validate for CollateralAccount4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub enum CollateralAccountType3Code {
#[yaserde(rename = "MGIN")]
#[cfg_attr(feature = "serde", serde(rename = "MGIN"))]
Mgin,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
__Unknown__(String),
}
impl Default for CollateralAccountType3Code {
fn default() -> CollateralAccountType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralAccountType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct Commodity2 {
#[yaserde(rename = "MktVal")]
#[cfg_attr(feature = "serde", serde(rename = "MktVal"))]
pub mkt_val: ActiveCurrencyAnd24Amount,
#[yaserde(rename = "CmmdtyTp")]
#[cfg_attr(feature = "serde", serde(rename = "CmmdtyTp"))]
pub cmmdty_tp: AssetClassDetailedSubProductType1Choice,
}
impl Validate for Commodity2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct Document {
#[yaserde(rename = "CCPCollRpt")]
#[cfg_attr(feature = "serde", serde(rename = "CCPCollRpt"))]
pub ccp_coll_rpt: CcpcollateralReportV01,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct GenericIdentification165 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max256Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: SchemeIdentificationType1Code,
}
impl Validate for GenericIdentification165 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct GenericIdentification168 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max256Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification168 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct GenericIdentification36 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification36 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct Guarantee1 {
#[yaserde(rename = "Prvdr")]
#[cfg_attr(feature = "serde", serde(rename = "Prvdr"))]
pub prvdr: PartyIdentification118Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveCurrencyAndAmount,
}
impl Validate for Guarantee1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isinoct2015Identifier (pub String);
crate::simple_type!(Isinoct2015Identifier);
impl Validate for Isinoct2015Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max256Text (pub String);
crate::simple_type!(Max256Text);
impl Validate for Max256Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 256 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 256 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct PartyIdentification118Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification168>,
}
impl Validate for PartyIdentification118Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub enum ProductType7Code {
#[yaserde(rename = "SVGN")]
#[cfg_attr(feature = "serde", serde(rename = "SVGN"))]
Svgn,
#[yaserde(rename = "EQUI")]
#[cfg_attr(feature = "serde", serde(rename = "EQUI"))]
Equi,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for ProductType7Code {
fn default() -> ProductType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductType7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub enum SchemeIdentificationType1Code {
#[yaserde(rename = "MARG")]
#[cfg_attr(feature = "serde", serde(rename = "MARG"))]
Marg,
#[yaserde(rename = "COLL")]
#[cfg_attr(feature = "serde", serde(rename = "COLL"))]
Coll,
#[yaserde(rename = "POSI")]
#[cfg_attr(feature = "serde", serde(rename = "POSI"))]
Posi,
#[yaserde(rename = "CLIM")]
#[cfg_attr(feature = "serde", serde(rename = "CLIM"))]
Clim,
__Unknown__(String),
}
impl Default for SchemeIdentificationType1Code {
fn default() -> SchemeIdentificationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SchemeIdentificationType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct SecurityIdentificationAndAmount1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Isinoct2015Identifier,
#[yaserde(rename = "MktVal")]
#[cfg_attr(feature = "serde", serde(rename = "MktVal"))]
pub mkt_val: ActiveCurrencyAnd24Amount,
#[yaserde(rename = "FinInstrmTp")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmTp"))]
pub fin_instrm_tp: ProductType7Code,
}
impl Validate for SecurityIdentificationAndAmount1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.067.001.01")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::auth;
const FUNCTIONALITY: &'static str = "067";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "auth.067.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.067.001.01";
}