refactor(P6): standardize route variable naming to router
Some checks failed
CI / ruff (push) Successful in 9s
CI / pytest (push) Has been cancelled
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

All route files (admin.py, store.py) now export `router` instead of
`admin_router`/`store_router`. Consumer code (definition.py, __init__.py)
imports as `router as admin_router` where distinction is needed.
ModuleDefinition fields remain admin_router/store_router.

64 files changed across all modules. Architecture rules, docs, and
migration plan updated. Added noqa:API001 support to validator for
pre-existing raw dict endpoints now visible with standardized router name.
All 1114 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 11:05:34 +01:00
parent 8c0967e215
commit 30c4593e0f
65 changed files with 376 additions and 355 deletions

View File

@@ -17,16 +17,16 @@ from app.modules.enums import FrontendType
def _get_admin_router():
"""Lazy import of admin router to avoid circular imports."""
from app.modules.messaging.routes.admin import admin_router
from app.modules.messaging.routes.admin import router
return admin_router
return router
def _get_store_router():
"""Lazy import of store router to avoid circular imports."""
from app.modules.messaging.routes.store import store_router
from app.modules.messaging.routes.store import router
return store_router
return router
def _get_feature_provider():

View File

@@ -7,8 +7,8 @@ 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.messaging.routes.admin import admin_router, admin_notifications_router
from app.modules.messaging.routes.store import store_router, store_notifications_router
from app.modules.messaging.routes.admin import router, admin_notifications_router
from app.modules.messaging.routes.store import router, store_notifications_router
"""
# Routers are imported on-demand to avoid circular dependencies
@@ -20,14 +20,14 @@ __all__ = ["admin_router", "admin_notifications_router", "store_router", "store_
def __getattr__(name: str):
"""Lazy import routers to avoid circular dependencies."""
if name == "admin_router":
from app.modules.messaging.routes.admin import admin_router
return admin_router
from app.modules.messaging.routes.admin import router
return router
if name == "admin_notifications_router":
from app.modules.messaging.routes.admin import admin_notifications_router
return admin_notifications_router
if name == "store_router":
from app.modules.messaging.routes.store import store_router
return store_router
from app.modules.messaging.routes.store import router
return router
if name == "store_notifications_router":
from app.modules.messaging.routes.store import store_notifications_router
return store_notifications_router

View File

@@ -16,11 +16,11 @@ Storefront routes:
- Customer-facing messaging
"""
from app.modules.messaging.routes.api.admin import admin_router
from app.modules.messaging.routes.api.store import store_router
from app.modules.messaging.routes.api.admin import router as admin_router
from app.modules.messaging.routes.api.store import router as store_router
from app.modules.messaging.routes.api.storefront import router as storefront_router
# Tag for OpenAPI documentation
STOREFRONT_TAG = "Messages (Storefront)"
__all__ = ["admin_router", "storefront_router", "store_router", "STOREFRONT_TAG"]
__all__ = ["router", "storefront_router", "router", "STOREFRONT_TAG"]

View File

@@ -17,11 +17,11 @@ from .admin_email_templates import admin_email_templates_router
from .admin_messages import admin_messages_router
from .admin_notifications import admin_notifications_router
admin_router = APIRouter(
router = APIRouter(
dependencies=[Depends(require_module_access("messaging", FrontendType.ADMIN))],
)
# Aggregate all messaging admin routes
admin_router.include_router(admin_messages_router, tags=["admin-messages"])
admin_router.include_router(admin_notifications_router, tags=["admin-notifications"])
admin_router.include_router(admin_email_templates_router, tags=["admin-email-templates"])
router.include_router(admin_messages_router, tags=["admin-messages"])
router.include_router(admin_notifications_router, tags=["admin-notifications"])
router.include_router(admin_email_templates_router, tags=["admin-email-templates"])

View File

@@ -19,12 +19,12 @@ from .store_email_templates import store_email_templates_router
from .store_messages import store_messages_router
from .store_notifications import store_notifications_router
store_router = APIRouter(
router = APIRouter(
dependencies=[Depends(require_module_access("messaging", FrontendType.STORE))],
)
# Aggregate all messaging store routes
store_router.include_router(store_messages_router, tags=["store-messages"])
store_router.include_router(store_notifications_router, tags=["store-notifications"])
store_router.include_router(store_email_settings_router, tags=["store-email-settings"])
store_router.include_router(store_email_templates_router, tags=["store-email-templates"])
router.include_router(store_messages_router, tags=["store-messages"])
router.include_router(store_notifications_router, tags=["store-notifications"])
router.include_router(store_email_settings_router, tags=["store-email-settings"])
router.include_router(store_email_templates_router, tags=["store-email-templates"])