added check for token generation (look if exists) (better)
This commit is contained in:
@@ -581,13 +581,10 @@ async fn register(
|
||||
.unwrap()
|
||||
.to_string();
|
||||
let mut token = Alphanumeric.sample_string(&mut OsRng, 256);
|
||||
while match sqlx::query!(r#"SELECT id FROM users WHERE token=?1"#, token)
|
||||
while let Ok(Some(_)) = sqlx::query!(r#"SELECT id FROM users WHERE token=?1"#, token)
|
||||
.fetch_optional(&mut *conn)
|
||||
.await
|
||||
{
|
||||
Ok(Some(user)) => true,
|
||||
_ => false,
|
||||
} {
|
||||
token = Alphanumeric.sample_string(&mut OsRng, 256);
|
||||
}
|
||||
let result = sqlx::query!(r#"INSERT INTO users ( username, saltyhash, permissions, token) VALUES ( ?1, ?2, ?3, ?4 )"#, login.username, hash, 0, token).execute(&mut *conn).await;
|
||||
|
||||
Reference in New Issue
Block a user