refactor: remove all backward compatibility code across 70 files
Some checks failed
CI / ruff (push) Successful in 11s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running

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:
2026-02-15 13:20:29 +01:00
parent b0db8133a0
commit aad18c27ab
70 changed files with 501 additions and 841 deletions

View File

@@ -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}")