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

@@ -3,7 +3,7 @@
import pytest
from models.database.marketplace_import_job import MarketplaceImportJob
from app.modules.marketplace.models import MarketplaceImportJob
@pytest.mark.unit

View File

@@ -4,8 +4,8 @@
import pytest
from sqlalchemy.exc import IntegrityError
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
from app.modules.marketplace.models import (
MarketplaceProduct,
MarketplaceProductTranslation,
)

View File

@@ -4,7 +4,7 @@
import pytest
from sqlalchemy.exc import IntegrityError
from models.database.product import Product
from app.modules.catalog.models import Product
@pytest.mark.unit

View File

@@ -363,11 +363,9 @@ class TestInventoryService:
def test_get_product_inventory_no_inventory(self, db, test_product, test_vendor):
"""Test getting inventory for product with no inventory entries."""
# Create a new product without inventory
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
unique_id = str(uuid.uuid4())[:8]
mp = MarketplaceProduct(

View File

@@ -26,8 +26,8 @@ from app.services.marketplace_product_service import (
MarketplaceProductService,
marketplace_product_service,
)
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
from app.modules.marketplace.models import (
MarketplaceProduct,
MarketplaceProductTranslation,
)
from models.schema.marketplace_product import (

View File

@@ -12,7 +12,7 @@ from app.exceptions.marketplace_import_job import (
)
from app.exceptions.vendor import UnauthorizedVendorAccessException
from app.services.marketplace_import_job_service import MarketplaceImportJobService
from models.database.marketplace_import_job import MarketplaceImportJob
from app.modules.marketplace.models import MarketplaceImportJob
from models.schema.marketplace_import_job import MarketplaceImportJobRequest
@@ -283,7 +283,7 @@ class TestMarketplaceImportJobService:
self, db, test_marketplace_import_job, test_vendor
):
"""Test converting database model to response model."""
from models.database.marketplace_import_job import MarketplaceImportJob as MIJ
from app.modules.marketplace.models import MarketplaceImportJob as MIJ
# Re-query to get fresh instance with relationships
job = db.query(MIJ).filter(MIJ.id == test_marketplace_import_job.id).first()

View File

@@ -16,7 +16,7 @@ from unittest.mock import MagicMock, patch
import pytest
from app.services.onboarding_service import OnboardingService
from models.database.onboarding import OnboardingStatus, OnboardingStep, VendorOnboarding
from app.modules.marketplace.models import OnboardingStatus, OnboardingStep, VendorOnboarding
@pytest.mark.unit

View File

@@ -10,8 +10,8 @@ from sqlalchemy.exc import SQLAlchemyError
from app.exceptions import AdminOperationException, VendorNotFoundException
from app.services.stats_service import StatsService
from app.modules.inventory.models import Inventory
from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import (
from app.modules.marketplace.models import (
MarketplaceProduct,
MarketplaceProductTranslation,
)

View File

@@ -4,7 +4,7 @@
import pytest
from app.services.usage_service import UsageService, usage_service
from models.database.product import Product
from app.modules.catalog.models import Product
from models.database.subscription import SubscriptionTier, VendorSubscription
from models.database.vendor import VendorUser

View File

@@ -358,7 +358,7 @@ class TestVendorService:
def test_add_product_to_vendor_success(self, db, test_vendor, unique_product):
"""Test successfully adding product to vendor."""
from models.database.marketplace_product import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProduct
# Re-query objects to avoid session issues
vendor = db.query(Vendor).filter(Vendor.id == test_vendor.id).first()
@@ -398,7 +398,7 @@ class TestVendorService:
def test_add_product_to_vendor_already_exists(self, db, test_vendor, test_product):
"""Test adding product that's already in vendor fails."""
# Re-query to get fresh instances
from models.database.product import Product
from app.modules.catalog.models import Product
vendor = db.query(Vendor).filter(Vendor.id == test_vendor.id).first()
product = db.query(Product).filter(Product.id == test_product.id).first()

View File

@@ -9,7 +9,7 @@ import requests
import requests.exceptions
from app.utils.csv_processor import CSVProcessor
from models.database.marketplace_product import MarketplaceProduct
from app.modules.marketplace.models import MarketplaceProduct
@pytest.mark.unit