Skip to main content

Crate dpp_domain

Crate dpp_domain 

Source
Expand description

dpp-domain — EU Digital Product Passport domain types and port traits.

This crate is the dependency root of the DPP workspace. Every other crate depends on this one. It depends only on dpp-rules (pure regulatory rules).

No I/O, no async, no HTTP, no database drivers — pure domain logic only.

Re-exports§

pub use catalog::CatalogError;
pub use catalog::RegulatoryStatus;
pub use catalog::SectorCatalog;
pub use catalog::SectorDescriptor;
pub use domain::error::DppError;
pub use domain::gtin::Gln;
pub use domain::gtin::GlnError;
pub use domain::gtin::Gtin;
pub use domain::gtin::GtinError;
pub use domain::gtin::gs1_check_digit;
pub use domain::identity::Audience;
pub use domain::identity::Disclosure;
pub use domain::identity::PASSPORT_FIELD_DISCLOSURE;
pub use domain::identity::PassportCredential;
pub use domain::identity::PassportCredentialSubject;
pub use domain::identity::SignedCredential;
pub use domain::lint::LintFinding;
pub use domain::lint::LintResult;
pub use domain::lint::LintSeverity;
pub use domain::lint::lint_sector_data;
pub use domain::passport::FacilitySnapshot;
pub use domain::passport::ManufacturerInfo;
pub use domain::passport::MaterialEntry;
pub use domain::passport::Passport;
pub use domain::passport::PassportId;
pub use domain::passport::PassportView;
pub use domain::passport::ProductCategory;
pub use domain::product_identity::ProductIdentity;
pub use domain::sector::AluminiumData;
pub use domain::sector::BatteryChemistry;
pub use domain::sector::BatteryData;
pub use domain::sector::BatteryType;
pub use domain::sector::CarbonFootprint;
pub use domain::sector::CarbonFootprintClass;
pub use domain::sector::CarbonFootprintClassError;
pub use domain::sector::ConstructionData;
pub use domain::sector::DetergentData;
pub use domain::sector::ElectronicsData;
pub use domain::sector::EnergyEfficiencyClass;
pub use domain::sector::ExpectedLifetime;
pub use domain::sector::FibreEntry;
pub use domain::sector::FurnitureData;
pub use domain::sector::HarmfulEvents;
pub use domain::sector::LifecycleStage;
pub use domain::sector::MaterialComposition;
pub use domain::sector::ProductionRoute;
pub use domain::sector::RepairCriterion;
pub use domain::sector::RepairabilityScore;
pub use domain::sector::Sector;
pub use domain::sector::SectorData;
pub use domain::sector::StateOfHealth;
pub use domain::sector::SteelData;
pub use domain::sector::SurfactantEntry;
pub use domain::sector::SvhcSubstance;
pub use domain::sector::SystemBoundary;
pub use domain::sector::TextileData;
pub use domain::sector::ToyData;
pub use domain::sector::TyreData;
pub use domain::sector::UnsoldGoodsDestination;
pub use domain::sector::UnsoldGoodsReason;
pub use domain::sector::UnsoldGoodsReport;
pub use domain::sector::redact_sector_data;
pub use domain::sector::validate_fibre_composition;
pub use domain::sector::validate_surfactants;
pub use domain::sector::validate_svhc_substances;
pub use domain::status::PassportStatus;
pub use domain::transfer::OperatorRole;
pub use domain::transfer::ResponsibleOperator;
pub use domain::transfer::TransferChain;
pub use domain::transfer::TransferError;
pub use domain::transfer::TransferReason;
pub use domain::transfer::TransferRecord;
pub use domain::transfer::TransferStatus;
pub use domain::field_error::FieldError;
pub use domain::field_error::ValidationErrors;
pub use domain::validation::BatchValidationItem;
pub use domain::validation::SectorValidator;
pub use domain::validation::SectorValidatorRegistry;
pub use domain::validation::batch_errors;
pub use domain::validation::validate_raw_sector_data;
pub use domain::validation::validate_sector_data;
pub use domain::validation::validate_sector_data_batch;
pub use domain::validation::validate_sector_data_with_registry;
pub use ports::archive::ArchivePort;
pub use ports::archive::ArchiveReceipt;
pub use ports::archive::ArchiveStatus;
pub use ports::archive::ArchiveVerification;
pub use ports::archive::GhostArchive;
pub use ports::compliance::ComplianceError;
pub use ports::compliance::ComplianceErrorKind;
pub use ports::compliance::ComplianceFinding;
pub use ports::compliance::ComplianceRegistry;
pub use ports::compliance::ComplianceResult;
pub use ports::compliance::ComplianceStatus;
pub use ports::compliance::ComplianceStrategy;
pub use ports::compliance::gate_determination;
pub use ports::registry_sync::GhostRegistrySync;
pub use ports::registry_sync::RegistrationRequest;
pub use ports::registry_sync::RegistryIdentifiers;
pub use ports::registry_sync::RegistryRecord;
pub use ports::registry_sync::RegistryStatus;
pub use ports::registry_sync::RegistrySyncPort;
pub use compliance::passthrough_registry::PassthroughRegistry;

Modules§

catalog
Open, data-driven catalog of EU ESPR sectors.
compliance
Open-core compliance boundary: the Apache-2.0 passthrough registry.
domain
Core DPP domain types: passport, GTIN, identity, status, sector, validation, and transfer of responsibility.
ports
Port traits defining the core/platform boundary — one port per infrastructure concern.
schemas
Versioned schema registry for EU ESPR sector schemas.