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