dpp_domain/operator/mod.rs
1//! The economic operator answerable for a product, and the law that makes it so.
2//!
3//! A value object with no aggregate of its own, which is why it sits here rather
4//! than inside `transfer`: the transfer chain records who has been responsible,
5//! and the passport states who is responsible, so neither owns the type. Both
6//! import it.
7//!
8//! ## Module layout
9//!
10//! - [`responsible`] — [`ResponsibleOperator`] and its [`OperatorRole`].
11//! - [`basis`] — [`ResponsibilityBasis`], which law makes an operator answerable.
12//! - [`snapshot`] — [`ResponsibleOperatorSnapshot`], the pair as the passport carries it.
13
14pub mod basis;
15pub mod responsible;
16pub mod snapshot;
17
18#[cfg(test)]
19mod basis_tests;
20#[cfg(test)]
21mod responsible_tests;
22#[cfg(test)]
23mod snapshot_tests;
24
25pub use basis::ResponsibilityBasis;
26pub use responsible::{OperatorRole, ResponsibleOperator};
27pub use snapshot::ResponsibleOperatorSnapshot;