refactor(P6): standardize route variable naming to router
Some checks failed
Some checks failed
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:
@@ -63,7 +63,7 @@ from app.modules.tenancy.models import User # API-007
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Store router with module access control
|
||||
store_router = APIRouter(
|
||||
router = APIRouter(
|
||||
prefix="/loyalty",
|
||||
dependencies=[Depends(require_module_access("loyalty", FrontendType.STORE))],
|
||||
)
|
||||
@@ -86,7 +86,7 @@ def get_store_merchant_id(db: Session, store_id: int) -> int:
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@store_router.get("/program", response_model=ProgramResponse)
|
||||
@router.get("/program", response_model=ProgramResponse)
|
||||
def get_program(
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -104,7 +104,7 @@ def get_program(
|
||||
return response
|
||||
|
||||
|
||||
@store_router.get("/stats", response_model=ProgramStatsResponse)
|
||||
@router.get("/stats", response_model=ProgramStatsResponse)
|
||||
def get_stats(
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -118,7 +118,7 @@ def get_stats(
|
||||
return ProgramStatsResponse(**stats)
|
||||
|
||||
|
||||
@store_router.get("/stats/merchant", response_model=MerchantStatsResponse)
|
||||
@router.get("/stats/merchant", response_model=MerchantStatsResponse)
|
||||
def get_merchant_stats(
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -137,7 +137,7 @@ def get_merchant_stats(
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@store_router.get("/pins", response_model=PinListResponse)
|
||||
@router.get("/pins", response_model=PinListResponse)
|
||||
def list_pins(
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -156,7 +156,7 @@ def list_pins(
|
||||
)
|
||||
|
||||
|
||||
@store_router.post("/pins", response_model=PinResponse, status_code=201)
|
||||
@router.post("/pins", response_model=PinResponse, status_code=201)
|
||||
def create_pin(
|
||||
data: PinCreate,
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
@@ -171,7 +171,7 @@ def create_pin(
|
||||
return PinResponse.model_validate(pin)
|
||||
|
||||
|
||||
@store_router.patch("/pins/{pin_id}", response_model=PinResponse)
|
||||
@router.patch("/pins/{pin_id}", response_model=PinResponse)
|
||||
def update_pin(
|
||||
pin_id: int = Path(..., gt=0),
|
||||
data: PinUpdate = None,
|
||||
@@ -183,7 +183,7 @@ def update_pin(
|
||||
return PinResponse.model_validate(pin)
|
||||
|
||||
|
||||
@store_router.delete("/pins/{pin_id}", status_code=204)
|
||||
@router.delete("/pins/{pin_id}", status_code=204)
|
||||
def delete_pin(
|
||||
pin_id: int = Path(..., gt=0),
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
@@ -193,7 +193,7 @@ def delete_pin(
|
||||
pin_service.delete_pin(db, pin_id)
|
||||
|
||||
|
||||
@store_router.post("/pins/{pin_id}/unlock", response_model=PinResponse)
|
||||
@router.post("/pins/{pin_id}/unlock", response_model=PinResponse)
|
||||
def unlock_pin(
|
||||
pin_id: int = Path(..., gt=0),
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
@@ -209,7 +209,7 @@ def unlock_pin(
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@store_router.get("/cards", response_model=CardListResponse)
|
||||
@router.get("/cards", response_model=CardListResponse)
|
||||
def list_cards(
|
||||
skip: int = Query(0, ge=0),
|
||||
limit: int = Query(50, ge=1, le=100),
|
||||
@@ -316,7 +316,7 @@ def _build_card_lookup_response(card, db=None) -> CardLookupResponse:
|
||||
)
|
||||
|
||||
|
||||
@store_router.get("/cards/lookup", response_model=CardLookupResponse)
|
||||
@router.get("/cards/lookup", response_model=CardLookupResponse)
|
||||
def search_card(
|
||||
request: Request,
|
||||
q: str = Query(..., description="Search by email, card number, or name"),
|
||||
@@ -340,7 +340,7 @@ def search_card(
|
||||
return _build_card_lookup_response(card, db)
|
||||
|
||||
|
||||
@store_router.post("/cards/lookup", response_model=CardLookupResponse)
|
||||
@router.post("/cards/lookup", response_model=CardLookupResponse)
|
||||
def lookup_card(
|
||||
request: Request,
|
||||
card_id: int | None = Query(None),
|
||||
@@ -369,7 +369,7 @@ def lookup_card(
|
||||
return _build_card_lookup_response(card, db)
|
||||
|
||||
|
||||
@store_router.get("/cards/{card_id}", response_model=CardDetailResponse)
|
||||
@router.get("/cards/{card_id}", response_model=CardDetailResponse)
|
||||
def get_card_detail(
|
||||
card_id: int = Path(..., gt=0),
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
@@ -421,7 +421,7 @@ def get_card_detail(
|
||||
)
|
||||
|
||||
|
||||
@store_router.get("/transactions", response_model=TransactionListResponse)
|
||||
@router.get("/transactions", response_model=TransactionListResponse)
|
||||
def list_store_transactions(
|
||||
skip: int = Query(0, ge=0),
|
||||
limit: int = Query(10, ge=1, le=100),
|
||||
@@ -446,7 +446,7 @@ def list_store_transactions(
|
||||
return TransactionListResponse(transactions=tx_responses, total=total)
|
||||
|
||||
|
||||
@store_router.post("/cards/enroll", response_model=CardResponse, status_code=201)
|
||||
@router.post("/cards/enroll", response_model=CardResponse, status_code=201)
|
||||
def enroll_customer(
|
||||
data: CardEnrollRequest,
|
||||
current_user: User = Depends(get_current_store_api),
|
||||
@@ -491,7 +491,7 @@ def enroll_customer(
|
||||
)
|
||||
|
||||
|
||||
@store_router.get("/cards/{card_id}/transactions", response_model=TransactionListResponse)
|
||||
@router.get("/cards/{card_id}/transactions", response_model=TransactionListResponse)
|
||||
def get_card_transactions(
|
||||
card_id: int = Path(..., gt=0),
|
||||
skip: int = Query(0, ge=0),
|
||||
@@ -520,7 +520,7 @@ def get_card_transactions(
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@store_router.post("/stamp", response_model=StampResponse)
|
||||
@router.post("/stamp", response_model=StampResponse)
|
||||
def add_stamp(
|
||||
request: Request,
|
||||
data: StampRequest,
|
||||
@@ -546,7 +546,7 @@ def add_stamp(
|
||||
return StampResponse(**result)
|
||||
|
||||
|
||||
@store_router.post("/stamp/redeem", response_model=StampRedeemResponse)
|
||||
@router.post("/stamp/redeem", response_model=StampRedeemResponse)
|
||||
def redeem_stamps(
|
||||
request: Request,
|
||||
data: StampRedeemRequest,
|
||||
@@ -572,7 +572,7 @@ def redeem_stamps(
|
||||
return StampRedeemResponse(**result)
|
||||
|
||||
|
||||
@store_router.post("/stamp/void", response_model=StampVoidResponse)
|
||||
@router.post("/stamp/void", response_model=StampVoidResponse)
|
||||
def void_stamps(
|
||||
request: Request,
|
||||
data: StampVoidRequest,
|
||||
@@ -605,7 +605,7 @@ def void_stamps(
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@store_router.post("/points/earn", response_model=PointsEarnResponse)
|
||||
@router.post("/points/earn", response_model=PointsEarnResponse)
|
||||
def earn_points(
|
||||
request: Request,
|
||||
data: PointsEarnRequest,
|
||||
@@ -633,7 +633,7 @@ def earn_points(
|
||||
return PointsEarnResponse(**result)
|
||||
|
||||
|
||||
@store_router.post("/points/redeem", response_model=PointsRedeemResponse)
|
||||
@router.post("/points/redeem", response_model=PointsRedeemResponse)
|
||||
def redeem_points(
|
||||
request: Request,
|
||||
data: PointsRedeemRequest,
|
||||
@@ -660,7 +660,7 @@ def redeem_points(
|
||||
return PointsRedeemResponse(**result)
|
||||
|
||||
|
||||
@store_router.post("/points/void", response_model=PointsVoidResponse)
|
||||
@router.post("/points/void", response_model=PointsVoidResponse)
|
||||
def void_points(
|
||||
request: Request,
|
||||
data: PointsVoidRequest,
|
||||
@@ -689,7 +689,7 @@ def void_points(
|
||||
return PointsVoidResponse(**result)
|
||||
|
||||
|
||||
@store_router.post("/cards/{card_id}/points/adjust", response_model=PointsAdjustResponse)
|
||||
@router.post("/cards/{card_id}/points/adjust", response_model=PointsAdjustResponse)
|
||||
def adjust_points(
|
||||
request: Request,
|
||||
data: PointsAdjustRequest,
|
||||
|
||||
Reference in New Issue
Block a user