stability and vps runtime updates

This commit is contained in:
qananasikq
2026-04-23 20:07:12 +03:00
parent 6aba4f0dbd
commit 86ade31f54
13 changed files with 509 additions and 82 deletions

View File

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