summaryrefslogtreecommitdiff
path: root/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.rs')
-rw-r--r--src/db.rs43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/db.rs b/src/db.rs
index f3a261c..548ca99 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -1,14 +1,13 @@
use crate::error::Error;
use crate::models;
use bcrypt;
+use chrono::DateTime;
+use chrono::Utc;
use diesel::connection::Connection;
use diesel::pg::PgConnection;
use diesel::ExpressionMethods;
use diesel::QueryDsl;
use diesel::RunQueryDsl;
-use std::time::Duration;
-use chrono::DateTime;
-use chrono::Utc;
pub const COST: u32 = 10;
@@ -102,9 +101,7 @@ pub fn get_strava_token(
Ok(token)
}
-pub fn insert_task(
- conn: &PgConnection,
- task: &models::NewTask) -> Result<i64, Error> {
+pub fn insert_task(conn: &PgConnection, task: &models::NewTask) -> Result<i64, Error> {
use crate::schema::tasks;
let id = diesel::insert_into(tasks::table)
.values(task)
@@ -113,38 +110,36 @@ pub fn insert_task(
Ok(id)
}
-fn update_task_inner(conn: &PgConnection, task: &models::Task)
- -> Result<models::Task, Error> {
+fn update_task_inner(conn: &PgConnection, task: &models::Task) -> Result<models::Task, Error> {
use crate::schema::tasks;
- diesel::delete(tasks::table.filter(tasks::columns::id.eq(task.id)))
- .execute(conn)?;
+ diesel::delete(tasks::table.filter(tasks::columns::id.eq(task.id))).execute(conn)?;
- let new_id = insert_task(conn, &models::NewTask {
- start_at: task.start_at,
- state: task.state,
- username: &task.username,
- payload: &task.payload,
- })?;
+ let new_id = insert_task(
+ conn,
+ &models::NewTask {
+ start_at: task.start_at,
+ state: task.state,
+ username: &task.username,
+ payload: &task.payload,
+ },
+ )?;
- let new_task = tasks::table.find(new_id)
- .get_result::<models::Task>(conn)?;
+ let new_task = tasks::table.find(new_id).get_result::<models::Task>(conn)?;
Ok(new_task)
}
-fn update_task(conn: &PgConnection, task: &models::Task) -> Result<models::Task, Error> {
- conn.transaction(|| {
- update_task_inner(conn, task)
- })
+pub fn update_task(conn: &PgConnection, task: &models::Task) -> Result<models::Task, Error> {
+ conn.transaction(|| update_task_inner(conn, task))
}
pub fn take_task(
conn: &PgConnection,
state: models::TaskState,
start_before: DateTime<Utc>,
- eta: DateTime<Utc>)
- -> Result<models::Task, Error> {
+ eta: DateTime<Utc>,
+) -> Result<models::Task, Error> {
use crate::schema::tasks;
conn.transaction(|| {