Bases: BaseModel
Combined authentication and credentials configuration.
validate_oauth
classmethod
Validate and convert OAuth configuration.
Source code in ccproxy/config/auth.py
| @field_validator("oauth", mode="before")
@classmethod
def validate_oauth(cls, v: Any) -> Any:
"""Validate and convert OAuth configuration."""
if v is None:
return OAuthSettings()
# If it's already an OAuthSettings instance, return as-is
if isinstance(v, OAuthSettings):
return v
# If it's a dict, create OAuthSettings from it
if isinstance(v, dict):
return OAuthSettings(**v)
# Try to convert to dict if possible
if hasattr(v, "model_dump"):
return OAuthSettings(**v.model_dump())
elif hasattr(v, "__dict__"):
return OAuthSettings(**v.__dict__)
return v
|
validate_storage
classmethod
Validate and convert storage configuration.
Source code in ccproxy/config/auth.py
| @field_validator("storage", mode="before")
@classmethod
def validate_storage(cls, v: Any) -> Any:
"""Validate and convert storage configuration."""
if v is None:
return CredentialStorageSettings()
# If it's already a CredentialStorageSettings instance, return as-is
if isinstance(v, CredentialStorageSettings):
return v
# If it's a dict, create CredentialStorageSettings from it
if isinstance(v, dict):
return CredentialStorageSettings(**v)
# Try to convert to dict if possible
if hasattr(v, "model_dump"):
return CredentialStorageSettings(**v.model_dump())
elif hasattr(v, "__dict__"):
return CredentialStorageSettings(**v.__dict__)
return v
|