Fixes 3 potential panics when querying the user and pwd table.
This commit is contained in:
parent
b5e9420c1f
commit
aab60dcc11
@ -147,18 +147,18 @@ pub async fn login(conn: DbConn, login: Login) -> Result<LoginResult, DatabaseEr
|
|||||||
.filter(user::username.eq(&login.username))
|
.filter(user::username.eq(&login.username))
|
||||||
.or_filter(user::email.eq(&login.username))
|
.or_filter(user::email.eq(&login.username))
|
||||||
.select(user::id)
|
.select(user::id)
|
||||||
.get_results(c)
|
.first(c)
|
||||||
{
|
{
|
||||||
Ok(id) => id[0],
|
Ok(id) => id,
|
||||||
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
||||||
};
|
};
|
||||||
|
|
||||||
let pwd: String = match pwd::table
|
let pwd: String = match pwd::table
|
||||||
.filter(pwd::user_id.eq(id))
|
.filter(pwd::user_id.eq(id))
|
||||||
.select(pwd::password)
|
.select(pwd::password)
|
||||||
.get_results::<String>(c)
|
.first(c)
|
||||||
{
|
{
|
||||||
Ok(pwd) => pwd[0].clone(),
|
Ok(pwd) => pwd,
|
||||||
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -174,9 +174,9 @@ pub async fn login(conn: DbConn, login: Login) -> Result<LoginResult, DatabaseEr
|
|||||||
let role: Role = match user::table
|
let role: Role = match user::table
|
||||||
.filter(user::id.eq(id))
|
.filter(user::id.eq(id))
|
||||||
.select(user::role)
|
.select(user::role)
|
||||||
.get_results::<Role>(c)
|
.first(c)
|
||||||
{
|
{
|
||||||
Ok(role) => role[0].clone(),
|
Ok(role) => role,
|
||||||
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
Err(error) => return Err(DatabaseError::Query(error.to_string())),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user