improve: mordernizing validation by migrating pydantic from 1.x to 2.x (#4592)

This commit is contained in:
Bowen Liang
2024-06-14 01:05:37 +08:00
committed by GitHub
parent e8afc416dd
commit f976740b57
87 changed files with 697 additions and 300 deletions

View File

@@ -2,7 +2,7 @@ from enum import Enum
from typing import Optional
from flask import current_app
from pydantic import BaseModel
from pydantic import BaseModel, ConfigDict
from core.entities.model_entities import ModelWithProviderEntity, ProviderModelWithStatusEntity
from core.entities.provider_entities import QuotaConfiguration
@@ -61,6 +61,9 @@ class ProviderResponse(BaseModel):
custom_configuration: CustomConfigurationResponse
system_configuration: SystemConfigurationResponse
# pydantic configs
model_config = ConfigDict(protected_namespaces=())
def __init__(self, **data) -> None:
super().__init__(**data)
@@ -139,6 +142,9 @@ class DefaultModelResponse(BaseModel):
model_type: ModelType
provider: SimpleProviderEntityResponse
# pydantic configs
model_config = ConfigDict(protected_namespaces=())
class ModelWithProviderEntityResponse(ModelWithProviderEntity):
"""
@@ -147,4 +153,4 @@ class ModelWithProviderEntityResponse(ModelWithProviderEntity):
provider: SimpleProviderEntityResponse
def __init__(self, model: ModelWithProviderEntity) -> None:
super().__init__(**model.dict())
super().__init__(**model.model_dump())

View File

@@ -1,5 +1,5 @@
from flask import current_app
from pydantic import BaseModel
from pydantic import BaseModel, ConfigDict
from services.billing_service import BillingService
from services.enterprise.enterprise_service import EnterpriseService
@@ -31,6 +31,9 @@ class FeatureModel(BaseModel):
can_replace_logo: bool = False
model_load_balancing_enabled: bool = False
# pydantic configs
model_config = ConfigDict(protected_namespaces=())
class SystemFeatureModel(BaseModel):
sso_enforced_for_signin: bool = False