feat(api): accept mineVehicles on vehicle-recharge-apply endpoints
Wire query param through list/get/create/update/submit/cancel for mini-program scope. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
0d2c5a2048
commit
0a9d5ba2ed
1 file changed
+25
-5
@@ -51,6 +51,14 @@ def _param_get(params: dict, *keys: str) -> Any:
|
||||
return None
|
||||
|
||||
|
||||
def _as_bool(value: Any) -> bool:
|
||||
if isinstance(value, bool):
|
||||
return value
|
||||
if value is None:
|
||||
return False
|
||||
return str(value).strip().lower() in {"1", "true", "yes", "y"}
|
||||
|
||||
|
||||
def _body_to_params(body: BaseModel) -> dict:
|
||||
data = body.model_dump(by_alias=True, exclude_none=True)
|
||||
for key in ("ids", "columns"):
|
||||
@@ -76,6 +84,7 @@ def _apply_list_kwargs(params: dict) -> dict:
|
||||
applicant_id=_param_get(params, "applicantId", "applicant_id"),
|
||||
sort_field=_param_get(params, "sortField", "sort_field"),
|
||||
sort_order=_param_get(params, "sortOrder", "sort_order"),
|
||||
mine_vehicles=_as_bool(_param_get(params, "mineVehicles", "mine_vehicles")),
|
||||
)
|
||||
|
||||
|
||||
@@ -106,6 +115,7 @@ def list_applies(
|
||||
apply_date_from: Optional[date] = Query(default=None, alias="applyDateFrom"),
|
||||
apply_date_to: Optional[date] = Query(default=None, alias="applyDateTo"),
|
||||
applicant_id: Optional[str] = Query(default=None, alias="applicantId"),
|
||||
mine_vehicles: Optional[bool] = Query(default=None, alias="mineVehicles"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -120,6 +130,7 @@ def list_applies(
|
||||
applyDateFrom=apply_date_from,
|
||||
applyDateTo=apply_date_to,
|
||||
applicantId=applicant_id,
|
||||
mineVehicles=mine_vehicles,
|
||||
)
|
||||
items, total = svc.list_applies(
|
||||
db,
|
||||
@@ -209,52 +220,61 @@ def export_recharge_applies(
|
||||
@apply_router.get("/{id}", response_model=VehicleRechargeApplyRead)
|
||||
def get_apply(
|
||||
id: str,
|
||||
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return svc.get_apply(db, tenant_no, user, id)
|
||||
return svc.get_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
|
||||
|
||||
|
||||
@apply_router.post("/{id}/submit", response_model=VehicleRechargeApplyRead)
|
||||
def submit_apply(
|
||||
id: str,
|
||||
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return svc.submit_apply(db, tenant_no, user, id)
|
||||
return svc.submit_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
|
||||
|
||||
|
||||
@apply_router.post("/", response_model=VehicleRechargeApplyRead, status_code=status.HTTP_201_CREATED)
|
||||
def create_apply(
|
||||
payload: VehicleRechargeApplyCreate,
|
||||
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return svc.create_apply(db, tenant_no, user, payload)
|
||||
return svc.create_apply(
|
||||
db, tenant_no, user, payload, mine_vehicles=mine_vehicles
|
||||
)
|
||||
|
||||
|
||||
@apply_router.put("/{id}", response_model=VehicleRechargeApplyRead)
|
||||
def update_apply(
|
||||
id: str,
|
||||
payload: VehicleRechargeApplyUpdate,
|
||||
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return svc.update_apply(db, tenant_no, user, id, payload)
|
||||
return svc.update_apply(
|
||||
db, tenant_no, user, id, payload, mine_vehicles=mine_vehicles
|
||||
)
|
||||
|
||||
|
||||
@apply_router.post("/{id}/cancel", response_model=VehicleRechargeApplyRead)
|
||||
def cancel_apply(
|
||||
id: str,
|
||||
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return svc.cancel_apply(db, tenant_no, user, id)
|
||||
return svc.cancel_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
|
||||
|
||||
|
||||
@apply_router.delete("/{ids}", status_code=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
Reference in new issue
Block a user