diff --git a/_database/sql/migrations/2026-04-13-231638-0000_user_impersonation_requests/up.sql b/_database/sql/migrations/2026-04-13-231638-0000_user_impersonation_requests/up.sql index 8323c2425e..bd8dbc4958 100644 --- a/_database/sql/migrations/2026-04-13-231638-0000_user_impersonation_requests/up.sql +++ b/_database/sql/migrations/2026-04-13-231638-0000_user_impersonation_requests/up.sql @@ -17,7 +17,7 @@ CREATE TABLE user_impersonation_requests ( impersonator_user_token VARCHAR(32) NOT NULL, -- The actual secret that must be presented to redeem the impersonation. - public_impersonation_token VARCHAR(32) NOT NULL, + user_impersonation_token VARCHAR(32) NOT NULL, -- Whether this request has been redeemed (used to create a session). is_redeemed BOOLEAN NOT NULL DEFAULT FALSE, @@ -37,7 +37,7 @@ CREATE TABLE user_impersonation_requests ( -- INDICES -- PRIMARY KEY (id), UNIQUE KEY (token), - UNIQUE KEY (public_impersonation_token), + UNIQUE KEY (user_impersonation_token), KEY index_impersonated_user_token (impersonated_user_token), KEY index_impersonator_user_token (impersonator_user_token) diff --git a/_database/sql/migrations_squashed/user_tables/user_impersonation_requests.sql b/_database/sql/migrations_squashed/user_tables/user_impersonation_requests.sql index 8323c2425e..bd8dbc4958 100644 --- a/_database/sql/migrations_squashed/user_tables/user_impersonation_requests.sql +++ b/_database/sql/migrations_squashed/user_tables/user_impersonation_requests.sql @@ -17,7 +17,7 @@ CREATE TABLE user_impersonation_requests ( impersonator_user_token VARCHAR(32) NOT NULL, -- The actual secret that must be presented to redeem the impersonation. - public_impersonation_token VARCHAR(32) NOT NULL, + user_impersonation_token VARCHAR(32) NOT NULL, -- Whether this request has been redeemed (used to create a session). is_redeemed BOOLEAN NOT NULL DEFAULT FALSE, @@ -37,7 +37,7 @@ CREATE TABLE user_impersonation_requests ( -- INDICES -- PRIMARY KEY (id), UNIQUE KEY (token), - UNIQUE KEY (public_impersonation_token), + UNIQUE KEY (user_impersonation_token), KEY index_impersonated_user_token (impersonated_user_token), KEY index_impersonator_user_token (impersonator_user_token) diff --git a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/insert_user_impersonation_request.rs b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/insert_user_impersonation_request.rs index a58ebe06f8..284a68bd81 100644 --- a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/insert_user_impersonation_request.rs +++ b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/insert_user_impersonation_request.rs @@ -11,7 +11,7 @@ pub struct InsertUserImpersonationRequestArgs<'a, 'c: 'a, E> { pub impersonated_user_token: &'a UserToken, pub impersonator_user_token: &'a UserToken, - pub public_impersonation_token: &'a str, + pub user_impersonation_token: &'a str, pub ip_address_creation: &'a str, pub expires_at: DateTime, @@ -33,14 +33,14 @@ SET token = ?, impersonated_user_token = ?, impersonator_user_token = ?, - public_impersonation_token = ?, + user_impersonation_token = ?, ip_address_creation = ?, expires_at = ? "#, token.as_str(), args.impersonated_user_token.as_str(), args.impersonator_user_token.as_str(), - args.public_impersonation_token, + args.user_impersonation_token, args.ip_address_creation, args.expires_at, ) diff --git a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/lookup_user_impersonation_request.rs b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/lookup_user_impersonation_request.rs index f7639840eb..a40c4d63de 100644 --- a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/lookup_user_impersonation_request.rs +++ b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/lookup_user_impersonation_request.rs @@ -7,14 +7,14 @@ pub struct UserImpersonationRequestRecord { pub token: String, pub impersonated_user_token: UserToken, pub impersonator_user_token: UserToken, - pub public_impersonation_token: String, + pub user_impersonation_token: String, pub is_redeemed: bool, pub expires_at: DateTime, } /// Look up a user impersonation request by the public impersonation token (the "password"). pub async fn lookup_user_impersonation_request( - public_impersonation_token: &str, + user_impersonation_token: &str, mysql_pool: &MySqlPool, ) -> Result, sqlx::Error> { let maybe_record = sqlx::query_as!( @@ -24,14 +24,14 @@ SELECT token, impersonated_user_token as `impersonated_user_token: UserToken`, impersonator_user_token as `impersonator_user_token: UserToken`, - public_impersonation_token, + user_impersonation_token, is_redeemed as `is_redeemed: bool`, expires_at FROM user_impersonation_requests -WHERE public_impersonation_token = ? +WHERE user_impersonation_token = ? LIMIT 1 "#, - public_impersonation_token, + user_impersonation_token, ) .fetch_optional(mysql_pool) .await?; diff --git a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/mark_impersonation_token_as_redeemed.rs b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/mark_impersonation_token_as_redeemed.rs index a7fbe3bf58..dd92f21dfe 100644 --- a/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/mark_impersonation_token_as_redeemed.rs +++ b/crates/schema/database/mysql_queries/src/queries/user_impersonation_requests/mark_impersonation_token_as_redeemed.rs @@ -5,7 +5,7 @@ use sqlx::{Executor, MySql}; pub struct MarkImpersonationTokenAsRedeemedArgs<'a, 'c: 'a, E> where E: 'a + Executor<'c, Database = MySql> { - pub public_impersonation_token: &'a str, + pub user_impersonation_token: &'a str, pub ip_address_redemption: &'a str, pub mysql_executor: E, @@ -23,10 +23,10 @@ UPDATE user_impersonation_requests SET is_redeemed = TRUE, ip_address_redemption = ? -WHERE public_impersonation_token = ? +WHERE user_impersonation_token = ? "#, args.ip_address_redemption, - args.public_impersonation_token, + args.user_impersonation_token, ) .execute(args.mysql_executor) .await?; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/moderation/user_sessions/moderator_user_session_impersonation_request_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/moderation/user_sessions/moderator_user_session_impersonation_request_handler.rs index e55ce6269b..c0696e428f 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/moderation/user_sessions/moderator_user_session_impersonation_request_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/moderation/user_sessions/moderator_user_session_impersonation_request_handler.rs @@ -143,7 +143,7 @@ pub async fn moderator_user_session_impersonation_request_handler( InsertUserImpersonationRequestArgs { impersonated_user_token: &target_user.user_token, impersonator_user_token: &user_session.user_token, - public_impersonation_token: &password_token, + user_impersonation_token: &password_token, ip_address_creation: &ip_address, expires_at, mysql_executor: &mut *transaction, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/users/login_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/users/login_handler.rs index 4a61c95358..0b6b3e9b96 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/users/login_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/users/login_handler.rs @@ -293,7 +293,7 @@ async fn try_impersonation_login( // Mark the impersonation token as redeemed. mark_impersonation_token_as_redeemed(MarkImpersonationTokenAsRedeemedArgs { - public_impersonation_token: password, + user_impersonation_token: password, ip_address_redemption: ip_address, mysql_executor: &mut *transaction, phantom: PhantomData,