37 lines
869 B
Python
37 lines
869 B
Python
# services/external/app/schemas/city_data.py
|
|
"""
|
|
City Data Schemas - New response types for city-based operations
|
|
"""
|
|
|
|
from pydantic import BaseModel, Field
|
|
from typing import Optional
|
|
|
|
|
|
class CityInfoResponse(BaseModel):
|
|
"""Information about a supported city"""
|
|
city_id: str
|
|
name: str
|
|
country: str
|
|
latitude: float
|
|
longitude: float
|
|
radius_km: float
|
|
weather_provider: str
|
|
traffic_provider: str
|
|
enabled: bool
|
|
|
|
|
|
class DataAvailabilityResponse(BaseModel):
|
|
"""Data availability for a city"""
|
|
city_id: str
|
|
city_name: str
|
|
|
|
weather_available: bool
|
|
weather_start_date: Optional[str] = None
|
|
weather_end_date: Optional[str] = None
|
|
weather_record_count: int = 0
|
|
|
|
traffic_available: bool
|
|
traffic_start_date: Optional[str] = None
|
|
traffic_end_date: Optional[str] = None
|
|
traffic_record_count: int = 0
|