//! Domain policy for MailBlacklist aggregate
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! `DomainPolicy` enforces pure business invariants (state-based rules).
//! Identity-based rules live in `backbone_auth::ResourcePolicy`.
use async_trait::async_trait;
use backbone_core::{DomainPolicy, PolicyDecision};
use crate::domain::entity::MailBlacklist;
/// Domain policy for MailBlacklist — enforces business invariants.
pub struct MailBlacklistDomainPolicy;
#[async_trait]
impl DomainPolicy<MailBlacklist> for MailBlacklistDomainPolicy {
// <<< CUSTOM
// Add entity-specific invariant checks here.
// Example:
// async fn can_delete(&self, entity: &MailBlacklist) -> PolicyDecision {
// if entity.is_locked {
// Err("locked mail_blacklist cannot be deleted".into())
// } else { Ok(true) }
// }
// END CUSTOM
}