Fix data fetch 6

This commit is contained in:
Urtzi Alfaro
2025-07-27 21:44:18 +02:00
parent 938fd24e3a
commit 0201b428e5
4 changed files with 8 additions and 8 deletions

View File

@@ -82,7 +82,7 @@ async def get_historical_traffic(
if request.end_date <= request.start_date:
raise HTTPException(status_code=400, detail="End date must be after start date")
if (request.end_date - request.start_date).days > 90:
if (request.end_date - request.start_date).days > 1000:
raise HTTPException(status_code=400, detail="Date range cannot exceed 90 days")
historical_data = await traffic_service.get_historical_traffic(

View File

@@ -128,7 +128,7 @@ async def get_historical_weather(
if request.end_date <= request.start_date:
raise HTTPException(status_code=400, detail="End date must be after start date")
if (request.end_date - request.start_date).days > 90:
if (request.end_date - request.start_date).days > 1000:
raise HTTPException(status_code=400, detail="Date range cannot exceed 90 days")
historical_data = await weather_service.get_historical_weather(

View File

@@ -15,14 +15,14 @@ class TrafficData(Base):
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
location_id = Column(String(100), nullable=False, index=True)
date = Column(DateTime, nullable=False, index=True)
date = Column(DateTime(timezone=True), nullable=False, index=True)
traffic_volume = Column(Integer, nullable=True) # vehicles per hour
pedestrian_count = Column(Integer, nullable=True) # pedestrians per hour
congestion_level = Column(String(20), nullable=True) # low/medium/high
average_speed = Column(Float, nullable=True) # km/h
source = Column(String(50), nullable=False, default="madrid_opendata")
raw_data = Column(Text, nullable=True)
created_at = Column(DateTime, default=datetime.utcnow)
created_at = Column(DateTime(timezone=True), default=datetime.utcnow)
__table_args__ = (
Index('idx_traffic_location_date', 'location_id', 'date'),

View File

@@ -15,7 +15,7 @@ class WeatherData(Base):
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
location_id = Column(String(100), nullable=False, index=True)
date = Column(DateTime, nullable=False, index=True)
date = Column(DateTime(timezone=True), nullable=False, index=True)
temperature = Column(Float, nullable=True) # Celsius
precipitation = Column(Float, nullable=True) # mm
humidity = Column(Float, nullable=True) # percentage
@@ -24,7 +24,7 @@ class WeatherData(Base):
description = Column(String(200), nullable=True)
source = Column(String(50), nullable=False, default="aemet")
raw_data = Column(Text, nullable=True)
created_at = Column(DateTime, default=datetime.utcnow)
created_at = Column(DateTime(timezone=True), default=datetime.utcnow)
__table_args__ = (
Index('idx_weather_location_date', 'location_id', 'date'),
@@ -35,8 +35,8 @@ class WeatherForecast(Base):
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
location_id = Column(String(100), nullable=False, index=True)
forecast_date = Column(DateTime, nullable=False)
generated_at = Column(DateTime, nullable=False, default=datetime.utcnow)
forecast_date = Column(DateTime(timezone=True), nullable=False)
generated_at = Column(DateTime(timezone=True), nullable=False, default=datetime.utcnow)
temperature = Column(Float, nullable=True)
precipitation = Column(Float, nullable=True)
humidity = Column(Float, nullable=True)