Update deprecated pydantic validator (#1960)
update deprecated pydantic validator
This commit is contained in:
parent
98b011f46d
commit
9f2a0d1552
3 changed files with 19 additions and 14 deletions
|
|
@ -2,7 +2,7 @@ from datetime import datetime, timezone
|
|||
from typing import TYPE_CHECKING, Optional
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
from pydantic import field_validator, validator
|
||||
from pydantic import field_validator
|
||||
from sqlmodel import Column, DateTime, Field, Relationship, SQLModel, func
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
|
@ -40,6 +40,7 @@ class ApiKeyCreate(ApiKeyBase):
|
|||
created_at: Optional[datetime] = Field(default_factory=utc_now)
|
||||
|
||||
@field_validator("created_at", mode="before")
|
||||
@classmethod
|
||||
def set_created_at(cls, v):
|
||||
return v or utc_now()
|
||||
|
||||
|
|
@ -52,10 +53,11 @@ class UnmaskedApiKeyRead(ApiKeyBase):
|
|||
|
||||
class ApiKeyRead(ApiKeyBase):
|
||||
id: UUID
|
||||
api_key: str = Field()
|
||||
api_key: str = Field(schema_extra={"validate_default": True})
|
||||
user_id: UUID = Field()
|
||||
|
||||
@validator("api_key", always=True)
|
||||
@field_validator("api_key")
|
||||
@classmethod
|
||||
def mask_api_key(cls, v):
|
||||
# This validator will always run, and will mask the API key
|
||||
return f"{v[:8]}{'*' * (len(v) - 8)}"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from typing import Literal
|
|||
|
||||
from loguru import logger
|
||||
from passlib.context import CryptContext
|
||||
from pydantic import Field, SecretStr, validator
|
||||
from pydantic import Field, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
|
||||
from langflow.services.settings.constants import DEFAULT_SUPERUSER, DEFAULT_SUPERUSER_PASSWORD
|
||||
|
|
@ -62,23 +62,25 @@ class AuthSettings(BaseSettings):
|
|||
# the default values
|
||||
# so we need to validate the superuser and superuser_password
|
||||
# fields
|
||||
@validator("SUPERUSER", "SUPERUSER_PASSWORD", pre=True)
|
||||
def validate_superuser(cls, value, values):
|
||||
if values.get("AUTO_LOGIN"):
|
||||
@field_validator("SUPERUSER", "SUPERUSER_PASSWORD", mode="before")
|
||||
@classmethod
|
||||
def validate_superuser(cls, value, info):
|
||||
if info.data.get("AUTO_LOGIN"):
|
||||
if value != DEFAULT_SUPERUSER:
|
||||
value = DEFAULT_SUPERUSER
|
||||
logger.debug("Resetting superuser to default value")
|
||||
if values.get("SUPERUSER_PASSWORD") != DEFAULT_SUPERUSER_PASSWORD:
|
||||
values["SUPERUSER_PASSWORD"] = DEFAULT_SUPERUSER_PASSWORD
|
||||
if info.data.get("SUPERUSER_PASSWORD") != DEFAULT_SUPERUSER_PASSWORD:
|
||||
info.data["SUPERUSER_PASSWORD"] = DEFAULT_SUPERUSER_PASSWORD
|
||||
logger.debug("Resetting superuser password to default value")
|
||||
|
||||
return value
|
||||
|
||||
return value
|
||||
|
||||
@validator("SECRET_KEY", pre=True)
|
||||
def get_secret_key(cls, value, values):
|
||||
config_dir = values.get("CONFIG_DIR")
|
||||
@field_validator("SECRET_KEY", mode="before")
|
||||
@classmethod
|
||||
def get_secret_key(cls, value, info):
|
||||
config_dir = info.data.get("CONFIG_DIR")
|
||||
|
||||
if not config_dir:
|
||||
logger.debug("No CONFIG_DIR provided, not saving secret key")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from typing import List, Optional
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, validator
|
||||
from pydantic import BaseModel, field_validator
|
||||
|
||||
|
||||
class TagResponse(BaseModel):
|
||||
|
|
@ -37,7 +37,8 @@ class ListComponentResponse(BaseModel):
|
|||
private: Optional[bool] = None
|
||||
|
||||
# tags comes as a TagsIdResponse but we want to return a list of TagResponse
|
||||
@validator("tags", pre=True)
|
||||
@field_validator("tags", mode="before")
|
||||
@classmethod
|
||||
def tags_to_list(cls, v):
|
||||
# Check if all values are have id and name
|
||||
# if so, return v else transform to TagResponse
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue