refactor: move letzshop endpoints to marketplace module and add vendor service tests
Move letzshop-related functionality from tenancy to marketplace module: - Move admin letzshop routes to marketplace/routes/api/admin_letzshop.py - Move letzshop schemas to marketplace/schemas/letzshop.py - Remove letzshop code from tenancy module (admin_vendors, vendor_service) - Update model exports and imports Add comprehensive unit tests for vendor services: - test_company_service.py: Company management operations - test_platform_service.py: Platform management operations - test_vendor_domain_service.py: Vendor domain operations - test_vendor_team_service.py: Vendor team management Update module definitions: - billing, messaging, payments: Minor definition updates Add architecture proposals documentation: - Module dependency redesign session notes - Decouple modules implementation plan - Module decoupling proposal Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,9 +18,16 @@ Usage:
|
||||
# These imports are NOT re-exported, just ensure models are registered with SQLAlchemy
|
||||
# before the marketplace models are loaded.
|
||||
#
|
||||
# Relationship being resolved:
|
||||
# Relationships being resolved:
|
||||
# - LetzshopFulfillmentQueue.order -> "Order" (in orders module)
|
||||
# - MarketplaceImportJob.vendor -> "Vendor" (in tenancy module)
|
||||
# - MarketplaceImportJob.user -> "User" (in tenancy module)
|
||||
#
|
||||
# NOTE: This module owns the relationships to tenancy models (User, Vendor).
|
||||
# Core models should NOT have back-references to optional module models.
|
||||
from app.modules.orders.models import Order # noqa: F401
|
||||
from app.modules.tenancy.models.user import User # noqa: F401
|
||||
from app.modules.tenancy.models.vendor import Vendor # noqa: F401
|
||||
|
||||
from app.modules.marketplace.models.marketplace_product import (
|
||||
MarketplaceProduct,
|
||||
|
||||
@@ -95,7 +95,9 @@ class MarketplaceImportJob(Base, TimestampMixin):
|
||||
completed_at = Column(DateTime(timezone=True))
|
||||
|
||||
# Relationships
|
||||
vendor = relationship("Vendor", back_populates="marketplace_import_jobs")
|
||||
# NOTE: No back_populates - optional modules own relationships to core models
|
||||
# Core models (User, Vendor) don't have back-references to optional modules
|
||||
vendor = relationship("Vendor")
|
||||
user = relationship("User", foreign_keys=[user_id])
|
||||
errors = relationship(
|
||||
"MarketplaceImportError",
|
||||
|
||||
Reference in New Issue
Block a user