fix: req changes
This commit is contained in:
parent
d3d11fb06e
commit
a9d0e2cf91
@ -2599,10 +2599,7 @@ class NewProjectRequest(LiteLLM_BudgetTable):
|
||||
raise ValueError(
|
||||
f"tags must be a list of strings, got {type(values['tags']).__name__}"
|
||||
)
|
||||
for field in (
|
||||
LiteLLM_ManagementEndpoint_MetadataFields
|
||||
+ LiteLLM_ManagementEndpoint_MetadataFields_Premium
|
||||
):
|
||||
for field in LiteLLM_ManagementEndpoint_MetadataFields:
|
||||
if values.get(field) is not None:
|
||||
if values.get("metadata") is None:
|
||||
values.update({"metadata": {}})
|
||||
@ -2635,10 +2632,7 @@ class UpdateProjectRequest(LiteLLM_BudgetTable):
|
||||
raise ValueError(
|
||||
f"tags must be a list of strings, got {type(values['tags']).__name__}"
|
||||
)
|
||||
for field in (
|
||||
LiteLLM_ManagementEndpoint_MetadataFields
|
||||
+ LiteLLM_ManagementEndpoint_MetadataFields_Premium
|
||||
):
|
||||
for field in LiteLLM_ManagementEndpoint_MetadataFields:
|
||||
if values.get(field) is not None:
|
||||
if values.get("metadata") is None:
|
||||
values.update({"metadata": {}})
|
||||
|
||||
@ -358,6 +358,16 @@ async def new_project(
|
||||
},
|
||||
)
|
||||
|
||||
# ADD METADATA FIELDS
|
||||
for field in LiteLLM_ManagementEndpoint_MetadataFields_Premium:
|
||||
if getattr(data, field, None) is not None:
|
||||
_set_object_metadata_field(
|
||||
object_data=data,
|
||||
field_name=field,
|
||||
value=getattr(data, field),
|
||||
)
|
||||
delattr(data, field)
|
||||
|
||||
if prisma_client is None:
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
@ -473,7 +483,7 @@ async def new_project(
|
||||
response_model=LiteLLM_ProjectTable,
|
||||
)
|
||||
@management_endpoint_wrapper
|
||||
async def update_project(
|
||||
async def update_project( # noqa: PLR0915
|
||||
data: UpdateProjectRequest,
|
||||
http_request: Request,
|
||||
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
|
||||
@ -543,6 +553,16 @@ async def update_project(
|
||||
},
|
||||
)
|
||||
|
||||
# ADD METADATA FIELDS
|
||||
for field in LiteLLM_ManagementEndpoint_MetadataFields_Premium:
|
||||
if getattr(data, field, None) is not None:
|
||||
_set_object_metadata_field(
|
||||
object_data=data,
|
||||
field_name=field,
|
||||
value=getattr(data, field),
|
||||
)
|
||||
delattr(data, field)
|
||||
|
||||
if prisma_client is None:
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
|
||||
@ -3,26 +3,20 @@ from litellm.proxy._types import NewProjectRequest, UpdateProjectRequest
|
||||
|
||||
|
||||
def test_new_project_request_tags():
|
||||
# Test tags are correctly moved to metadata["tags"]
|
||||
# Test tags correctly stay top level initially
|
||||
req = NewProjectRequest(
|
||||
project_id="test_proj", team_id="team_1", tags=["tag1", "tag2"]
|
||||
)
|
||||
|
||||
# After validation, tags should be inside metadata
|
||||
assert req.metadata is not None
|
||||
assert "tags" in req.metadata
|
||||
assert req.metadata["tags"] == ["tag1", "tag2"]
|
||||
assert req.tags is None # Or removed dependending on pydantic version
|
||||
# tags should be top level initially
|
||||
assert req.tags == ["tag1", "tag2"]
|
||||
|
||||
|
||||
def test_update_project_request_tags():
|
||||
# Test tags are correctly moved to metadata["tags"]
|
||||
# Test tags correctly stay top level initially
|
||||
req = UpdateProjectRequest(project_id="test_proj", tags=["new_tag"])
|
||||
|
||||
assert req.metadata is not None
|
||||
assert "tags" in req.metadata
|
||||
assert req.metadata["tags"] == ["new_tag"]
|
||||
assert req.tags is None
|
||||
assert req.tags == ["new_tag"]
|
||||
|
||||
|
||||
def test_new_project_request_invalid_tags_type():
|
||||
|
||||
Loading…
Reference in New Issue
Block a user