diff options
Diffstat (limited to 'src/db/incomes.rs')
| -rw-r--r-- | src/db/incomes.rs | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/src/db/incomes.rs b/src/db/incomes.rs index d33cbcb..11ebb86 100644 --- a/src/db/incomes.rs +++ b/src/db/incomes.rs @@ -1,7 +1,7 @@ use chrono::NaiveDate; use std::collections::HashMap; use std::iter::FromIterator; -use tokio_rusqlite::{named_params, Connection, Row}; +use tokio_rusqlite::{Connection, Row, named_params}; use crate::db::utils; use crate::model::income::{Create, Form, Stat, Table, Update}; @@ -75,14 +75,12 @@ pub async fn list(conn: &Connection, page: i64, per_page: i64) -> Vec<Table> { let res = conn.call(move |conn| { let mut stmt = conn.prepare(query)?; - let incomes = stmt + stmt .query_map( named_params![":limit": per_page, ":offset": (page - 1) * per_page], row_to_table )? - .collect::<Result<Vec<Table>, _>>()?; - - Ok(incomes) + .collect::<Result<Vec<Table>, _>>() }) .await; @@ -164,7 +162,7 @@ pub async fn create(conn: &Connection, i: Create) -> Option<i64> { VALUES (:user_id, :date, :amount) "#; - let res = conn + let res: Result<_, tokio_rusqlite::Error<rusqlite::Error>> = conn .call(move |conn| { conn.execute( query, @@ -205,14 +203,11 @@ pub async fn defined_at( .call(move |conn| { let mut stmt = conn.prepare(query)?; - let incomes = stmt - .query_map( - named_params![":user_id": user_id, ":date": date], - |row| row.get(0), - )? - .collect::<Result<Vec<i64>, _>>()?; - - Ok(incomes) + stmt.query_map( + named_params![":user_id": user_id, ":date": date], + |row| row.get(0), + )? + .collect::<Result<Vec<i64>, _>>() }) .await; @@ -238,7 +233,7 @@ pub async fn update(conn: &Connection, id: i64, i: Update) -> bool { let res = conn .call(move |conn| { - Ok(conn.execute( + conn.execute( query, named_params![ ":user_id": i.user_id, @@ -246,7 +241,7 @@ pub async fn update(conn: &Connection, id: i64, i: Update) -> bool { ":amount": i.amount, ":id": id ], - )?) + ) }) .await; @@ -263,7 +258,7 @@ pub async fn delete(conn: &Connection, id: i64) -> bool { let query = r#"UPDATE incomes 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 { @@ -317,10 +312,8 @@ pub async fn cumulative( let res = conn .call(move |conn| { let mut stmt = conn.prepare(&cumulative_query(from))?; - let incomes = stmt - .query_map([], |row| Ok((row.get(0)?, row.get(1)?)))? - .collect::<Result<Vec<(i64, i64)>, _>>()?; - Ok(incomes) + stmt.query_map([], |row| Ok((row.get(0)?, row.get(1)?)))? + .collect::<Result<Vec<(i64, i64)>, _>>() }) .await; @@ -470,11 +463,8 @@ pub async fn total_each_month(conn: &Connection) -> Vec<Stat> { let res = conn .call(move |conn| { let mut stmt = conn.prepare(query)?; - let stats = stmt - .query_map([], row_to_stat)? - .collect::<Result<Vec<Stat>, _>>()?; - - Ok(stats) + stmt.query_map([], row_to_stat)? + .collect::<Result<Vec<Stat>, _>>() }) .await; |
