From 828b9ae9f6217f7e5e97ec704134c786dd401bad Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Wed, 30 Oct 2024 07:27:13 +0000 Subject: Separates date_utc and datetime_utc --- .../core/src/queries/budget_updates/get_first_with_date.rs | 13 +++++++------ .../budget_updates/get_most_recent_with_category_id.rs | 8 ++++---- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'backend/core/src/queries/budget_updates') diff --git a/backend/core/src/queries/budget_updates/get_first_with_date.rs b/backend/core/src/queries/budget_updates/get_first_with_date.rs index 1df3ae2..0d5b2e1 100644 --- a/backend/core/src/queries/budget_updates/get_first_with_date.rs +++ b/backend/core/src/queries/budget_updates/get_first_with_date.rs @@ -1,22 +1,23 @@ use anyhow::{Context, Result}; use crate::{ - models::budget_update::BudgetUpdate, + models::{budget_update::BudgetUpdate, date_utc::DateUtc}, schema::budget_updates::{ self as budget_updates_schema, dsl::budget_updates as budget_updates_table, }, }; use diesel::{ - ExpressionMethods, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection, + ExpressionMethods, OptionalExtension, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection }; pub fn get_first_budget_update_with_date( - date: &str, + date: &DateUtc, connection: &mut SqliteConnection, -) -> Result { +) -> Result> { let first_budget_update = budget_updates_table .select(BudgetUpdate::as_select()) - .filter(budget_updates_schema::date.eq(date)) + .filter(budget_updates_schema::date.eq(date.to_string())) .first(connection) - .with_context(|| format!("failed to get first budget update with date {}", date))?; + .optional() + .with_context(|| format!("failed to get first budget update with date {}", date.to_string()))?; Ok(first_budget_update) } diff --git a/backend/core/src/queries/budget_updates/get_most_recent_with_category_id.rs b/backend/core/src/queries/budget_updates/get_most_recent_with_category_id.rs index 4e13c50..41ef5ec 100644 --- a/backend/core/src/queries/budget_updates/get_most_recent_with_category_id.rs +++ b/backend/core/src/queries/budget_updates/get_most_recent_with_category_id.rs @@ -1,20 +1,20 @@ use anyhow::{Context, Result}; use crate::{ - models::date_time_utc::DateTimeUtc, + models::date_utc::DateUtc, schema::budget_updates::{ self as budget_updates_schema, dsl::budget_updates as budget_updates_table, - }, + }, traits::nowlike::Nowlike, }; use diesel::{dsl::max, ExpressionMethods, QueryDsl, RunQueryDsl, SqliteConnection}; pub fn get_most_recent_budget_update_date_with_category_id( category_id: i32, connection: &mut SqliteConnection, -) -> Result> { +) -> Result> { let most_recent_date = budget_updates_table .select(max(budget_updates_schema::date)) .filter(budget_updates_schema::category_id.eq(category_id)) - .filter(budget_updates_schema::date.le(DateTimeUtc::now().to_day_str())) + .filter(budget_updates_schema::date.le(DateUtc::now())) .first(connection) .with_context(|| format!("failed to get most recent budget update date with category ID {}", category_id))?; Ok(most_recent_date) -- cgit v1.2.3