From cd765f2c2f01441b5bb732459b743c1c5733cca3 Mon Sep 17 00:00:00 2001 From: RWDai <27391645+RWDai@users.noreply.github.com> Date: Wed, 23 Sep 2026 11:03:45 +0800 Subject: [PATCH] fix(admin): return user API key IP rules --- .../src/handlers/admin/users/api_keys/responses/list.rs | 1 + apps/aether-gateway/src/tests/control/admin/users.rs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/aether-gateway/src/handlers/admin/users/api_keys/responses/list.rs b/apps/aether-gateway/src/handlers/admin/users/api_keys/responses/list.rs index dc328761c..45932de1d 100644 --- a/apps/aether-gateway/src/handlers/admin/users/api_keys/responses/list.rs +++ b/apps/aether-gateway/src/handlers/admin/users/api_keys/responses/list.rs @@ -64,6 +64,7 @@ pub(crate) async fn build_admin_list_user_api_keys_response( "rate_limit": record.rate_limit, "concurrent_limit": record.concurrent_limit, "feature_settings": record.feature_settings, + "ip_rules": record.ip_rules, "expires_at": format_optional_unix_secs_iso8601(record.expires_at_unix_secs), "last_used_at": format_optional_unix_secs_iso8601(record.last_used_at_unix_secs), "created_at": format_optional_unix_secs_iso8601(record.created_at_unix_secs), diff --git a/apps/aether-gateway/src/tests/control/admin/users.rs b/apps/aether-gateway/src/tests/control/admin/users.rs index 8134f2106..0d9fcde6e 100644 --- a/apps/aether-gateway/src/tests/control/admin/users.rs +++ b/apps/aether-gateway/src/tests/control/admin/users.rs @@ -2732,7 +2732,9 @@ async fn gateway_lists_admin_user_api_keys_locally_with_trusted_admin_principal( Some(1_711_000_100), Some(1_711_000_101), ) - .expect("export activity timestamps should build")]), + .expect("export activity timestamps should build") + .with_ip_rules(Some(json!(["203.0.113.0/24"]))) + .expect("export IP rules should build")]), ); let user_repository = Arc::new(InMemoryUserReadRepository::seed_auth_users(vec![ sample_admin_user("user-1"), @@ -2769,6 +2771,10 @@ async fn gateway_lists_admin_user_api_keys_locally_with_trusted_admin_principal( assert_eq!(payload["api_keys"][0]["key_display"], "sk...-1"); assert_eq!(payload["api_keys"][0]["is_active"], true); assert_eq!(payload["api_keys"][0]["is_locked"], false); + assert_eq!( + payload["api_keys"][0]["ip_rules"], + json!(["203.0.113.0/24"]) + ); assert_eq!(payload["api_keys"][0]["total_requests"], 9); assert_eq!(payload["api_keys"][0]["total_cost_usd"], 1.5); assert_eq!(payload["api_keys"][0]["rate_limit"], 60);