summaryrefslogtreecommitdiff
path: root/backend/core/src/queries/budget_updates
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-10-30 07:27:13 +0000
committerJoe Carstairs <me@joeac.net>2024-10-30 08:50:45 +0000
commit828b9ae9f6217f7e5e97ec704134c786dd401bad (patch)
treec920b8874682e89ba05b6e1ca20275bfd5878d87 /backend/core/src/queries/budget_updates
parent6e9f0069f5d1e4cfbf7f9feb8536795a78c818f6 (diff)
Separates date_utc and datetime_utc
Diffstat (limited to 'backend/core/src/queries/budget_updates')
-rw-r--r--backend/core/src/queries/budget_updates/get_first_with_date.rs13
-rw-r--r--backend/core/src/queries/budget_updates/get_most_recent_with_category_id.rs8
2 files changed, 11 insertions, 10 deletions
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<BudgetUpdate> {
+) -> Result<Option<BudgetUpdate>> {
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<Option<String>> {
+) -> Result<Option<DateUtc>> {
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)