use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank, RequiredString};
use crate::domain::entity::IntegrationAccount;
pub type IntegrationAccountValidator = EntityValidator<IntegrationAccount>;
pub fn integration_account_validator() -> IntegrationAccountValidator {
EntityValidator::new()
.rule(RequiredString::new("account_ref", |e: &IntegrationAccount| &e.account_ref))
.rule(RequiredString::new("scopes", |e: &IntegrationAccount| &e.scopes))
.rule(OptionalNotBlank::new("pkce_verifier", |e: &IntegrationAccount| e.pkce_verifier.as_deref()))
}