refactor: migrate models to canonical module locations

- Move Product/ProductTranslation to app/modules/catalog/models/
- Move VendorOnboarding to app/modules/marketplace/models/
- Delete legacy re-export files for marketplace models:
  - letzshop.py, marketplace.py, marketplace_product.py
  - marketplace_product_translation.py, marketplace_import_job.py
- Delete legacy product.py, product_translation.py, onboarding.py
- Update all imports across services, tasks, tests to use module locations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 14:45:32 +01:00
parent a123341aa8
commit 0c63f387aa
72 changed files with 176 additions and 276 deletions

View File

@@ -41,7 +41,7 @@ class TestAdminLetzshopVendorsAPI:
def test_list_vendors_configured_only(self, client, db, admin_headers, test_vendor):
"""Test listing only configured vendors."""
from app.utils.encryption import encrypt_value
from models.database.letzshop import VendorLetzshopCredentials
from app.modules.marketplace.models import VendorLetzshopCredentials
# Configure credentials for test vendor
credentials = VendorLetzshopCredentials(
@@ -384,11 +384,9 @@ class TestAdminLetzshopExportAPI:
self, client, db, admin_headers, test_vendor
):
"""Test exporting products with actual data."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
# Create marketplace product
mp = MarketplaceProduct(
@@ -438,11 +436,9 @@ class TestAdminLetzshopExportAPI:
self, client, db, admin_headers, test_vendor
):
"""Test exporting products in French."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
mp = MarketplaceProduct(
marketplace_product_id="EXPORT-FR-001",
@@ -484,11 +480,9 @@ class TestAdminLetzshopExportAPI:
self, client, db, admin_headers, test_vendor
):
"""Test exporting including inactive products."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
# Create inactive product
mp = MarketplaceProduct(

View File

@@ -67,8 +67,8 @@ class TestVendorDashboardAPI:
"""Test that dashboard stats only show data for the authenticated vendor"""
import uuid
from models.database.marketplace_product import MarketplaceProduct
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.catalog.models import Product
# Create products for the test vendor
for i in range(3):
@@ -195,8 +195,8 @@ class TestVendorDashboardAPI:
"""Test dashboard stats accuracy with actual products"""
import uuid
from models.database.marketplace_product import MarketplaceProduct
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.catalog.models import Product
# Create 5 different marketplace products
marketplace_products = []

View File

@@ -24,7 +24,7 @@ class TestVendorInventoryAPI:
):
"""Test setting inventory for a product."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -56,7 +56,7 @@ class TestVendorInventoryAPI:
db,
):
"""Test adjusting inventory quantity."""
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -123,7 +123,7 @@ class TestVendorInventoryAPI:
db,
):
"""Test getting inventory for a specific product."""
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -155,7 +155,7 @@ class TestVendorInventoryAPI:
db,
):
"""Test reserving inventory for an order."""
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -198,7 +198,7 @@ class TestVendorInventoryAPI:
db,
):
"""Test updating inventory record."""
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -240,7 +240,7 @@ class TestVendorInventoryAPI:
db,
):
"""Test deleting inventory record."""
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id

View File

@@ -642,11 +642,9 @@ class TestVendorLetzshopExportAPI:
self, client, db, vendor_user_headers, test_vendor_with_vendor_user
):
"""Test exporting products with actual data."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
# Create marketplace product
mp = MarketplaceProduct(
@@ -695,11 +693,9 @@ class TestVendorLetzshopExportAPI:
self, client, db, vendor_user_headers, test_vendor_with_vendor_user
):
"""Test exporting products in French."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
mp = MarketplaceProduct(
marketplace_product_id="VENDOR-FR-001",
@@ -741,11 +737,9 @@ class TestVendorLetzshopExportAPI:
self, client, db, vendor_user_headers, test_vendor_with_vendor_user
):
"""Test exporting products in German."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
mp = MarketplaceProduct(
marketplace_product_id="VENDOR-DE-001",
@@ -785,11 +779,9 @@ class TestVendorLetzshopExportAPI:
self, client, db, vendor_user_headers, test_vendor_with_vendor_user
):
"""Test exporting including inactive products."""
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
MarketplaceProductTranslation,
)
from models.database.product import Product
from app.modules.marketplace.models import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProductTranslation
from app.modules.catalog.models import Product
mp = MarketplaceProduct(
marketplace_product_id="VENDOR-INACTIVE-001",

View File

@@ -14,7 +14,7 @@ Tests cover:
import pytest
from models.database.onboarding import OnboardingStatus, OnboardingStep, VendorOnboarding
from app.modules.marketplace.models import OnboardingStatus, OnboardingStep, VendorOnboarding
@pytest.mark.integration

View File

@@ -50,7 +50,7 @@ class TestVendorProductsAPI:
):
"""Test adding product that already exists returns error."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -140,7 +140,7 @@ class TestVendorProductsAPI:
):
"""Test getting product details."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -174,7 +174,7 @@ class TestVendorProductsAPI:
):
"""Test updating product details."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -206,7 +206,7 @@ class TestVendorProductsAPI:
):
"""Test toggling product active status."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -232,7 +232,7 @@ class TestVendorProductsAPI:
):
"""Test toggling product featured status."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id
@@ -258,7 +258,7 @@ class TestVendorProductsAPI:
):
"""Test removing product from catalog."""
# Ensure test_product belongs to the vendor
from models.database.product import Product
from app.modules.catalog.models import Product
product = db.query(Product).filter(Product.id == test_product.id).first()
product.vendor_id = test_vendor_with_vendor_user.id