stability and vps runtime updates
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Роуты запуска задач синхронизации и просмотра истории sync-runs.
|
||||
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, field_validator
|
||||
from sqlalchemy import select, func
|
||||
|
||||
from ..deps import get_persistence
|
||||
@@ -17,6 +17,22 @@ class SyncVehicleRequest(BaseModel):
|
||||
vehicle_url: str
|
||||
lane: str = "iaai"
|
||||
|
||||
@field_validator("vehicle_url")
|
||||
@classmethod
|
||||
def validate_vehicle_url(cls, value: str) -> str:
|
||||
cleaned = (value or "").strip()
|
||||
if not cleaned:
|
||||
raise ValueError("vehicle_url must not be empty")
|
||||
return cleaned
|
||||
|
||||
@field_validator("lane")
|
||||
@classmethod
|
||||
def validate_vehicle_lane(cls, value: str) -> str:
|
||||
cleaned = (value or "").strip()
|
||||
if not cleaned:
|
||||
return "iaai"
|
||||
return cleaned
|
||||
|
||||
|
||||
class SyncListingRequest(BaseModel):
|
||||
make: str | None = None
|
||||
@@ -25,6 +41,22 @@ class SyncListingRequest(BaseModel):
|
||||
limit: int | None = None
|
||||
only_new: bool | None = None
|
||||
|
||||
@field_validator("make", "model", mode="before")
|
||||
@classmethod
|
||||
def normalize_optional_filters(cls, value: str | None):
|
||||
if value is None:
|
||||
return None
|
||||
cleaned = str(value).strip()
|
||||
return cleaned or None
|
||||
|
||||
@field_validator("lane")
|
||||
@classmethod
|
||||
def validate_listing_lane(cls, value: str) -> str:
|
||||
cleaned = (value or "").strip()
|
||||
if not cleaned:
|
||||
return "iaai_cars"
|
||||
return cleaned
|
||||
|
||||
|
||||
@router.post("/tasks/sync-vehicle")
|
||||
def start_sync_vehicle(
|
||||
|
||||
Reference in New Issue
Block a user