move storyteller-web query: set user role

This commit is contained in:
Brandon Thomas committed 2023-03-06 04:27:34 -05:00
1 parent 73db1b1a49
commit 8f0d347c38
3 files changed
+39 -15

No files matched your search

@@ -1,2 +1,3 @@
pub mod list_staff;
pub mod list_user_roles;
pub mod list_user_roles;
pub mod set_user_role;
@@ -0,0 +1,31 @@
use anyhow::anyhow;
use errors::AnyhowResult;
use sqlx::MySqlPool;
use tokens::users::user::UserToken;
pub async fn set_user_role(
user_token: &UserToken,
user_role_slug: &str,
mysql_pool: &MySqlPool
) -> AnyhowResult<()> {
let query_result = sqlx::query!(
r#"
UPDATE users
SET
user_role_slug = ?
WHERE
token = ?
LIMIT 1
"#,
user_role_slug,
user_token,
)
.execute(mysql_pool)
.await;
match query_result {
Ok(_) => Ok(()),
Err(err) => Err(anyhow!("couldn't update user role: {:?}", err))
}
}
@@ -19,6 +19,7 @@ use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
use std::fmt;
use std::sync::Arc;
use database_queries::queries::users::user_roles::set_user_role::set_user_role;
/// For the URL PathInfo
#[derive(Deserialize)]
@@ -125,20 +126,11 @@ pub async fn set_user_role_handler(
}
};
let query_result = sqlx::query!(
r#"
UPDATE users
SET
user_role_slug = ?
WHERE
token = ?
LIMIT 1
"#,
&request.user_role_slug,
&target_user.user_token,
)
.execute(&server_state.mysql_pool)
.await;
let query_result = set_user_role(
&target_user.user_token,
&request.user_role_slug,
&server_state.mysql_pool,
).await;
match query_result {
Ok(_) => {},