Skip to main content

backbone_bucket/domain/services/
upload_session_domain_policy.rs

1//! Domain policy for UploadSession aggregate
2//!
3//! Generated by metaphor-schema. Do not edit manually.
4//!
5//! `DomainPolicy` enforces pure business invariants (state-based rules).
6//! Identity-based rules live in `backbone_auth::ResourcePolicy`.
7
8use async_trait::async_trait;
9use backbone_core::{DomainPolicy, PolicyDecision};
10use crate::domain::entity::UploadSession;
11
12/// Domain policy for UploadSession — enforces business invariants.
13pub struct UploadSessionDomainPolicy;
14
15#[async_trait]
16impl DomainPolicy<UploadSession> for UploadSessionDomainPolicy {
17    // Add entity-specific invariant checks here.
18    // Example:
19    // async fn can_delete(&self, entity: &UploadSession) -> PolicyDecision {
20    //     if entity.is_locked {
21    //         Err("locked upload_session cannot be deleted".into())
22    //     } else { Ok(true) }
23    // }
24}