Expand description
dpp-domain — EU Digital Product Passport domain types and port traits.
The dependency root of the DPP workspace: any crate here may depend on it,
and it depends only on dpp-rules (pure regulatory rules). Not every crate
does — dpp-rules, dpp-crypto, dpp-calc, dpp-vocab, dpp-plugin-traits
and dpp-plugin-sdk stand on their own, which is why a Wasm product-group
plugin never links this crate.
No I/O, no async, no HTTP, no database drivers — pure domain logic only.
Re-exports§
pub use catalog::CatalogError;pub use catalog::Granularity;pub use catalog::ProductGroupCatalog;pub use catalog::ProductGroupDescriptor;pub use catalog::RegulatoryStatus;pub use catalog::RetentionBasis;pub use instrument::CustomerPersonalData;pub use instrument::DateBasis;pub use instrument::Instrument;pub use instrument::InstrumentBinding;pub use instrument::InstrumentCatalog;pub use instrument::InstrumentKind;pub use instrument::InstrumentRef;pub use instrument::InstrumentStatus;pub use instrument::ObligationDate;pub use instrument::PassportObligation;pub use instrument::PersonalDataStorage;pub use instrument::RecordedBasis;pub use crate::credential::PassportCredential;pub use crate::credential::PassportCredentialSubject;pub use crate::credential::SignedCredential;pub use crate::disclosure::Audience;pub use crate::disclosure::Disclosure;pub use crate::disclosure::PASSPORT_FIELD_DISCLOSURE;pub use crate::identifier::CnCategory;pub use crate::identifier::CnCategoryError;pub use crate::identifier::CommodityCode;pub use crate::identifier::CommodityCodeError;pub use crate::identifier::Gln;pub use crate::identifier::GlnError;pub use crate::identifier::Gtin;pub use crate::identifier::GtinError;pub use crate::identifier::ProductIdentifier;pub use crate::identifier::ProductIdentifierError;pub use crate::identifier::gs1_check_digit;pub use crate::lint::LintFinding;pub use crate::lint::LintResult;pub use crate::lint::LintSeverity;pub use crate::lint::lint_product_group_data;pub use crate::operator::OperatorRole;pub use crate::operator::ResponsibilityBasis;pub use crate::operator::ResponsibleOperator;pub use crate::operator::ResponsibleOperatorSnapshot;pub use crate::passport::CarrierQualifier;pub use crate::passport::FacilitySnapshot;pub use crate::passport::ManufacturerInfo;pub use crate::passport::MaterialEntry;pub use crate::passport::PASSPORT_PROOF_FIELDS;pub use crate::passport::PASSPORT_WIRE_KEYS;pub use crate::passport::Passport;pub use crate::passport::PassportId;pub use crate::passport::PassportView;pub use crate::passport::RETENTION_MUTABLE_FIELDS;pub use crate::personal_data::HeldOutside;pub use crate::personal_data::LawfulBasis;pub use crate::personal_data::PersonalDataRecordId;pub use crate::personal_data::PersonalDataStatement;pub use crate::product::ProductIdentity;pub use crate::product_group::AluminiumData;pub use crate::product_group::BatteryChemistry;pub use crate::product_group::BatteryData;pub use crate::product_group::BatteryStatus;pub use crate::product_group::BatteryType;pub use crate::product_group::CarbonFootprint;pub use crate::product_group::CarbonFootprintClass;pub use crate::product_group::CarbonFootprintClassError;pub use crate::product_group::ConstructionData;pub use crate::product_group::DetergentData;pub use crate::product_group::DeviceType;pub use crate::product_group::DiscardReason;pub use crate::product_group::DiscardedProductLine;pub use crate::product_group::DiscardedQuantity;pub use crate::product_group::DisclosingEntity;pub use crate::product_group::DisclosureScope;pub use crate::product_group::DynamicPerformance;pub use crate::product_group::ElectronicsData;pub use crate::product_group::EnergyEfficiencyClass;pub use crate::product_group::EnvironmentalReading;pub use crate::product_group::ExpectedLifetime;pub use crate::product_group::FibreEntry;pub use crate::product_group::FinancialYear;pub use crate::product_group::FurnitureData;pub use crate::product_group::HarmfulEvents;pub use crate::product_group::HazardSymbol;pub use crate::product_group::HazardousSubstance;pub use crate::product_group::LegalEntityIdentifier;pub use crate::product_group::LifecycleStage;pub use crate::product_group::MaterialComposition;pub use crate::product_group::MattressData;pub use crate::product_group::ProductGroup;pub use crate::product_group::ProductGroupData;pub use crate::product_group::ProductionRoute;pub use crate::product_group::RepairCriterion;pub use crate::product_group::RepairabilityScore;pub use crate::product_group::StateOfChargeReading;pub use crate::product_group::StateOfHealth;pub use crate::product_group::SteelData;pub use crate::product_group::SurfactantEntry;pub use crate::product_group::SvhcSubstance;pub use crate::product_group::SystemBoundary;pub use crate::product_group::TemperatureRange;pub use crate::product_group::TextileData;pub use crate::product_group::ToyData;pub use crate::product_group::TyreData;pub use crate::product_group::UnmodelledPayload;pub use crate::product_group::UnsoldGoodsReport;pub use crate::product_group::UsageHistory;pub use crate::product_group::WasteTreatmentSplit;pub use crate::status::PassportStatus;pub use crate::transfer::TransferChain;pub use crate::transfer::TransferError;pub use crate::transfer::TransferReason;pub use crate::transfer::TransferRecord;pub use crate::transfer::TransferStatus;pub use error::DppError;pub use field_error::FieldError;pub use field_error::ValidationErrors;pub use validation::BatchValidationItem;pub use validation::ProductGroupValidator;pub use validation::ProductGroupValidatorRegistry;pub use validation::batch_errors;pub use validation::battery_recycled_chemistry_conflicts;pub use validation::check_personal_data;pub use validation::personal_data_marks;pub use validation::unsold_goods_annex_vii_heading;pub use validation::unsold_goods_cn_depth_is_correct;pub use validation::validate_battery_operating_temp;pub use validation::validate_fibre_composition;pub use validation::validate_passport;pub use validation::validate_product_group_data;pub use validation::validate_product_group_data_batch;pub use validation::validate_product_group_data_with_registry;pub use validation::validate_raw_product_group_data;pub use validation::validate_surfactants;pub use validation::validate_svhc_substances;pub use compliance::ComplianceError;pub use compliance::ComplianceErrorKind;pub use compliance::ComplianceFinding;pub use compliance::ComplianceResult;pub use compliance::ComplianceStatus;pub use compliance::gate_determination;pub use ports::archive::ArchiveReceipt;pub use ports::archive::ArchivedVersion;pub use ports::archive::ArchivedVersionPort;pub use ports::backup::BackupCopyPort;pub use ports::backup::BackupReceipt;pub use ports::backup::BackupStatus;pub use ports::backup::BackupVerification;pub use ports::backup::GhostBackup;pub use ports::compliance::ComplianceRegistry;pub use ports::compliance::ComplianceStrategy;pub use ports::passport_repo::PROTECTED_PATCH_FIELDS;pub use ports::personal_data::ErasureReceipt;pub use ports::personal_data::HeldRecord;pub use ports::personal_data::PersonalDataPort;pub use ports::personal_data::PersonalDataRecord;pub use ports::registry_sync::GhostRegistrySync;pub use ports::registry_sync::RegistrationRequest;pub use ports::registry_sync::RegistryRecord;pub use ports::registry_sync::RegistryStatus;pub use ports::registry_sync::RegistrySyncPort;pub use ports::registry_sync::SubmissionAcknowledgement;pub use ports::registry_sync::SubmissionReport;pub use passthrough::PassthroughBatteryStrategy;pub use passthrough::PassthroughRegistry;pub use passthrough::PassthroughTextileStrategy;
Modules§
- access
- ProductGroup access policy — the per-field disclosure contract and the filter that applies it.
- catalog
- The open, data-driven catalog of EU product groups.
- compliance
- Compliance determination value objects — the result of running a product group’s rules against a passport, and the errors that stop one being produced.
- credential
- W3C Verifiable Credential 2.0 types binding a passport to its signed payload.
- disclosure
- The disclosure lattice — who may see which class of field.
- eol
- End-of-life declarations for a Digital Product Passport.
- error
- The crate-wide error surface.
- facility
FacilitySnapshot— where a product was made, as recorded at issuance.- field_
error - Per-field validation detail —
FieldErrorand itsValidationErrorscollection. - graph
- The bill-of-materials graph a passport sits in.
- identifier
- Product and party identifiers — the vocabulary tier.
- instrument
- The legal instruments the passport regime is built on — the acts themselves, how they bind a product group, and what obligation they create.
- lint
- Passport plausibility lint dispatch — maps
ProductGroupDataonto thedpp-rules::lintpack and carries the owned, serialisable wire types the engine persists oncrate::passport::Passport::lint_result. - manufacturer
ManufacturerInfo— the economic operator that placed the product on the market.- material
MaterialEntry— one declared constituent material of a product.- operator
- The economic operator answerable for a product, and the law that makes it so.
- passport
- The
Passportaggregate root and its unique identifier type. - passthrough
- Open-core compliance boundary: the Apache-2.0 passthrough registry.
- personal_
data - Personal data and the passport: what the operator states about it, and why the data itself is never part of the passport.
- ports
- Port traits defining the core/platform boundary — one port per infrastructure concern.
- product
ProductIdentity— what identifies a product, independent of its passport.- product_
group - Typed, product group-specific DPP data for the EU ESPR framework.
- schemas
- Versioned schema registry for EU ESPR product group schemas.
- seal
- eIDAS qualified electronic seal value objects — what a seal is once produced, and what an adapter reports about its own capabilities.
- status
PassportStatus— the passport lifecycle state machine.- transfer
- Transfer of Responsibility model for EU ESPR DPP.
- trusted_
list - EU Trusted List vocabulary — who is qualified, for what, and since when.
- validation
- JSON Schema + cross-field validation for product group-specific DPP data.
Constants§
- VERSION
- The version of
dpp-corethis build was compiled against.