From 7372559b42f8d902901fe2007530ebaacb217d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Tue, 21 Apr 2026 14:04:47 +0200 Subject: [PATCH] Return by default only a window of 7 days of data in the aggregation and list endpoints --- .../routers/data/aggregate_analysis.py | 7 +++---- .../routers/data/aggregate_observations.py | 4 ++-- .../oonimeasurements/routers/data/list_analysis.py | 4 ++-- .../routers/data/list_observations.py | 11 ++++++++--- .../src/oonimeasurements/routers/data/utils.py | 5 +++++ 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_analysis.py b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_analysis.py index f092a6545..c4299229b 100644 --- a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_analysis.py +++ b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_analysis.py @@ -15,10 +15,9 @@ from ...utils.api import ProbeASNOrNone, ProbeCCOrNone from .list_analysis import ( SinceUntil, - utc_30_days_ago, utc_today, ) -from .utils import TimeGrains, get_measurement_start_day_agg, parse_probe_asn_to_int +from .utils import TimeGrains, get_measurement_start_day_agg, parse_probe_asn_to_int, utc_7_days_ago router = APIRouter() @@ -303,7 +302,7 @@ async def get_aggregation_analysis( probe_asn: ProbeASNOrNone = None, probe_cc: ProbeCCOrNone = None, ooni_run_link_id: Annotated[Optional[str], Query()] = None, - since: SinceUntil = utc_30_days_ago(), + since: SinceUntil = utc_7_days_ago(), until: SinceUntil = utc_today(), time_grain: Annotated[TimeGrains, Query()] = "day", anomaly_sensitivity: Annotated[float, Query()] = 0.9, @@ -522,7 +521,7 @@ async def list_changepoints( probe_asn: ProbeASNOrNone = None, probe_cc: ProbeCCOrNone = None, domain: str | None = Query(default=None), - since: SinceUntil = utc_30_days_ago(), + since: SinceUntil = utc_7_days_ago(), until: SinceUntil = utc_today(), ) -> ListChangePointsResponse: conditions = [] diff --git a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_observations.py b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_observations.py index 65f3e13ba..174fd04c4 100644 --- a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_observations.py +++ b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/aggregate_observations.py @@ -11,7 +11,7 @@ SinceUntil, TimeGrains, get_measurement_start_day_agg, - utc_30_days_ago, + utc_7_days_ago, utc_today, ) @@ -64,7 +64,7 @@ async def get_aggregation_observations( probe_cc: Annotated[List[str] | None, Query()] = None, ip: Annotated[List[str] | None, Query()] = None, ooni_run_link_id: Annotated[Optional[str], Query()] = None, - since: SinceUntil = utc_30_days_ago(), + since: SinceUntil = utc_7_days_ago(), until: SinceUntil = utc_today(), time_grain: Annotated[TimeGrains, Query()] = "day", db=Depends(get_clickhouse_session), diff --git a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_analysis.py b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_analysis.py index c79f437b9..1df58ef15 100644 --- a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_analysis.py +++ b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_analysis.py @@ -14,7 +14,7 @@ from .utils import ( SinceUntil, parse_probe_asn_to_int, - utc_30_days_ago, + utc_7_days_ago, utc_today, ) @@ -73,7 +73,7 @@ async def list_measurements( probe_asn: Annotated[Union[int, str, None], Query()] = None, probe_cc: Annotated[Optional[str], Query(max_length=2, min_length=2)] = None, test_name: Annotated[Optional[str], Query()] = None, - since: SinceUntil = utc_30_days_ago(), + since: SinceUntil = utc_7_days_ago(), until: SinceUntil = utc_today(), order_by: Annotated[ Literal[ diff --git a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_observations.py b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_observations.py index 661f5b234..49a808690 100644 --- a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_observations.py +++ b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/list_observations.py @@ -10,7 +10,12 @@ from ...common.clickhouse_utils import async_query_click from ...common.dependencies import get_clickhouse_session, get_settings -from .utils import parse_probe_asn_to_int +from .utils import ( + SinceUntil, + parse_probe_asn_to_int, + utc_7_days_ago, + utc_today, +) router = APIRouter() @@ -171,8 +176,8 @@ async def list_observations( probe_asn: Annotated[Union[int, str, None], Query()] = None, probe_cc: Annotated[Optional[str], Query(max_length=2, min_length=2)] = None, test_name: Annotated[Optional[str], Query()] = None, - since: Annotated[Optional[date], Query()] = None, - until: Annotated[Optional[date], Query()] = None, + since: SinceUntil = utc_7_days_ago(), + until: SinceUntil = utc_today(), order_by: Annotated[ Literal[ "measurement_start_time", diff --git a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/utils.py b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/utils.py index 68ed0f2dc..b772fc84f 100644 --- a/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/utils.py +++ b/ooniapi/services/oonimeasurements/src/oonimeasurements/routers/data/utils.py @@ -41,6 +41,11 @@ def utc_30_days_ago(): datetime.now(timezone.utc) - timedelta(days=30), datetime.min.time() ).replace(tzinfo=None) +def utc_7_days_ago(): + return datetime.combine( + datetime.now(timezone.utc) - timedelta(days=7), datetime.min.time() + ).replace(tzinfo=None) + def utc_today(): return datetime.combine(datetime.now(timezone.utc), datetime.min.time()).replace(