summaryrefslogtreecommitdiff
path: root/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.rs')
-rw-r--r--src/db.rs28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/db.rs b/src/db.rs
index 7e271bc..e9f651e 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -137,16 +137,14 @@ pub fn get_strava_token(
Ok(token)
}
-pub fn update_strava_token(
- conn: &PgConnection,
- token: &models::StravaToken) -> Result<(), Error> {
+pub fn update_strava_token(conn: &PgConnection, token: &models::StravaToken) -> Result<(), Error> {
use crate::schema::strava_tokens;
- diesel::update(strava_tokens::table).set(token)
+ diesel::update(strava_tokens::table)
+ .set(token)
.execute(conn)?;
Ok(())
}
-
pub fn insert_task(conn: &PgConnection, task: &models::NewTask) -> Result<i64, Error> {
use crate::schema::tasks;
let id = diesel::insert_into(tasks::table)
@@ -202,19 +200,27 @@ pub fn take_task(
})
}
-pub fn find_missing_data(conn: &PgConnection, username: &str, data_type: models::DataType, ids: &[i64])
- -> Result<Vec<i64>, Error> {
- use diesel::pg::expression::dsl::any;
+pub fn find_missing_data(
+ conn: &PgConnection,
+ username: &str,
+ data_type: models::DataType,
+ ids: &[i64],
+) -> Result<Vec<i64>, Error> {
use crate::schema::raw_data;
+ use diesel::pg::expression::dsl::any;
use std::collections::HashSet;
let present: HashSet<i64> = raw_data::table
.select(raw_data::id)
- .filter(raw_data::username.eq(username)
+ .filter(
+ raw_data::username
+ .eq(username)
.and(raw_data::data_type.eq(data_type))
- .and(raw_data::id.eq(any(ids))))
+ .and(raw_data::id.eq(any(ids))),
+ )
.get_results::<i64>(conn)?
- .into_iter().collect();
+ .into_iter()
+ .collect();
let ids: HashSet<i64> = ids.iter().map(|v| *v).collect();
let missing = ids.difference(&present);