pub struct CatalogEngine { /* private fields */ }Expand description
Main Product Catalog Engine
Implementations§
Source§impl CatalogEngine
impl CatalogEngine
Sourcepub fn add_pricing_rule(&mut self, rule: PricingRule)
pub fn add_pricing_rule(&mut self, rule: PricingRule)
Add a pricing rule
Sourcepub fn add_eligibility_rule(&mut self, rule: EligibilityRule)
pub fn add_eligibility_rule(&mut self, rule: EligibilityRule)
Add an eligibility rule
Sourcepub fn add_catalog_rule(&mut self, rule: CatalogRule)
pub fn add_catalog_rule(&mut self, rule: CatalogRule)
Add a catalog rule
Sourcepub fn check_eligibility(
&self,
product_offering_id: Uuid,
context: &EligibilityContext,
) -> bool
pub fn check_eligibility( &self, product_offering_id: Uuid, context: &EligibilityContext, ) -> bool
Check if a product is eligible for a customer
Sourcepub fn calculate_price(
&self,
product_offering_id: Uuid,
context: &PricingContext,
) -> Option<Money>
pub fn calculate_price( &self, product_offering_id: Uuid, context: &PricingContext, ) -> Option<Money>
Calculate price for a product offering
Sourcepub fn get_bundles_for_product(&self, product_offering_id: Uuid) -> Vec<&Bundle>
pub fn get_bundles_for_product(&self, product_offering_id: Uuid) -> Vec<&Bundle>
Get bundles for a product
Sourcepub fn evaluate_rules(&self, context: &RuleContext) -> Vec<&CatalogRule>
pub fn evaluate_rules(&self, context: &RuleContext) -> Vec<&CatalogRule>
Evaluate catalog rules for a given context
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CatalogEngine
impl RefUnwindSafe for CatalogEngine
impl Send for CatalogEngine
impl Sync for CatalogEngine
impl Unpin for CatalogEngine
impl UnwindSafe for CatalogEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more