Refactor tag handling for premium users

This commit is contained in:
Yash Rathod 2026-10-28 14:02:39 +05:30 • committed by GitHub
parent ae13dc6f6b
commit f752e2aa96
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1666,10 +1666,12 @@ async def _common_key_generation_helper(
# Set tags on the new key
if "tags" in data_json:
from litellm.proxy.proxy_server import premium_user
tags = data_json.get("tags")
if premium_user is not True and isinstance(tags, list) and len(tags) > 0:
raise ValueError(f"Only premium users can add tags to keys. {CommonProxyErrors.not_premium_user.value}")
raise ValueError(
f"Only premium users can add tags to keys. {CommonProxyErrors.not_premium_user.value}"
)
_metadata: Final = data_json.get("metadata")
if tags is None:
@ -1677,11 +1679,11 @@ async def _common_key_generation_helper(
_metadata.pop("tags", None)
data_json.pop("tags", None)
else:
if not _metadata:
if not isinstance(_metadata, dict):
data_json["metadata"] = {"tags": tags}
else:
data_json["metadata"]["tags"] = tags
data_json.pop("tags")
data_json.pop("tags", None)
# Validate MCP servers in object_permission are within team scope
_is_proxy_admin_caller: Final = user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN.value