Skip to content

Commit 49d97ca

Browse files
committed
fix: daily activity graph dates
1 parent b74d9a8 commit 49d97ca

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

rustytime/src/models/heartbeat.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use axum::http::HeaderMap;
22
use chrono::{DateTime, Datelike, NaiveDate, NaiveDateTime, TimeZone, Utc};
33
use chrono_tz::Tz;
4+
use diesel::dsl::sql;
45
use diesel::prelude::*;
56
use diesel::sql_types::{BigInt, Date, Int4, Nullable as SqlNullable, Text, Timestamptz};
67
use ipnetwork::IpNetwork;
@@ -790,12 +791,11 @@ impl Heartbeat {
790791
pub fn get_daily_activity_last_week(
791792
conn: &mut PgConnection,
792793
) -> QueryResult<Vec<DailyActivity>> {
793-
use diesel::dsl::*;
794-
use diesel::sql_types::*;
794+
let now = chrono::Utc::now();
795795

796-
let seven_days_ago = chrono::Utc::now() - chrono::Duration::days(7);
796+
let start_today = now.date_naive().and_hms_opt(0, 0, 0).unwrap();
797+
let seven_days_ago = start_today - chrono::Duration::days(7);
797798

798-
// Use Diesel's select with sql() for date functions not in DSL
799799
heartbeats::table
800800
.filter(heartbeats::time.ge(seven_days_ago))
801801
.select((sql::<Date>("DATE(time)"), sql::<BigInt>("COUNT(*)")))
@@ -814,7 +814,6 @@ impl Heartbeat {
814814
conn: &mut PgConnection,
815815
duration_input: DurationInput,
816816
) -> QueryResult<i64> {
817-
// Call database function using Diesel's define_sql_function!
818817
diesel::select(calculate_user_duration(
819818
duration_input.user_id,
820819
duration_input.start_date,

0 commit comments

Comments
 (0)