Fix data fetch 6
This commit is contained in:
@@ -82,7 +82,7 @@ async def get_historical_traffic(
|
|||||||
if request.end_date <= request.start_date:
|
if request.end_date <= request.start_date:
|
||||||
raise HTTPException(status_code=400, detail="End date must be after 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")
|
raise HTTPException(status_code=400, detail="Date range cannot exceed 90 days")
|
||||||
|
|
||||||
historical_data = await traffic_service.get_historical_traffic(
|
historical_data = await traffic_service.get_historical_traffic(
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ async def get_historical_weather(
|
|||||||
if request.end_date <= request.start_date:
|
if request.end_date <= request.start_date:
|
||||||
raise HTTPException(status_code=400, detail="End date must be after 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")
|
raise HTTPException(status_code=400, detail="Date range cannot exceed 90 days")
|
||||||
|
|
||||||
historical_data = await weather_service.get_historical_weather(
|
historical_data = await weather_service.get_historical_weather(
|
||||||
|
|||||||
@@ -15,14 +15,14 @@ class TrafficData(Base):
|
|||||||
|
|
||||||
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||||
location_id = Column(String(100), nullable=False, index=True)
|
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
|
traffic_volume = Column(Integer, nullable=True) # vehicles per hour
|
||||||
pedestrian_count = Column(Integer, nullable=True) # pedestrians per hour
|
pedestrian_count = Column(Integer, nullable=True) # pedestrians per hour
|
||||||
congestion_level = Column(String(20), nullable=True) # low/medium/high
|
congestion_level = Column(String(20), nullable=True) # low/medium/high
|
||||||
average_speed = Column(Float, nullable=True) # km/h
|
average_speed = Column(Float, nullable=True) # km/h
|
||||||
source = Column(String(50), nullable=False, default="madrid_opendata")
|
source = Column(String(50), nullable=False, default="madrid_opendata")
|
||||||
raw_data = Column(Text, nullable=True)
|
raw_data = Column(Text, nullable=True)
|
||||||
created_at = Column(DateTime, default=datetime.utcnow)
|
created_at = Column(DateTime(timezone=True), default=datetime.utcnow)
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
Index('idx_traffic_location_date', 'location_id', 'date'),
|
Index('idx_traffic_location_date', 'location_id', 'date'),
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class WeatherData(Base):
|
|||||||
|
|
||||||
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||||
location_id = Column(String(100), nullable=False, index=True)
|
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
|
temperature = Column(Float, nullable=True) # Celsius
|
||||||
precipitation = Column(Float, nullable=True) # mm
|
precipitation = Column(Float, nullable=True) # mm
|
||||||
humidity = Column(Float, nullable=True) # percentage
|
humidity = Column(Float, nullable=True) # percentage
|
||||||
@@ -24,7 +24,7 @@ class WeatherData(Base):
|
|||||||
description = Column(String(200), nullable=True)
|
description = Column(String(200), nullable=True)
|
||||||
source = Column(String(50), nullable=False, default="aemet")
|
source = Column(String(50), nullable=False, default="aemet")
|
||||||
raw_data = Column(Text, nullable=True)
|
raw_data = Column(Text, nullable=True)
|
||||||
created_at = Column(DateTime, default=datetime.utcnow)
|
created_at = Column(DateTime(timezone=True), default=datetime.utcnow)
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
Index('idx_weather_location_date', 'location_id', 'date'),
|
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)
|
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||||
location_id = Column(String(100), nullable=False, index=True)
|
location_id = Column(String(100), nullable=False, index=True)
|
||||||
forecast_date = Column(DateTime, nullable=False)
|
forecast_date = Column(DateTime(timezone=True), nullable=False)
|
||||||
generated_at = Column(DateTime, nullable=False, default=datetime.utcnow)
|
generated_at = Column(DateTime(timezone=True), nullable=False, default=datetime.utcnow)
|
||||||
temperature = Column(Float, nullable=True)
|
temperature = Column(Float, nullable=True)
|
||||||
precipitation = Column(Float, nullable=True)
|
precipitation = Column(Float, nullable=True)
|
||||||
humidity = Column(Float, nullable=True)
|
humidity = Column(Float, nullable=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user