feat: complete marketplace module self-containment
Migrate marketplace module to self-contained structure: - routes/api/admin.py - Admin API endpoints - routes/api/vendor.py - Vendor API endpoints - routes/pages/ - Page routes (placeholder) - models/letzshop.py - Letzshop model - models/marketplace_import_job.py - Import job model - models/marketplace_product.py - Product model - models/marketplace_product_translation.py - Translation model - schemas/marketplace_import_job.py - Import job schemas - schemas/marketplace_product.py - Product schemas - locales/ - Translations (en, de, fr, lu) Removed legacy route files replaced by api/ structure. Updated __init__.py files to use new structure. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,12 +27,21 @@ Usage:
|
||||
from app.modules.marketplace.exceptions import LetzshopClientError
|
||||
"""
|
||||
|
||||
from app.modules.marketplace.definition import (
|
||||
marketplace_module,
|
||||
get_marketplace_module_with_routers,
|
||||
)
|
||||
# Lazy imports to avoid circular dependencies
|
||||
# Routers and module definition are imported on-demand
|
||||
|
||||
__all__ = [
|
||||
"marketplace_module",
|
||||
"get_marketplace_module_with_routers",
|
||||
]
|
||||
|
||||
|
||||
def __getattr__(name: str):
|
||||
"""Lazy import to avoid circular dependencies."""
|
||||
if name == "marketplace_module":
|
||||
from app.modules.marketplace.definition import marketplace_module
|
||||
return marketplace_module
|
||||
elif name == "get_marketplace_module_with_routers":
|
||||
from app.modules.marketplace.definition import get_marketplace_module_with_routers
|
||||
return get_marketplace_module_with_routers
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
|
||||
Reference in New Issue
Block a user