""" End-user table model. Canonical definition for ``litellm_endusertable``. Re-exported from ``litellm.proxy._types`` for backwards compatibility. """ from typing import Literal, Optional from pydantic import ConfigDict, model_validator from litellm.models.budget import LiteLLM_BudgetTable from litellm.models.object_permission import LiteLLM_ObjectPermissionTable from litellm.types.llms.base import LiteLLMPydanticObjectBase class LiteLLM_EndUserTable(LiteLLMPydanticObjectBase): user_id: str blocked: bool alias: Optional[str] = None spend: float = 0.0 allowed_model_region: Optional[Literal["eu", "us"]] = None default_model: Optional[str] = None litellm_budget_table: Optional[LiteLLM_BudgetTable] = None object_permission_id: Optional[str] = None object_permission: Optional[LiteLLM_ObjectPermissionTable] = None @model_validator(mode="before") @classmethod def set_model_info(cls, values): if values.get("spend") is None: values.update({"spend": 0.0}) return values model_config = ConfigDict(protected_namespaces=())