Support per-format provider key auth

This commit is contained in:
fawney19
2026-04-29 15:46:50 +08:00
parent 07a319259b
commit e751289dfb
67 changed files with 1244 additions and 420 deletions
@@ -106,10 +106,10 @@ pub(crate) async fn build_admin_system_export_providers_payload(
})
.map(serde_json::Value::String);
AdminSystemConfigProviderKey {
api_key: Some(
decrypt_admin_system_export_secret(state, &key.encrypted_api_key)
.unwrap_or_default(),
),
api_key: key.encrypted_api_key.as_deref().map(|ciphertext| {
decrypt_admin_system_export_secret(state, ciphertext)
.unwrap_or_default()
}),
auth_type: Some(key.auth_type.clone()),
auth_config,
name: Some(key.name.clone()),
@@ -119,6 +119,7 @@ pub(crate) async fn build_admin_system_export_providers_payload(
rate_multipliers: key.rate_multipliers.clone(),
internal_priority: Some(key.internal_priority),
global_priority_by_format: key.global_priority_by_format.clone(),
auth_type_by_format: key.auth_type_by_format.clone(),
rpm_limit: key.rpm_limit,
allowed_models: key.allowed_models.as_ref().and_then(|value| {
value.as_array().map(|items| {