pub struct CartItem {Show 19 fields
pub id: Uuid,
pub cart_id: CartId,
pub product_id: Option<ProductId>,
pub variant_id: Option<Uuid>,
pub sku: String,
pub name: String,
pub description: Option<String>,
pub image_url: Option<String>,
pub quantity: i32,
pub unit_price: Decimal,
pub original_price: Option<Decimal>,
pub discount_amount: Decimal,
pub tax_amount: Decimal,
pub total: Decimal,
pub weight: Option<Decimal>,
pub requires_shipping: bool,
pub metadata: Option<Value>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Cart line item
Fields§
§id: Uuid§cart_id: CartId§product_id: Option<ProductId>§variant_id: Option<Uuid>§sku: String§name: String§description: Option<String>§image_url: Option<String>§quantity: i32§unit_price: Decimal§original_price: Option<Decimal>§discount_amount: Decimal§tax_amount: Decimal§total: Decimal§weight: Option<Decimal>§requires_shipping: bool§metadata: Option<Value>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl CartItem
impl CartItem
Sourcepub fn calculate_total(
quantity: i32,
unit_price: Decimal,
discount: Decimal,
tax: Decimal,
) -> Decimal
pub fn calculate_total( quantity: i32, unit_price: Decimal, discount: Decimal, tax: Decimal, ) -> Decimal
Calculate a line item’s money total, rounded to the currency minor unit
(2 dp) so the stored/returned line total is a real money amount rather
than a sub-cent value like 9.999. This matches the Postgres
cart_items.total DECIMAL(12,2) column (which coerces to 2 dp) and the
order pipeline’s OrderItem::calculate_total.
Sourcepub fn recalculate(&mut self)
pub fn recalculate(&mut self)
Recalculate this item’s total
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CartItem
impl<'de> Deserialize<'de> for CartItem
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CartItem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CartItem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CartItem
Source§impl Serialize for CartItem
impl Serialize for CartItem
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for CartItem
Auto Trait Implementations§
impl Freeze for CartItem
impl RefUnwindSafe for CartItem
impl Send for CartItem
impl Sync for CartItem
impl Unpin for CartItem
impl UnsafeUnpin for CartItem
impl UnwindSafe for CartItem
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