mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-12 23:01:41 +00:00
Added validator for rooting out past dates in budget_reset_at
This commit is contained in:
parent
6d1a2761ea
commit
9d234a959a
1 changed files with 18 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
|||
import enum
|
||||
import json
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Literal, Optional, Union
|
||||
|
||||
import httpx
|
||||
|
|
@ -803,6 +803,23 @@ class GenerateRequestBase(LiteLLMPydanticObjectBase):
|
|||
aliases: Optional[dict] = {}
|
||||
object_permission: Optional[LiteLLM_ObjectPermissionBase] = None
|
||||
|
||||
@model_validator(mode="after")
|
||||
def validate_budget_reset_at(self) -> "GenerateRequestBase":
|
||||
"""Validate that budget_reset_at is not in the past"""
|
||||
if self.budget_reset_at is not None:
|
||||
# Ensure timezone-aware for comparison
|
||||
reset_at = self.budget_reset_at
|
||||
if reset_at.tzinfo is None:
|
||||
reset_at = reset_at.replace(tzinfo=timezone.utc)
|
||||
|
||||
current_time = datetime.now(timezone.utc)
|
||||
if reset_at < current_time:
|
||||
raise ValueError(
|
||||
f"budget_reset_at cannot be in the past. "
|
||||
f"Provided: {reset_at.isoformat()}, Current time: {current_time.isoformat()}"
|
||||
)
|
||||
return self
|
||||
|
||||
|
||||
class AllowedVectorStoreIndexItem(LiteLLMPydanticObjectBase):
|
||||
index_name: str
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue