diff --git a/crates/lib/mysql_queries/src/queries/beta_keys/list_beta_keys.rs b/crates/lib/mysql_queries/src/queries/beta_keys/list_beta_keys.rs index 4ca1cd9a96..ab673e4132 100644 --- a/crates/lib/mysql_queries/src/queries/beta_keys/list_beta_keys.rs +++ b/crates/lib/mysql_queries/src/queries/beta_keys/list_beta_keys.rs @@ -1,4 +1,5 @@ use chrono::{DateTime, Utc}; +use log::info; use sqlx::{FromRow, MySql, MySqlPool, QueryBuilder, Row}; use sqlx::mysql::MySqlRow; @@ -26,6 +27,11 @@ pub struct BetaKeyListItem { pub product: BetaKeyProduct, pub key_value: String, + pub creator_user_token: UserToken, + pub creator_username: String, + pub creator_display_name: String, + pub creator_gravatar_hash: String, + pub maybe_referrer_user_token: Option, pub maybe_referrer_username: Option, pub maybe_referrer_display_name: Option, @@ -77,6 +83,10 @@ pub async fn list_beta_keys(args: ListBetaKeysArgs<'_>) -> AnyhowResult, maybe_referrer_username: Option, maybe_referrer_display_name: Option, @@ -229,6 +254,9 @@ struct MediaFileListItemInternal { impl FromRow<'_, MySqlRow> for MediaFileListItemInternal { fn from_row(row: &MySqlRow) -> Result { + let creator_user_token : String = row.try_get("creator_user_token")?; + let creator_user_token = UserToken::new(creator_user_token); + let maybe_referrer_user_token : Option = row.try_get("maybe_referrer_user_token")?; let maybe_referrer_user_token = maybe_referrer_user_token.map(|user_token| UserToken::new(user_token)); @@ -240,6 +268,10 @@ impl FromRow<'_, MySqlRow> for MediaFileListItemInternal { token: BetaKeyToken::new(row.try_get("token")?), product: BetaKeyProduct::try_from_mysql_row(row, "product")?, key_value: row.try_get("key_value")?, + creator_user_token, + creator_username: row.try_get("creator_username")?, + creator_display_name: row.try_get("creator_display_name")?, + creator_gravatar_hash: row.try_get("creator_gravatar_hash")?, maybe_referrer_user_token, maybe_referrer_username: row.try_get("maybe_referrer_username")?, maybe_referrer_display_name: row.try_get("maybe_referrer_display_name")?, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/beta_keys/list_beta_keys_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/beta_keys/list_beta_keys_handler.rs index ba80f1191a..3837d4c080 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/beta_keys/list_beta_keys_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/beta_keys/list_beta_keys_handler.rs @@ -66,6 +66,7 @@ pub struct BetaKeyItem { pub token: BetaKeyToken, pub product: BetaKeyProduct, pub key_value: String, + pub creator: UserDetailsLight, pub maybe_referrer: Option, pub maybe_redeemer: Option, pub created_at: DateTime, @@ -209,6 +210,11 @@ pub async fn list_beta_keys_handler( token: beta_key.token.clone(), product: beta_key.product, key_value: beta_key.key_value, + creator: UserDetailsLight::from_db_fields( + &beta_key.creator_user_token, + &beta_key.creator_username, + &beta_key.creator_display_name, + &beta_key.creator_gravatar_hash), maybe_referrer: UserDetailsLight::from_optional_db_fields_owned( beta_key.maybe_referrer_user_token, beta_key.maybe_referrer_username,