summaryrefslogtreecommitdiff
path: root/src/login/repo.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/login/repo.rs')
-rw-r--r--src/login/repo.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/login/repo.rs b/src/login/repo.rs
index 611edd6..a972304 100644
--- a/src/login/repo.rs
+++ b/src/login/repo.rs
@@ -58,6 +58,29 @@ impl<'c> Logins<'c> {
Ok(login)
}
+ pub async fn set_password(
+ &mut self,
+ login: &History,
+ to: &StoredHash,
+ ) -> Result<(), sqlx::Error> {
+ let login = login.id();
+
+ sqlx::query_scalar!(
+ r#"
+ update login
+ set password_hash = $1
+ where id = $2
+ returning id as "id: Id"
+ "#,
+ to,
+ login,
+ )
+ .fetch_one(&mut *self.0)
+ .await?;
+
+ Ok(())
+ }
+
pub async fn all(&mut self, resume_at: ResumePoint) -> Result<Vec<History>, LoadError> {
let logins = sqlx::query!(
r#"