forked from lavina/lavina
21 lines
591 B
Rust
21 lines
591 B
Rust
use anyhow::Result;
|
|
|
|
use crate::repo::Storage;
|
|
|
|
impl Storage {
|
|
#[tracing::instrument(skip(self), name = "Storage::set_argon2_challenge")]
|
|
pub async fn set_argon2_challenge(&self, user_id: u32, hash: &str) -> Result<()> {
|
|
let mut executor = self.conn.lock().await;
|
|
sqlx::query(
|
|
"insert into challenges_argon2_password(user_id, hash)
|
|
values (?, ?)
|
|
on conflict(user_id) do update set hash = excluded.hash;",
|
|
)
|
|
.bind(user_id)
|
|
.bind(hash)
|
|
.execute(&mut *executor)
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
}
|