summaryrefslogtreecommitdiff
path: root/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.rs')
-rw-r--r--src/db.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/db.rs b/src/db.rs
index 077c165..55cef7b 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -2,8 +2,6 @@ use crate::error::Error;
use crate::models;
use bcrypt;
use diesel::connection::Connection;
-use diesel::dsl::exists;
-use diesel::dsl::select;
use diesel::pg::PgConnection;
use diesel::ExpressionMethods;
use diesel::QueryDsl;
@@ -24,6 +22,20 @@ pub fn create_config(conn: &PgConnection, config: &models::Config) -> Result<(),
})
}
+pub fn insert_strava_token(conn: &PgConnection, token: &models::StravaToken)
+ -> Result<(), Error> {
+ use crate::schema::strava_tokens;
+ conn.transaction(|| {
+ diesel::delete(strava_tokens::table)
+ .filter(strava_tokens::username.eq(&token.username))
+ .execute(conn)?;
+ diesel::insert_into(strava_tokens::table)
+ .values(token)
+ .execute(conn)?;
+ Ok(())
+ })
+}
+
pub fn get_config(conn: &PgConnection) -> Result<models::Config, Error> {
use crate::schema::config;
config::table