mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-10 22:41:41 +00:00
fix: align /spend/logs filter handling with user scoping
This commit is contained in:
parent
fee4e71905
commit
f5ce6cdd3b
1 changed files with 24 additions and 43 deletions
|
|
@ -2298,9 +2298,9 @@ async def view_spend_logs( # noqa: PLR0915
|
|||
|
||||
if api_key is not None and isinstance(api_key, str):
|
||||
filter_query["api_key"] = api_key # type: ignore
|
||||
elif request_id is not None and isinstance(request_id, str):
|
||||
if request_id is not None and isinstance(request_id, str):
|
||||
filter_query["request_id"] = request_id # type: ignore
|
||||
elif user_id is not None and isinstance(user_id, str):
|
||||
if user_id is not None and isinstance(user_id, str):
|
||||
filter_query["user"] = user_id # type: ignore
|
||||
|
||||
# Check if user wants unsummarized data
|
||||
|
|
@ -2375,49 +2375,30 @@ async def view_spend_logs( # noqa: PLR0915
|
|||
|
||||
return response
|
||||
|
||||
elif api_key is not None and isinstance(api_key, str):
|
||||
if api_key.startswith("sk-"):
|
||||
hashed_token = prisma_client.hash_token(token=api_key)
|
||||
else:
|
||||
hashed_token = api_key
|
||||
spend_log = await prisma_client.get_data(
|
||||
table_name="spend",
|
||||
query_type="find_all",
|
||||
key_val={"key": "api_key", "value": hashed_token},
|
||||
)
|
||||
if spend_log is None:
|
||||
return []
|
||||
if isinstance(spend_log, list):
|
||||
return spend_log
|
||||
else:
|
||||
return [spend_log]
|
||||
elif request_id is not None:
|
||||
spend_log = await prisma_client.get_data(
|
||||
table_name="spend",
|
||||
query_type="find_unique",
|
||||
key_val={"key": "request_id", "value": request_id},
|
||||
)
|
||||
if spend_log is None:
|
||||
return []
|
||||
return [spend_log]
|
||||
elif user_id is not None:
|
||||
spend_log = await prisma_client.get_data(
|
||||
table_name="spend",
|
||||
query_type="find_all",
|
||||
key_val={"key": "user", "value": user_id},
|
||||
)
|
||||
if spend_log is None:
|
||||
return []
|
||||
if isinstance(spend_log, list):
|
||||
return spend_log
|
||||
else:
|
||||
return [spend_log]
|
||||
else:
|
||||
spend_logs = await prisma_client.get_data(
|
||||
table_name="spend", query_type="find_all"
|
||||
)
|
||||
filter_query: Dict[str, Any] = {}
|
||||
if api_key is not None and isinstance(api_key, str):
|
||||
if api_key.startswith("sk-"):
|
||||
hashed_token = prisma_client.hash_token(token=api_key)
|
||||
else:
|
||||
hashed_token = api_key
|
||||
filter_query["api_key"] = hashed_token
|
||||
if request_id is not None and isinstance(request_id, str):
|
||||
filter_query["request_id"] = request_id
|
||||
if user_id is not None and isinstance(user_id, str):
|
||||
filter_query["user"] = user_id
|
||||
|
||||
return spend_logs
|
||||
if not filter_query:
|
||||
spend_logs = await prisma_client.get_data(
|
||||
table_name="spend", query_type="find_all"
|
||||
)
|
||||
return spend_logs
|
||||
|
||||
data = await prisma_client.db.litellm_spendlogs.find_many(
|
||||
where=filter_query, # type: ignore
|
||||
order={"startTime": "desc"},
|
||||
)
|
||||
return data
|
||||
|
||||
return None
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue