refactor: remove all backward compatibility code across 70 files
Some checks failed
Some checks failed
Clean up 28 backward compatibility instances identified in the codebase. The app is not live, so all shims are replaced with the target architecture: - Remove legacy Inventory.location column (use bin_location exclusively) - Remove dashboard _extract_metric_value helper (use flat metrics dict) - Remove legacy stat field duplicates (total_stores, total_imports, etc.) - Remove 13 re-export shims and class aliases across modules - Remove module-enabling JSON fallback (use PlatformModule junction table) - Remove menu_to_legacy_format() conversion (return dataclasses directly) - Remove title/description from MarketplaceProductBase schema - Clean billing convenience method docstrings - Clean test fixtures and backward-compat comments - Add PlatformModule seeding to init_production.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -121,7 +121,7 @@ def _get_admin_router():
|
||||
|
||||
def _get_store_router():
|
||||
"""Lazy import of store router to avoid circular imports."""
|
||||
from app.modules.cms.routes.store import store_router
|
||||
from app.modules.cms.routes.api.store import store_router
|
||||
|
||||
return store_router
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ This module provides functions to register CMS routes
|
||||
with module-based access control.
|
||||
|
||||
NOTE: Routers are NOT auto-imported to avoid circular dependencies.
|
||||
Import directly from admin.py or store.py as needed:
|
||||
from app.modules.cms.routes.admin import admin_router
|
||||
from app.modules.cms.routes.store import store_router, store_media_router
|
||||
Import directly from api/admin.py or api/store.py as needed:
|
||||
from app.modules.cms.routes.api.admin import admin_router
|
||||
from app.modules.cms.routes.api.store import store_router
|
||||
"""
|
||||
|
||||
# Routers are imported on-demand to avoid circular dependencies
|
||||
@@ -20,12 +20,12 @@ __all__ = ["admin_router", "store_router", "store_media_router"]
|
||||
def __getattr__(name: str):
|
||||
"""Lazy import routers to avoid circular dependencies."""
|
||||
if name == "admin_router":
|
||||
from app.modules.cms.routes.admin import admin_router
|
||||
from app.modules.cms.routes.api.admin import admin_router
|
||||
return admin_router
|
||||
if name == "store_router":
|
||||
from app.modules.cms.routes.store import store_router
|
||||
from app.modules.cms.routes.api.store import store_router
|
||||
return store_router
|
||||
if name == "store_media_router":
|
||||
from app.modules.cms.routes.store import store_media_router
|
||||
from app.modules.cms.routes.api.store_media import store_media_router
|
||||
return store_media_router
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
|
||||
@@ -8,8 +8,8 @@ Provides REST API endpoints for content page management:
|
||||
- Storefront API: Public read-only access for storefronts
|
||||
"""
|
||||
|
||||
from app.modules.cms.routes.api.admin import router as admin_router
|
||||
from app.modules.cms.routes.api.store import router as store_router
|
||||
from app.modules.cms.routes.api.admin import admin_router
|
||||
from app.modules.cms.routes.api.store import store_router
|
||||
from app.modules.cms.routes.api.storefront import router as storefront_router
|
||||
|
||||
__all__ = ["admin_router", "store_router", "storefront_router"]
|
||||
|
||||
@@ -23,9 +23,6 @@ admin_router = APIRouter(
|
||||
dependencies=[Depends(require_module_access("cms", FrontendType.ADMIN))],
|
||||
)
|
||||
|
||||
# For backwards compatibility with existing imports
|
||||
router = admin_router
|
||||
|
||||
# Aggregate all CMS admin routes
|
||||
admin_router.include_router(admin_content_pages_router, tags=["admin-content-pages"])
|
||||
admin_router.include_router(admin_images_router, tags=["admin-images"])
|
||||
|
||||
@@ -18,7 +18,6 @@ ROUTE_CONFIG = {
|
||||
}
|
||||
|
||||
store_router = APIRouter()
|
||||
router = store_router # Alias for discovery compatibility
|
||||
|
||||
# Aggregate all CMS store routes
|
||||
store_router.include_router(store_content_pages_router, tags=["store-content-pages"])
|
||||
|
||||
@@ -80,7 +80,7 @@ async def homepage(
|
||||
URL routing:
|
||||
- localhost:9999/ -> Main marketing site ('main' platform)
|
||||
- localhost:9999/platforms/oms/ -> OMS platform (middleware rewrites to /)
|
||||
- oms.lu/ -> OMS platform (domain-based)
|
||||
- omsflow.lu/ -> OMS platform (domain-based)
|
||||
- shop.mymerchant.com/ -> Store landing page (custom domain)
|
||||
"""
|
||||
# Get platform and store from middleware
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# app/modules/cms/routes/store.py
|
||||
"""
|
||||
CMS module store routes.
|
||||
|
||||
Re-exports routes from the API routes for backwards compatibility
|
||||
with the lazy router attachment pattern.
|
||||
|
||||
Includes:
|
||||
- /content-pages/* - Content page management
|
||||
- /media/* - Media library
|
||||
"""
|
||||
|
||||
# Re-export store_router from API routes
|
||||
from app.modules.cms.routes.api.store import store_router
|
||||
|
||||
__all__ = ["store_router"]
|
||||
Reference in New Issue
Block a user