diff --git a/Cargo.lock b/Cargo.lock index c02b396455..2aa2da3463 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7304,6 +7304,7 @@ name = "mysql_queries" version = "0.0.1" dependencies = [ "anyhow", + "artcraft_api_keys", "bucket_paths", "chrono", "composite_identifiers", diff --git a/crates/schema/database/mysql_queries/Cargo.toml b/crates/schema/database/mysql_queries/Cargo.toml index 6841c9dbb0..b5184750f8 100644 --- a/crates/schema/database/mysql_queries/Cargo.toml +++ b/crates/schema/database/mysql_queries/Cargo.toml @@ -20,6 +20,7 @@ path = "src/lib.rs" workspace-build-acceleration.workspace = true # Internal +artcraft_api_keys.workspace = true bucket_paths.workspace = true composite_identifiers = { path = "../../../schema/public/composite_identifiers" } enums = { workspace = true, features = ["database"] } diff --git a/crates/schema/database/mysql_queries/src/queries/api_keys/insert_api_key.rs b/crates/schema/database/mysql_queries/src/queries/api_keys/insert_api_key.rs index 30787e42f1..cfd0f95d3e 100644 --- a/crates/schema/database/mysql_queries/src/queries/api_keys/insert_api_key.rs +++ b/crates/schema/database/mysql_queries/src/queries/api_keys/insert_api_key.rs @@ -2,6 +2,7 @@ use std::marker::PhantomData; use sqlx::{Executor, MySql}; +use artcraft_api_keys::ArtcraftApiKey; use tokens::tokens::api_keys::ApiKeyToken; use tokens::tokens::users::UserToken; @@ -13,7 +14,7 @@ where pub ip_address: &'e str, pub name: &'e str, pub maybe_description: Option<&'e str>, - pub api_key: &'e str, + pub api_key: &'e ArtcraftApiKey, pub mysql_executor: E, pub phantom: PhantomData<&'c E>, } @@ -44,7 +45,7 @@ SET created_at = NOW() "#, token.as_str(), - args.api_key, + args.api_key.as_str_be_careful(), // NB: This is okay in this case. args.name, args.maybe_description, args.owner_user_token.as_str(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/api_keys/create_api_key_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/api_keys/create_api_key_handler.rs index a40d9a9e92..191845436b 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/api_keys/create_api_key_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/api_keys/create_api_key_handler.rs @@ -75,7 +75,7 @@ pub async fn create_api_key_handler( ip_address: &ip_address, name: &name, maybe_description: maybe_description.as_deref(), - api_key: api_key.as_str_be_careful(), + api_key: &api_key, mysql_executor: &mut *conn, phantom: PhantomData, }).await.map_err(|err| { @@ -88,6 +88,6 @@ pub async fn create_api_key_handler( api_key_token: token, // Return the full secret value (never the redacted Debug/Display form). This is the only // time it is ever exposed. - api_key: api_key.to_string_be_careful(), + api_key: api_key.to_string_be_careful(), // NB: This is okay in this case })) }