Catalog: products, pricing, baskets, orders, and fulfillment
| Tier | domain |
| Role | unclassified (baselined) |
| Path | crates/domain/catalog |
| Edition | 2021 |
| Targets | domain_catalog |
| Public items | 102 across 1 module |
| Tests | 53 |
What it is for
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
This crate provides:
CatalogItem- Products and services in the catalogPrice- Pricing with currency supportBasket- Shopping cart functionalityBasketItem- Items in a basketOrder- Confirmed ordersOrderStatus- Order lifecycle states
Capabilities
Basket:Basket
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct Basket |
Basket:add
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn add_item(& mut self, item : & CatalogItem, quantity : i32) -> Result <()> |
Basket:clear
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn clear(& mut self) |
Basket:created
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn created_at(& self) -> DateTime <Utc> |
Basket:id
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn id(& self) -> Uuid |
Basket:is
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn is_empty(& self) -> bool |
Basket:item
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn item_count(& self) -> usize |
Basket:new
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn new(owner_id : Uuid) -> Self |
Basket:remove
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn remove_item(& mut self, catalog_item_id : Uuid) |
Basket:subtotal
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn subtotal(& self) -> Money |
Basket:total
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn total_quantity(& self) -> i32 |
Basket:update
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn update_quantity(& mut self, catalog_item_id : Uuid, quantity : i32) -> Result <()> |
Basket:updated
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn updated_at(& self) -> DateTime <Utc> |
Basket:with
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Basket :: fn with_currency(mut self, currency : impl Into <String>) -> Self |
BasketItem
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct BasketItem |
BasketItem :: fn from_catalog_item(item : & CatalogItem, quantity : i32) -> Self |
BasketItem :: fn line_total(& self) -> Money |
BasketItem :: fn set_quantity(& mut self, quantity : i32) |
BasketItem :: fn id(& self) -> Uuid |
BundleItem
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct BundleItem |
BundleItem :: fn new(parent_item_id : Uuid, child_item_id : Uuid, quantity : Decimal) -> Result <Self> |
BundleItem :: fn with_sort_order(mut self, sort_order : i32) -> Self |
BundleItem :: fn id(& self) -> Uuid |
BundleItem :: fn created_at(& self) -> DateTime <Utc> |
BundleItem :: fn updated_at(& self) -> DateTime <Utc> |
BundleItem :: fn deleted_at(& self) -> Option <DateTime <Utc>> |
CatalogError
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum CatalogError |
CatalogItem:CatalogItem
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct CatalogItem |
CatalogItem:add
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn add_stock(& mut self, quantity : i32) |
CatalogItem:created
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn created_at(& self) -> DateTime <Utc> |
CatalogItem:deleted
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn deleted_at(& self) -> Option <DateTime <Utc>> |
CatalogItem:display
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn display_title(& self) -> & str |
CatalogItem :: fn display_description(& self) -> & str |
CatalogItem:has
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn has_stock(& self, quantity : i32) -> bool |
CatalogItem:id
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn id(& self) -> Uuid |
CatalogItem:is
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn is_available(& self) -> bool |
CatalogItem :: fn is_in_stock(& self) -> bool |
CatalogItem:new
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn new(sku : impl Into <String>, name : impl Into <String>, price : Money) -> Self |
CatalogItem:reduce
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn reduce_stock(& mut self, quantity : i32) -> Result <()> |
CatalogItem:updated
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn updated_at(& self) -> DateTime <Utc> |
CatalogItem:with
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
CatalogItem :: fn with_description(mut self, description : impl Into <String>) -> Self |
CatalogItem :: fn with_type(mut self, item_type : ItemType) -> Self |
CatalogItem :: fn with_stock(mut self, quantity : i32) -> Self |
CatalogItem :: fn with_status(mut self, status : CatalogItemStatus) -> Self |
CatalogItem :: fn with_visibility(mut self, visibility : Visibility) -> Self |
CatalogItem :: fn with_tenant(mut self, tenant_id : Uuid) -> Self |
CatalogItem :: fn with_slug(mut self, slug : impl Into <String>) -> Self |
CatalogItem :: fn with_public_title(mut self, title : impl Into <String>) -> Self |
CatalogItem :: fn with_public_description(mut self, description : impl Into <String>) -> Self |
CatalogItem :: fn with_condition(mut self, condition : impl Into <String>) -> Self |
CatalogItem :: fn with_category_tag(mut self, tag_id : Uuid) -> Self |
CatalogItem :: fn with_isbn13(mut self, isbn : impl Into <String>) -> Self |
CatalogItem :: fn with_isbn10(mut self, isbn : impl Into <String>) -> Self |
CatalogItemStatus
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum CatalogItemStatus |
CatalogItemStatus :: fn is_available(& self) -> bool |
CatalogItemStatus :: fn is_final(& self) -> bool |
CatalogItemStatus :: fn as_str(& self) -> & 'static str |
CatalogItemStatus :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result |
CategoryAttribute
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct CategoryAttribute |
CategoryAttribute :: fn new(tenant_id : Uuid, category_tag_id : Uuid, attribute_key : impl Into <String>, attribute_label : impl Into <String>, value_type : CategoryAttributeValueType,) -> Self |
CategoryAttribute :: fn required(mut self) -> Self |
CategoryAttribute :: fn with_options(mut self, options : serde_json::Value) -> Self |
CategoryAttribute :: fn with_sort_order(mut self, sort_order : i32) -> Self |
CategoryAttribute :: fn id(& self) -> Uuid |
CategoryAttribute :: fn created_at(& self) -> DateTime <Utc> |
CategoryAttribute :: fn updated_at(& self) -> DateTime <Utc> |
CategoryAttribute :: fn deleted_at(& self) -> Option <DateTime <Utc>> |
CategoryAttributeValueType
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum CategoryAttributeValueType |
CategoryAttributeValueType :: fn as_str(& self) -> & 'static str |
ItemType
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum ItemType |
ItemType :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result |
Order:Order
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct Order |
Order:cancel
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn cancel(& mut self) -> Result <()> |
Order:confirm
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn confirm(& mut self) -> Result <()> |
Order:created
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn created_at(& self) -> DateTime <Utc> |
Order:deliver
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn deliver(& mut self) |
Order:from
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn from_basket(basket : & Basket, order_number : impl Into <String>, customer_id : PartyId,) -> Result <Self> |
Order:id
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn id(& self) -> Uuid |
Order:item
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn item_count(& self) -> usize |
Order:set
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn set_tax(& mut self, tax : Money) |
Order :: fn set_shipping(& mut self, shipping : Money) |
Order:ship
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn ship(& mut self) |
Order:start
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn start_processing(& mut self) |
Order:updated
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
Order :: fn updated_at(& self) -> DateTime <Utc> |
OrderItem
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub struct OrderItem |
OrderItem :: fn from_basket_item(item : & BasketItem) -> Self |
OrderItem :: fn line_total(& self) -> Money |
OrderItem :: fn id(& self) -> Uuid |
OrderStatus
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum OrderStatus |
OrderStatus :: fn is_final(& self) -> bool |
OrderStatus :: fn can_cancel(& self) -> bool |
OrderStatus :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result |
Result
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub type Result<T>: std::result::Result <T, CatalogError> |
Visibility
Catalog library crates: products, pricing, baskets, orders, and fulfillment.
| Item |
|---|
pub enum Visibility |
Visibility :: fn as_str(& self) -> & 'static str |
Visibility :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result |
asset_roles (other)
_No module-level documentation is present in the source._
| Item |
|---|
pub const HERO: & str |
pub const GALLERY: & str |
pub const THUMBNAIL: & str |
pub const BACK: & str |
pub const RAW_SCAN: & str |
pub const LABEL_CROP: & str |
How to use it
No examples/ target and no doctest in this crate's rustdoc. The tests listed under Verification are the closest executable usage.
Module structure
domain_catalog
asset_roles
Public surface
`crate root`
| Item | What it is |
|---|---|
pub enum CatalogError | Errors that can occur in catalog operations. |
pub type Result<T>: std::result::Result <T, CatalogError> | Result type for catalog operations. |
pub enum ItemType | Type of catalog item. |
ItemType :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result | — |
pub enum OrderStatus | Status of an order. |
OrderStatus :: fn is_final(& self) -> bool | Returns true if the order is in a final state. |
OrderStatus :: fn can_cancel(& self) -> bool | Returns true if the order can be cancelled. |
OrderStatus :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result | — |
pub enum CatalogItemStatus | Catalog item lifecycle status (Sprint 0.5 — Gate 1.5 Q1) |
CatalogItemStatus :: fn is_available(& self) -> bool | Returns true if the item is in a state that allows being listed or purchased |
CatalogItemStatus :: fn is_final(& self) -> bool | Returns true if the status is a final/terminal state. |
CatalogItemStatus :: fn as_str(& self) -> & 'static str | Returns the canonical string form (matches the DB CHECK constraint). |
CatalogItemStatus :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result | — |
pub enum Visibility | Visibility tier controlling who can see a catalog item (Sprint 0.5 — Gate 1.5) |
Visibility :: fn as_str(& self) -> & 'static str | Canonical string form (matches the DB CHECK constraint). |
Visibility :: fn fmt(& self, f : & mut std::fmt::Formatter <'_>) -> std::fmt::Result | — |
pub struct CatalogItem | A product or service in the catalog |
CatalogItem :: fn new(sku : impl Into <String>, name : impl Into <String>, price : Money) -> Self | Creates a new catalog item with default status (Draft) and visibility (Authenticated) |
CatalogItem :: fn with_description(mut self, description : impl Into <String>) -> Self | Sets the description. |
CatalogItem :: fn with_type(mut self, item_type : ItemType) -> Self | Sets the item type. |
CatalogItem :: fn with_stock(mut self, quantity : i32) -> Self | Sets the stock quantity. |
CatalogItem :: fn with_status(mut self, status : CatalogItemStatus) -> Self | Sets the lifecycle status (Sprint 0.5). |
CatalogItem :: fn with_visibility(mut self, visibility : Visibility) -> Self | Sets the visibility tier (Sprint 0.5). |
CatalogItem :: fn with_tenant(mut self, tenant_id : Uuid) -> Self | Sets the tenant scoping (Sprint 0.5). |
CatalogItem :: fn with_slug(mut self, slug : impl Into <String>) -> Self | Sets the URL slug (Sprint 0.5). |
CatalogItem :: fn with_public_title(mut self, title : impl Into <String>) -> Self | Sets the customer-facing title (Sprint 0.5). |
CatalogItem :: fn with_public_description(mut self, description : impl Into <String>) -> Self | Sets the customer-facing description (Sprint 0.5). |
CatalogItem :: fn with_condition(mut self, condition : impl Into <String>) -> Self | Sets the physical condition string (Sprint 0.5). |
CatalogItem :: fn with_category_tag(mut self, tag_id : Uuid) -> Self | Sets the category tag reference (Sprint 0.5). |
CatalogItem :: fn with_isbn13(mut self, isbn : impl Into <String>) -> Self | Sets ISBN-13 (Sprint 0.5). |
CatalogItem :: fn with_isbn10(mut self, isbn : impl Into <String>) -> Self | Sets ISBN-10 (Sprint 0.5). |
CatalogItem :: fn is_available(& self) -> bool | Returns true if the item is in an available status AND not soft-deleted |
CatalogItem :: fn display_title(& self) -> & str | Returns the customer-facing title, falling back to name when public_title is unset (Sprint 0.5 — Gate 1.5 Q5). |
CatalogItem :: fn display_description(& self) -> & str | Returns the customer-facing description, falling back to description when public_description is unset. |
CatalogItem :: fn is_in_stock(& self) -> bool | Checks if item is in stock. |
CatalogItem :: fn has_stock(& self, quantity : i32) -> bool | Checks if the requested quantity is available. |
CatalogItem :: fn reduce_stock(& mut self, quantity : i32) -> Result <()> | Reduces stock by the given quantity |
CatalogItem :: fn add_stock(& mut self, quantity : i32) | Increases stock by the given quantity. |
CatalogItem :: fn id(& self) -> Uuid | — |
CatalogItem :: fn created_at(& self) -> DateTime <Utc> | — |
CatalogItem :: fn updated_at(& self) -> DateTime <Utc> | — |
CatalogItem :: fn deleted_at(& self) -> Option <DateTime <Utc>> | — |
pub struct BundleItem | A parent-child link composing a bundle, kit, set, lot, or pair from other catalog items (Sprint 0.5 — table bundle_items) |
BundleItem :: fn new(parent_item_id : Uuid, child_item_id : Uuid, quantity : Decimal) -> Result <Self> | Creates a new bundle link from a parent to a child with the given quantity |
BundleItem :: fn with_sort_order(mut self, sort_order : i32) -> Self | Sets the sort order for stable display within the parent. |
BundleItem :: fn id(& self) -> Uuid | — |
BundleItem :: fn created_at(& self) -> DateTime <Utc> | — |
BundleItem :: fn updated_at(& self) -> DateTime <Utc> | — |
BundleItem :: fn deleted_at(& self) -> Option <DateTime <Utc>> | — |
pub enum CategoryAttributeValueType | The data type a CategoryAttribute value carries. |
CategoryAttributeValueType :: fn as_str(& self) -> & 'static str | Canonical string form (matches DB CHECK constraint values). |
pub struct CategoryAttribute | A per-category attribute schema entry (Sprint 0.5 — table category_attributes) |
CategoryAttribute :: fn new(tenant_id : Uuid, category_tag_id : Uuid, attribute_key : impl Into <String>, attribute_label : impl Into <String>, value_type : CategoryAttributeValueType,) -> Self | Creates a new category attribute schema entry |
CategoryAttribute :: fn required(mut self) -> Self | Marks the attribute as required. |
CategoryAttribute :: fn with_options(mut self, options : serde_json::Value) -> Self | Sets the enum options |
CategoryAttribute :: fn with_sort_order(mut self, sort_order : i32) -> Self | Sets the display sort order. |
CategoryAttribute :: fn id(& self) -> Uuid | — |
CategoryAttribute :: fn created_at(& self) -> DateTime <Utc> | — |
CategoryAttribute :: fn updated_at(& self) -> DateTime <Utc> | — |
CategoryAttribute :: fn deleted_at(& self) -> Option <DateTime <Utc>> | — |
pub struct BasketItem | An item in a shopping basket. |
BasketItem :: fn from_catalog_item(item : & CatalogItem, quantity : i32) -> Self | Creates a new basket item from a catalog item. |
BasketItem :: fn line_total(& self) -> Money | Returns the line total (quantity * unit price). |
BasketItem :: fn set_quantity(& mut self, quantity : i32) | Updates the quantity. |
BasketItem :: fn id(& self) -> Uuid | — |
pub struct Basket | A shopping basket (cart). |
Basket :: fn new(owner_id : Uuid) -> Self | Creates a new empty basket. |
Basket :: fn with_currency(mut self, currency : impl Into <String>) -> Self | Sets the currency. |
Basket :: fn add_item(& mut self, item : & CatalogItem, quantity : i32) -> Result <()> | Adds an item to the basket |
Basket :: fn remove_item(& mut self, catalog_item_id : Uuid) | Removes an item from the basket. |
Basket :: fn update_quantity(& mut self, catalog_item_id : Uuid, quantity : i32) -> Result <()> | Updates item quantity |
Basket :: fn clear(& mut self) | Clears all items from the basket. |
Basket :: fn item_count(& self) -> usize | Returns the number of items in the basket. |
Basket :: fn total_quantity(& self) -> i32 | Returns the total quantity of all items. |
Basket :: fn subtotal(& self) -> Money | Returns the basket subtotal. |
Basket :: fn is_empty(& self) -> bool | Returns true if the basket is empty. |
Basket :: fn id(& self) -> Uuid | — |
Basket :: fn created_at(& self) -> DateTime <Utc> | — |
Basket :: fn updated_at(& self) -> DateTime <Utc> | — |
pub struct OrderItem | An order line item. |
OrderItem :: fn from_basket_item(item : & BasketItem) -> Self | Creates from a basket item. |
OrderItem :: fn line_total(& self) -> Money | Returns the line total. |
OrderItem :: fn id(& self) -> Uuid | — |
pub struct Order | A confirmed order. |
Order :: fn from_basket(basket : & Basket, order_number : impl Into <String>, customer_id : PartyId,) -> Result <Self> | Creates a new order from a basket |
Order :: fn set_tax(& mut self, tax : Money) | Sets tax amount and recalculates total. |
Order :: fn set_shipping(& mut self, shipping : Money) | Sets shipping amount and recalculates total. |
Order :: fn confirm(& mut self) -> Result <()> | Confirms the order |
Order :: fn start_processing(& mut self) | Marks order as processing. |
Order :: fn ship(& mut self) | Marks order as shipped. |
Order :: fn deliver(& mut self) | Marks order as delivered. |
Order :: fn cancel(& mut self) -> Result <()> | Cancels the order |
Order :: fn item_count(& self) -> usize | Returns the number of items in the order. |
Order :: fn id(& self) -> Uuid | — |
Order :: fn created_at(& self) -> DateTime <Utc> | — |
Order :: fn updated_at(& self) -> DateTime <Utc> | — |
`asset_roles`
| Item | What it is |
|---|---|
pub const HERO: & str | Primary hero / lead image |
pub const GALLERY: & str | Gallery image (multiple per item allowed; ordered via sort_order). |
pub const THUMBNAIL: & str | Thumbnail variant (typically auto-generated). |
pub const BACK: & str | Back-of-item photo (label, serial number, etc.). |
pub const RAW_SCAN: & str | Raw scan / un-cropped capture (pre-OCR). |
pub const LABEL_CROP: & str | Cropped label region (post-OCR detail shot). |
No pub use re-exports: every item above is declared in this crate.
Boundary
Reaches into foundation, identity.
Shares tier domain with 41 other crates: domain-agreements, domain-ai-report, domain-billing, domain-classify, domain-comments, domain-competitive-intel, domain-contact, domain-conversation-engine, … (41 total).
_What this crate deliberately does NOT own is a judgment. No committed registry records one for it, so none is stated here._
Where it sits
| Tier (ontology) | domain |
| Architectural role (taxonomy) | unclassified (baselined) |
| Location | crates/domain/catalog |
| Vocabulary in force (lexicon) | current |
Tier flow. Which tiers this crate's own edges cross.
flowchart LR n_domain["domain"] --> n_foundation["foundation"] n_domain["domain"] --> n_identity["identity"]
Dependencies
Runtime, in this workspace.
| Crate | Tier | Optional | Only on |
|---|---|---|---|
| `foundation-basemodels` | foundation | no | always |
| `foundation-money` | foundation | no | always |
| `identity-parties` | identity | no | always |
Runtime, from outside the workspace.
| Crate | Requirement | Features | Optional | Only on |
|---|---|---|---|---|
chrono | ^0.4 | serde | no | always |
rust_decimal | ^1 | serde | no | always |
serde | ^1 | derive | no | always |
serde_json | ^1 | — | no | always |
thiserror | ^2 | — | no | always |
uuid | ^1 | v4, v7, serde, js | no | always |
Development, from outside the workspace.
| Crate | Requirement | Features | Optional | Only on |
|---|---|---|---|---|
rust_decimal_macros | ^1 | — | no | always |
tokio-test | ^0.4 | — | no | always |
Build. None.
Depended on by. 3 workspace crates.
Signal flow — what reaches this crate, and what it reaches.
flowchart LR n_application_catalog["application-catalog"] -->|uses| SELF n_application_conversation["application-conversation"] -->|uses| SELF n_platform_privacy_scan_api["platform-privacy-scan-api"] -->|uses| SELF SELF["domain-catalog"] SELF -->|runtime| n_foundation_basemodels["foundation-basemodels"] SELF -->|runtime| n_foundation_money["foundation-money"] SELF -->|runtime| n_identity_parties["identity-parties"] classDef self fill:#1f883d,stroke:#1f883d,color:#fff; class SELF self;
Feature flags
No Cargo features are defined: every capability is unconditional, so no consumer can receive a half-wired crate.
Targets
| Kind | Name | Source |
|---|---|---|
| lib | domain_catalog | `src/lib.rs` |
Error model
| Error type | Named by |
|---|---|
CatalogError | Result |
Operational characteristics
| Property | Evidence |
|---|---|
| async public surface | none detected |
| async runtime | none detected |
| database access | none detected |
| network I/O | none detected |
| unsafe code | none detected |
| environment variables | none detected |
No unsafe block, unsafe fn, unsafe impl or unsafe trait was found by the parser anywhere in this crate's source.
Configuration
No environment variable is read with a literal name anywhere in this crate. A variable whose key is computed at run time cannot be listed here, and is not claimed to be absent.
Related capabilities
3 workspace crates depend on this one: application-catalog, application-conversation, platform-privacy-scan-api.
Verification
| Kind | Count |
|---|---|
| Unit tests | 53 |
| Integration tests | 0 |
| Examples | 0 |
| Doctests | 0 |
Evidence by module. How often each public module is named by something executable.
| Module | Tests | Examples | Consumers |
|---|---|---|---|
crate root | 14 | 0 | 16 |
asset_roles | 6 | 0 | 0 |
What the tests establish, by name:
test_asset_roles_constants—src/lib.rstest_basket_add_invalid_quantity—src/lib.rstest_basket_add_item—src/lib.rstest_basket_add_same_item_increases_quantity—src/lib.rstest_basket_clear—src/lib.rstest_basket_new—src/lib.rstest_basket_remove_item—src/lib.rstest_basket_subtotal—src/lib.rstest_basket_update_quantity—src/lib.rstest_bundle_item_fractional_quantity—src/lib.rstest_bundle_item_new—src/lib.rstest_bundle_item_rejects_negative_quantity—src/lib.rstest_bundle_item_rejects_zero_quantity—src/lib.rstest_bundle_item_serde_roundtrip—src/lib.rstest_bundle_item_with_sort_order—src/lib.rstest_catalog_item_add_stock—src/lib.rstest_catalog_item_category_tag—src/lib.rstest_catalog_item_display_description_fallback—src/lib.rstest_catalog_item_display_title_falls_back_to_name—src/lib.rstest_catalog_item_display_title_uses_public_title—src/lib.rstest_catalog_item_isbn_and_condition—src/lib.rstest_catalog_item_new—src/lib.rstest_catalog_item_reduce_stock—src/lib.rstest_catalog_item_reduce_stock_insufficient—src/lib.rstest_catalog_item_serialization—src/lib.rstest_catalog_item_sold_is_unavailable—src/lib.rstest_catalog_item_status_default_is_draft—src/lib.rstest_catalog_item_status_is_available—src/lib.rstest_catalog_item_status_is_final—src/lib.rstest_catalog_item_status_serde_roundtrip—src/lib.rs- _… 23 more_
Documentation coverage
| Measure | Documented | Total |
|---|---|---|
| Public items with rustdoc | 78 | 102 |
Public modules with a //! block | 0 | 1 |
pie showData
title Public items with rustdoc
"Documented" : 78
"No rustdoc detected" : 24
Metrics
| Metric | Value |
|---|---|
| Rust source files | 1 |
| Source lines | 1846 |
| Code lines | 1313 |
| Public API items | 102 |
| Public modules | 1 |
| Tests | 53 |
| Examples | 0 |
| Cargo features | 0 |
| Direct runtime dependencies | 9 |
| Workspace reverse dependencies | 3 |
pie showData
title Public API by kind
"constant" : 6
"enum" : 6
"method" : 82
"struct" : 7
"type alias" : 1
pie showData
title Rust source composition
"Code" : 1313
"Blank or comment" : 533
Generation
Rendered by tools-corpus corpus readme from repository evidence alone, renderer schema 2, lexicon current. No model, network service or database was consulted. Regenerate with tools-corpus corpus readme --write; verify with --check.