use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{RequiredString};
use crate::domain::entity::EmvQrConfig;
pub type EmvQrConfigValidator = EntityValidator<EmvQrConfig>;
pub fn emv_qr_config_validator() -> EmvQrConfigValidator {
EntityValidator::new()
.rule(RequiredString::new("merchant_name", |e: &EmvQrConfig| &e.merchant_name))
.rule(RequiredString::new("merchant_city", |e: &EmvQrConfig| &e.merchant_city))
.rule(RequiredString::new("country_code", |e: &EmvQrConfig| &e.country_code))
.rule(RequiredString::new("mcc", |e: &EmvQrConfig| &e.mcc))
.rule(RequiredString::new("gui", |e: &EmvQrConfig| &e.gui))
.rule(RequiredString::new("merchant_identifier", |e: &EmvQrConfig| &e.merchant_identifier))
.rule(RequiredString::new("currency", |e: &EmvQrConfig| &e.currency))
.rule(RequiredString::new("initiation_method", |e: &EmvQrConfig| &e.initiation_method))
}