From d432903f5c323f2c0c8f94c341a2582a99a9882b Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Wed, 18 Jun 2025 09:43:45 -0700 Subject: [PATCH] working user patch / PUT ops SCIM --- litellm/proxy/management_endpoints/scim/scim_v2.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/litellm/proxy/management_endpoints/scim/scim_v2.py b/litellm/proxy/management_endpoints/scim/scim_v2.py index b8712b55a2f..65dae40fa01 100644 --- a/litellm/proxy/management_endpoints/scim/scim_v2.py +++ b/litellm/proxy/management_endpoints/scim/scim_v2.py @@ -385,6 +385,11 @@ async def update_user( "metadata": metadata, } + # Serialize metadata to JSON string for Prisma to avoid GraphQL parsing issues + if "metadata" in update_data and isinstance(update_data["metadata"], dict): + from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + update_data["metadata"] = safe_dumps(update_data["metadata"]) + updated_user = await prisma_client.db.litellm_usertable.update( where={"user_id": user_id}, data=update_data, @@ -624,6 +629,11 @@ async def patch_user( update_data["teams"] = list(final_team_set) + # Serialize metadata to JSON string for Prisma to avoid GraphQL parsing issues + if "metadata" in update_data and isinstance(update_data["metadata"], dict): + from litellm.litellm_core_utils.safe_json_dumps import safe_dumps + update_data["metadata"] = safe_dumps(update_data["metadata"]) + updated_user = await prisma_client.db.litellm_usertable.update( where={"user_id": user_id}, data=update_data,