11use std:: collections:: BTreeMap ;
22use std:: fmt:: { Debug , Display } ;
33
4- use crate :: utils :: { validate , TimeExt } ;
5- use crate :: { app :: DuckDBConn , utils:: Timestamp } ;
4+ use crate :: app :: DuckDBConn ;
5+ use crate :: utils:: validate ;
66use duckdb:: params;
77use eyre:: Result ;
88use itertools:: Itertools ;
99use poem_openapi:: { Enum , Object } ;
10+ use time:: OffsetDateTime ;
1011
1112// TODO: more fine-grained caching (e.g. don't cache for short durations/ending in now)
1213// use cached::proc_macro::cached;
@@ -17,8 +18,8 @@ use poem_openapi::{Enum, Object};
1718
1819#[ derive( Object ) ]
1920pub struct DateRange {
20- pub start : Timestamp ,
21- pub end : Timestamp ,
21+ pub start : OffsetDateTime ,
22+ pub end : OffsetDateTime ,
2223}
2324
2425impl Display for DateRange {
@@ -204,8 +205,7 @@ pub fn overall_report(
204205 " ) ;
205206
206207 let mut stmt = conn. prepare_cached ( & query) ?;
207- let params =
208- params ! [ range. start. to_time( ) , range. end. to_time( ) , data_points, data_points, event, range. end. to_time( ) ] ;
208+ let params = params ! [ range. start, range. end, data_points, data_points, event, range. end] ;
209209
210210 match metric {
211211 Metric :: Views | Metric :: UniqueVisitors | Metric :: Sessions => {
@@ -280,7 +280,7 @@ pub fn overall_stats(
280280 " ) ;
281281
282282 let mut stmt = conn. prepare_cached ( & query) ?;
283- let params = params ! [ range. start. to_time ( ) , range. end. to_time ( ) , event] ;
283+ let params = params ! [ range. start, range. end, event] ;
284284
285285 let result = stmt. query_row ( duckdb:: params_from_iter ( params) , |row| {
286286 Ok ( ReportStats {
@@ -365,7 +365,7 @@ pub fn dimension_report(
365365 ) ;
366366
367367 let mut stmt = conn. prepare_cached ( & query) ?;
368- let params = params ! [ range. start. to_time ( ) , range. end. to_time ( ) , event] ;
368+ let params = params ! [ range. start, range. end, event] ;
369369
370370 match metric {
371371 Metric :: Views | Metric :: UniqueVisitors | Metric :: Sessions => {
0 commit comments