aboutsummaryrefslogtreecommitdiff
path: root/src/db/payments.rs
diff options
context:
space:
mode:
authorJoris Guyonvarch2026-04-17 23:43:24 +0200
committerJoris Guyonvarch2026-04-17 23:43:24 +0200
commitb35589eb90f2e5ee5521964e64eb578e9eb99032 (patch)
tree7ccfc7e0ef37c8d30a017c302fdd2f70d4bc1db5 /src/db/payments.rs
parent648d073e1b8f4838f147c0520024bd453921a25c (diff)
Upgrade dependencies
Diffstat (limited to 'src/db/payments.rs')
-rw-r--r--src/db/payments.rs78
1 files changed, 36 insertions, 42 deletions
diff --git a/src/db/payments.rs b/src/db/payments.rs
index 23b4d2f..a46db05 100644
--- a/src/db/payments.rs
+++ b/src/db/payments.rs
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use std::iter::FromIterator;
use tokio_rusqlite::{
- named_params, params_from_iter, types::ToSql, Connection, Row,
+ Connection, Row, named_params, params_from_iter, types::ToSql,
};
use crate::db::utils;
@@ -121,10 +121,8 @@ pub async fn list_for_table(
let res = conn
.call(move |conn| {
let mut stmt = conn.prepare(&query)?;
- let payments = stmt
- .query_map(params_from_iter(params), row_to_table)?
- .collect::<Result<Vec<payment::Table>, _>>()?;
- Ok(payments)
+ stmt.query_map(params_from_iter(params), row_to_table)?
+ .collect::<Result<Vec<payment::Table>, _>>()
})
.await;
@@ -177,17 +175,17 @@ fn complete_name(
query: &mut String,
params: &mut Vec<Box<dyn ToSql + Send>>,
) {
- if let Some(name) = name {
- if !name.is_empty() {
- query.push_str(
- format!(
- "AND {} LIKE ?",
- utils::format_key_for_search("payments.name")
- )
- .as_str(),
- );
- params.push(Box::new(text::format_search(&name)));
- }
+ if let Some(name) = name
+ && !name.is_empty()
+ {
+ query.push_str(
+ format!(
+ "AND {} LIKE ?",
+ utils::format_key_for_search("payments.name")
+ )
+ .as_str(),
+ );
+ params.push(Box::new(text::format_search(&name)));
}
}
@@ -196,11 +194,11 @@ fn complete_cost(
query: &mut String,
params: &mut Vec<Box<dyn ToSql + Send>>,
) {
- if let Some(cost) = cost {
- if !cost.is_empty() {
- query.push_str("AND payments.cost = ?");
- params.push(Box::new(cost))
- }
+ if let Some(cost) = cost
+ && !cost.is_empty()
+ {
+ query.push_str("AND payments.cost = ?");
+ params.push(Box::new(cost))
}
}
@@ -232,11 +230,11 @@ fn complete_date(
query: &mut String,
params: &mut Vec<Box<dyn ToSql + Send>>,
) {
- if let Some(date) = date {
- if !date.is_empty() {
- query.push_str(format!("AND {name_and_op} ?").as_str());
- params.push(Box::new(date));
- }
+ if let Some(date) = date
+ && !date.is_empty()
+ {
+ query.push_str(format!("AND {name_and_op} ?").as_str());
+ params.push(Box::new(date));
}
}
@@ -259,10 +257,8 @@ pub async fn list_for_stats(conn: &Connection) -> Vec<payment::Stat> {
let res = conn
.call(move |conn| {
let mut stmt = conn.prepare(query)?;
- let payments = stmt
- .query_map([], row_to_stat)?
- .collect::<Result<Vec<payment::Stat>, _>>()?;
- Ok(payments)
+ stmt.query_map([], row_to_stat)?
+ .collect::<Result<Vec<payment::Stat>, _>>()
})
.await;
@@ -350,7 +346,7 @@ pub async fn create(conn: &Connection, p: payment::Create) -> Option<i64> {
VALUES (:name, :cost, :user_id, :category_id, :date, :frequency)
"#;
- let res = conn
+ let res: Result<_, tokio_rusqlite::Error<rusqlite::Error>> = conn
.call(move |conn| {
conn.execute(
query,
@@ -391,7 +387,7 @@ pub async fn update(conn: &Connection, id: i64, p: payment::Update) -> bool {
let res = conn
.call(move |conn| {
- Ok(conn.execute(
+ conn.execute(
query,
named_params![
":name": p.name,
@@ -401,7 +397,7 @@ pub async fn update(conn: &Connection, id: i64, p: payment::Update) -> bool {
":date": p.date,
":id": id
],
- )?)
+ )
})
.await;
@@ -418,7 +414,7 @@ pub async fn delete(conn: &Connection, id: i64) -> bool {
let query = r#"UPDATE payments SET deleted_at = datetime() WHERE id = :id"#;
let res = conn
- .call(move |conn| Ok(conn.execute(query, named_params![":id": id])?))
+ .call(move |conn| conn.execute(query, named_params![":id": id]))
.await;
match res {
@@ -448,7 +444,7 @@ pub async fn search_category(
let payment_name_closure = payment_name.clone();
- let res = conn
+ let res: Result<_, tokio_rusqlite::Error<rusqlite::Error>> = conn
.call(move |conn| {
let mut stmt = conn.prepare(&query)?;
let mut iter = stmt.query_map(
@@ -461,7 +457,7 @@ pub async fn search_category(
match res {
Ok(category) => Some(category),
- Err(tokio_rusqlite::Error::Rusqlite(
+ Err(tokio_rusqlite::Error::Error(
rusqlite::Error::QueryReturnedNoRows,
)) => None,
Err(err) => {
@@ -488,7 +484,7 @@ pub async fn is_category_used(conn: &Connection, category_id: i64) -> bool {
let res = conn
.call(move |conn| {
let mut stmt = conn.prepare(query)?;
- Ok(stmt.exists(named_params![":category_id": category_id])?)
+ stmt.exists(named_params![":category_id": category_id])
})
.await;
@@ -527,10 +523,8 @@ pub async fn repartition(conn: &Connection) -> HashMap<i64, i64> {
let res = conn
.call(move |conn| {
let mut stmt = conn.prepare(query)?;
- let payments = stmt
- .query_map([], |row| Ok((row.get(0)?, row.get(1)?)))?
- .collect::<Result<Vec<(i64, i64)>, _>>()?;
- Ok(payments)
+ stmt.query_map([], |row| Ok((row.get(0)?, row.get(1)?)))?
+ .collect::<Result<Vec<(i64, i64)>, _>>()
})
.await;
@@ -559,7 +553,7 @@ pub async fn create_monthly_payments(conn: &Connection) {
AND deleted_at IS NULL
"#;
- let res = conn.call(move |conn| Ok(conn.execute(query, [])?)).await;
+ let res = conn.call(move |conn| conn.execute(query, [])).await;
match res {
Ok(_) => (),