from datetime import datetime class Cart: """ Represents a cart in the system. :param id: The unique identifier of the cart. :type id: int :param price_total: The total price of the cart. :type price_total: float :param item_count: The count of items in the cart. :type item_count: int """ def __init__( self, cart_id: int = None, price_total: float = 0.00, item_count: int = 0, ): self.id = cart_id self.price_total = price_total self.item_count = item_count def __repr__(self): return f"Cart(id={self.id}, price_total={self.price_total}, item_count={self.item_count})" class CartItem: """ Represents a cart item in the system. :param id: The unique identifier of the cart item. :type id: int :param cart_id: The identifier of the cart. :type cart_id: int :param product_id: The identifier of the product. :type product_id: int :param count: The count of the product in the cart. :type count: int :param price_subtotal: The subtotal price of the product in the cart. :type price_subtotal: float :param date_added: The date and time when the item was added to the cart. :type date_added: datetime """ def __init__( self, cart_item_id: int = None, cart_id: int = None, product_id: int = None, count: int = 0, price_subtotal: float = 0.00, date_added: datetime = None, ): self.id = cart_item_id self.cart_id = cart_id self.product_id = product_id self.count = count self.price_subtotal = price_subtotal self.date_added = date_added or datetime.now() def __repr__(self): return f"CartItem(id={self.id}, cart_id={self.cart_id}, product_id={self.product_id}, count={self.count}, price_subtotal={self.price_subtotal}, date_added={self.date_added})"