diff --git a/app/services/inventory_service.py b/app/services/inventory_service.py index 3816c299..91dcb874 100644 --- a/app/services/inventory_service.py +++ b/app/services/inventory_service.py @@ -400,8 +400,8 @@ class InventoryService: return ProductInventorySummary( product_id=product_id, vendor_id=vendor_id, - product_sku=product.product_id, - product_title=product.marketplace_product.title, + product_sku=product.vendor_sku, + product_title=product.marketplace_product.get_title() or "", total_quantity=0, total_reserved=0, total_available=0, @@ -426,7 +426,7 @@ class InventoryService: product_id=product_id, vendor_id=vendor_id, product_sku=product.product_id, - product_title=product.marketplace_product.title, + product_title=product.marketplace_product.get_title() or "", total_quantity=total_qty, total_reserved=total_reserved, total_available=total_available, diff --git a/app/services/product_service.py b/app/services/product_service.py index 3769a4b7..5050031e 100644 --- a/app/services/product_service.py +++ b/app/services/product_service.py @@ -80,13 +80,10 @@ class ProductService: ValidationException: If marketplace product not found """ try: - # Verify marketplace product exists and belongs to vendor + # Verify marketplace product exists marketplace_product = ( db.query(MarketplaceProduct) - .filter( - MarketplaceProduct.id == product_data.marketplace_product_id, - MarketplaceProduct.vendor_id == vendor_id, - ) + .filter(MarketplaceProduct.id == product_data.marketplace_product_id) .first() ) @@ -113,7 +110,7 @@ class ProductService: product = Product( vendor_id=vendor_id, marketplace_product_id=product_data.marketplace_product_id, - product_id=product_data.product_id, + vendor_sku=product_data.vendor_sku, price=product_data.price, sale_price=product_data.sale_price, currency=product_data.currency, diff --git a/app/services/vendor_service.py b/app/services/vendor_service.py index ded91a8b..42bdf1a6 100644 --- a/app/services/vendor_service.py +++ b/app/services/vendor_service.py @@ -453,7 +453,7 @@ class VendorService: vendor.vendor_code, product.marketplace_product_id ) - # Create vendor -product association + # Create vendor-product association new_product = Product( vendor_id=vendor.id, marketplace_product_id=marketplace_product.id, diff --git a/models/schema/product.py b/models/schema/product.py index 548932f9..9f433d77 100644 --- a/models/schema/product.py +++ b/models/schema/product.py @@ -11,7 +11,7 @@ class ProductCreate(BaseModel): marketplace_product_id: int = Field( ..., description="MarketplaceProduct ID to add to vendor catalog" ) - product_id: str | None = Field(None, description="Vendor's internal SKU/product ID") + vendor_sku: str | None = Field(None, description="Vendor's internal SKU") price: float | None = Field(None, ge=0) sale_price: float | None = Field(None, ge=0) currency: str | None = None @@ -23,7 +23,7 @@ class ProductCreate(BaseModel): class ProductUpdate(BaseModel): - product_id: str | None = None + vendor_sku: str | None = None price: float | None = Field(None, ge=0) sale_price: float | None = Field(None, ge=0) currency: str | None = None @@ -41,7 +41,7 @@ class ProductResponse(BaseModel): id: int vendor_id: int marketplace_product: MarketplaceProductResponse - product_id: str | None + vendor_sku: str | None price: float | None sale_price: float | None currency: str | None