Merge pull request #35365 from rimysore/fix-managed-files-null-object

fix(managed-files): skip rows without file objects
This commit is contained in:
Mateo Wang 2026-08-05 10:01:42 -07:00 committed by GitHub
commit 8fe9809a4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 1 deletions

View file

@ -382,7 +382,11 @@ class _PROXY_LiteLLMManagedFiles(CustomLogger, BaseFileEndpoints):
"flat_model_file_ids": {"hasSome": model_object_ids},
}
)
return [OpenAIFileObject.model_validate(file_object.file_object) for file_object in file_ids]
return [
OpenAIFileObject.model_validate(file_object.file_object)
for file_object in file_ids
if file_object.file_object is not None
]
async def check_managed_file_id_access(
self, data: Dict, user_api_key_dict: UserAPIKeyAuth

View file

@ -137,6 +137,23 @@ async def test_should_pass_credentials_to_afile_retrieve():
)
@pytest.mark.asyncio
async def test_get_user_created_file_ids_skips_rows_without_file_object():
managed_files = _make_managed_files_instance()
managed_files.prisma_client.db.litellm_managedfiletable.find_many = AsyncMock(
return_value=[
MagicMock(file_object=_make_file_object().model_dump()),
MagicMock(file_object=None),
]
)
files = await managed_files.get_user_created_file_ids(
_make_user_api_key_dict(), ["file-output-abc"]
)
assert [file.id for file in files] == ["file-output-abc"]
@pytest.mark.asyncio
async def test_should_fallback_when_no_router():
"""