1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Specifications for FileLock aggregate
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Entity-specific predicate structs implementing `backbone_core::Specification`.
//! Combinators (AND/OR/NOT) are available via the trait methods — no duplication.
use Specification;
use crateFileLock;
pub use ;
// ─── Entity-specific predicates ──────────────────────────────────────────────
//
// Add entity-specific predicate structs below.
// Each predicate implements `Specification<FileLock>` and can be combined
// using `.and()`, `.or()`, `.not()` from the trait.
//
// Example:
// let spec = ActiveSpec.and(VerifiedSpec);
// if spec.is_satisfied_by(&entity) { ... }
// <<< CUSTOM
// Add predicate structs here. Example:
//
// pub struct ActiveFileLockSpec;
// impl Specification<FileLock> for ActiveFileLockSpec {
// fn is_satisfied_by(&self, e: &FileLock) -> bool {
// // e.is_active
// todo!()
// }
// }
// <<< CUSTOM SPECIFICATIONS START >>>
// Add your custom specifications here
// pub struct FileLockHasValidEmailSpec;
// impl FileLockSpecification for FileLockHasValidEmailSpec {
// fn is_satisfied_by(&self, entity: &FileLock) -> bool {
// entity.email.contains('@')
// END CUSTOM
// END CUSTOM