From 8f9977465b3223359253e5dc27781b3067af75f6 Mon Sep 17 00:00:00 2001 From: Eric Boucher Date: Sun, 24 Apr 2022 11:51:12 -0400 Subject: [PATCH] Limit latest_data to 7 days --- .../api/src/time-series/latest-data.entity.ts | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/api/src/time-series/latest-data.entity.ts b/packages/api/src/time-series/latest-data.entity.ts index 42e0a8f56..23470ec72 100644 --- a/packages/api/src/time-series/latest-data.entity.ts +++ b/packages/api/src/time-series/latest-data.entity.ts @@ -15,23 +15,21 @@ import { TimeSeries } from './time-series.entity'; @ViewEntity({ expression: (connection: Connection) => { - return ( - connection - .createQueryBuilder() - .select( - 'DISTINCT ON (metric, type, site_id, survey_point_id) time_series.id', - ) - .addSelect('metric') - .addSelect('timestamp') - .addSelect('value') - .addSelect('type', 'source') - .addSelect('site_id') - .addSelect('survey_point_id') - .from(TimeSeries, 'time_series') - // TODO limit to 30 days to make it faster - .innerJoin('sources', 'sources', 'sources.id = time_series.source_id') - .orderBy('metric, type, site_id, survey_point_id, timestamp', 'DESC') - ); + return connection + .createQueryBuilder() + .select( + 'DISTINCT ON (metric, type, site_id, survey_point_id) time_series.id', + ) + .addSelect('metric') + .addSelect('timestamp') + .addSelect('value') + .addSelect('type', 'source') + .addSelect('site_id') + .addSelect('survey_point_id') + .from(TimeSeries, 'time_series') + .where("timestamp > current_date - interval '7' day;") + .innerJoin('sources', 'sources', 'sources.id = time_series.source_id') + .orderBy('metric, type, site_id, survey_point_id, timestamp', 'DESC'); }, materialized: true, })