# app/modules/cart/definition.py """ Cart module definition. This module provides shopping cart functionality for customer storefronts. It is session-based and does not require customer authentication. """ from app.modules.base import ModuleDefinition, PermissionDefinition module = ModuleDefinition( code="cart", name="Shopping Cart", description="Session-based shopping cart for storefronts", version="1.0.0", is_self_contained=True, requires=["inventory"], # Checks inventory availability features=[ "cart_management", # Basic cart CRUD operations "cart_persistence", # Session and database persistence "cart_item_operations", # Add, update, remove items "shipping_calculation", # Calculate shipping for cart "promotion_application", # Apply discounts and promotions ], # Note: Cart is primarily session-based storefront functionality. # These permissions are for admin access to cart data/settings. permissions=[ PermissionDefinition( id="cart.view", label_key="cart.permissions.view", description_key="cart.permissions.view_desc", category="cart", ), PermissionDefinition( id="cart.manage", label_key="cart.permissions.manage", description_key="cart.permissions.manage_desc", category="cart", ), ], # Cart is storefront-only - no admin/vendor menus needed menu_items={}, )