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

@@ -32,7 +32,7 @@ from app.modules.tenancy.models import User # API-007
logger = logging.getLogger(__name__)
# Admin router with module access control
admin_router = APIRouter(
router = APIRouter(
prefix="/loyalty",
dependencies=[Depends(require_module_access("loyalty", FrontendType.ADMIN))],
)
@@ -43,7 +43,7 @@ admin_router = APIRouter(
# =============================================================================
@admin_router.get("/programs", response_model=ProgramListResponse)
@router.get("/programs", response_model=ProgramListResponse)
def list_programs(
skip: int = Query(0, ge=0),
limit: int = Query(50, ge=1, le=100),
@@ -81,7 +81,7 @@ def list_programs(
return ProgramListResponse(programs=program_responses, total=total)
@admin_router.get("/programs/{program_id}", response_model=ProgramResponse)
@router.get("/programs/{program_id}", response_model=ProgramResponse)
def get_program(
program_id: int,
current_user: User = Depends(get_current_admin_api),
@@ -98,7 +98,7 @@ def get_program(
return response
@admin_router.get("/programs/{program_id}/stats", response_model=ProgramStatsResponse)
@router.get("/programs/{program_id}/stats", response_model=ProgramStatsResponse)
def get_program_stats(
program_id: int,
current_user: User = Depends(get_current_admin_api),
@@ -109,7 +109,7 @@ def get_program_stats(
return ProgramStatsResponse(**stats)
@admin_router.post(
@router.post(
"/merchants/{merchant_id}/program", response_model=ProgramResponse, status_code=201
)
def create_program_for_merchant(
@@ -130,7 +130,7 @@ def create_program_for_merchant(
return response
@admin_router.patch("/programs/{program_id}", response_model=ProgramResponse)
@router.patch("/programs/{program_id}", response_model=ProgramResponse)
def update_program(
data: ProgramUpdate,
program_id: int = Path(..., gt=0),
@@ -149,7 +149,7 @@ def update_program(
return response
@admin_router.delete("/programs/{program_id}", status_code=204)
@router.delete("/programs/{program_id}", status_code=204)
def delete_program(
program_id: int = Path(..., gt=0),
current_user: User = Depends(get_current_admin_api),
@@ -160,7 +160,7 @@ def delete_program(
logger.info(f"Admin deleted loyalty program {program_id}")
@admin_router.post("/programs/{program_id}/activate", response_model=ProgramResponse)
@router.post("/programs/{program_id}/activate", response_model=ProgramResponse)
def activate_program(
program_id: int = Path(..., gt=0),
current_user: User = Depends(get_current_admin_api),
@@ -178,7 +178,7 @@ def activate_program(
return response
@admin_router.post("/programs/{program_id}/deactivate", response_model=ProgramResponse)
@router.post("/programs/{program_id}/deactivate", response_model=ProgramResponse)
def deactivate_program(
program_id: int = Path(..., gt=0),
current_user: User = Depends(get_current_admin_api),
@@ -201,7 +201,7 @@ def deactivate_program(
# =============================================================================
@admin_router.get("/merchants/{merchant_id}/stats", response_model=MerchantStatsResponse)
@router.get("/merchants/{merchant_id}/stats", response_model=MerchantStatsResponse)
def get_merchant_stats(
merchant_id: int = Path(..., gt=0),
current_user: User = Depends(get_current_admin_api),
@@ -213,7 +213,7 @@ def get_merchant_stats(
return MerchantStatsResponse(**stats)
@admin_router.get("/merchants/{merchant_id}/settings", response_model=MerchantSettingsResponse)
@router.get("/merchants/{merchant_id}/settings", response_model=MerchantSettingsResponse)
def get_merchant_settings(
merchant_id: int = Path(..., gt=0),
current_user: User = Depends(get_current_admin_api),
@@ -224,7 +224,7 @@ def get_merchant_settings(
return MerchantSettingsResponse.model_validate(settings)
@admin_router.patch("/merchants/{merchant_id}/settings", response_model=MerchantSettingsResponse)
@router.patch("/merchants/{merchant_id}/settings", response_model=MerchantSettingsResponse)
def update_merchant_settings(
data: MerchantSettingsUpdate,
merchant_id: int = Path(..., gt=0),
@@ -252,7 +252,7 @@ def update_merchant_settings(
# =============================================================================
@admin_router.get("/stats")
@router.get("/stats")
def get_platform_stats(
current_user: User = Depends(get_current_admin_api),
db: Session = Depends(get_db),