gitscope
← marzneshin / Diff · 2127962 → 2127962
Changes 2127962..2127962
Patch commit
diff --git a/app/models/proxy.py b/app/models/proxy.py
index 6bd5b36..08a8213 100644
--- a/app/models/proxy.py
+++ b/app/models/proxy.py
@@ -1,8 +1,8 @@
import json
from enum import Enum
-from typing import Optional, Union, List
+from typing import Optional, List
-from pydantic import ConfigDict, BaseModel, Field, validator
+from pydantic import ConfigDict, BaseModel, Field, field_validator
class XTLSFlows(Enum):
@@ -121,44 +121,19 @@ class InboundHost(BaseModel):
security: InboundHostSecurity = InboundHostSecurity.inbound_default
alpn: InboundHostALPN = InboundHostALPN.none
fingerprint: InboundHostFingerprint = InboundHostFingerprint.none
- allowinsecure: Union[bool, None] = None
- is_disabled: Union[bool, None] = None
+ allowinsecure: Optional[bool] = None
+ is_disabled: Optional[bool] = None
mux: bool = Field(False)
fragment: Optional[FragmentSettings] = Field(None)
model_config = ConfigDict(from_attributes=True)
- # TODO[pydantic]: We couldn't refactor the `validator`, please replace it by `field_validator` manually.
- # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-validators for more information.
- @validator("remark", pre=False, always=True)
- def validate_remark(cls, v):
- try:
- v.format_map(FormatVariables())
- except ValueError as exc:
- raise ValueError("Invalid formatting variables")
-
- return v
-
- # TODO[pydantic]: We couldn't refactor the `validator`, please replace it by `field_validator` manually.
- # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-validators for more information.
- @validator("address", pre=False, always=True)
- def validate_address(cls, v):
- try:
- v.format_map(FormatVariables())
- except ValueError as exc:
- raise ValueError("Invalid formatting variables")
-
- return v
-
- # TODO[pydantic]: We couldn't refactor the `validator`, please replace it by `field_validator` manually.
- # Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-validators for more information.
- @validator("path", pre=False, always=True)
- def validate_path(cls, v):
+ @field_validator("remark", "address", "path")
+ @classmethod
+ def validate_fmt_variables(cls, v: str) -> str:
if not v:
return v
- try:
- v.format_map(FormatVariables())
- except ValueError:
- raise ValueError("Invalid formatting variables")
+
+ v.format_map(FormatVariables())
return v