Skip to content

Commit 8413fed

Browse files
authored
Merge pull request #72 from igorbenav/67-migrate-pydantic-validators-to-field_validators
pydantic validators migrated to v2
2 parents cb11600 + 4061130 commit 8413fed

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/app/schemas/rate_limit.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Annotated
22
from datetime import datetime
33

4-
from pydantic import BaseModel, Field, ConfigDict, validator
4+
from pydantic import BaseModel, Field, ConfigDict, field_validator
55

66
from ..core.schemas import TimestampSchema
77

@@ -23,9 +23,9 @@ class RateLimitBase(BaseModel):
2323
Field(examples=[60])
2424
]
2525

26-
@validator('path', pre=True, always=True)
27-
def validate_and_sanitize_path(cls, value: str) -> str:
28-
return sanitize_path(value)
26+
@field_validator('path')
27+
def validate_and_sanitize_path(cls, v: str):
28+
return sanitize_path(v)
2929

3030

3131
class RateLimit(TimestampSchema, RateLimitBase):
@@ -62,14 +62,14 @@ class RateLimitCreateInternal(RateLimitCreate):
6262

6363

6464
class RateLimitUpdate(BaseModel):
65-
path: str | None = None
65+
path: str | None = Field(default=None)
6666
limit: int | None = None
6767
period: int | None = None
6868
name: str | None = None
6969

70-
@validator('path', pre=True)
71-
def validate_and_sanitize_path(cls, value: str) -> str:
72-
return sanitize_path(value)
70+
@field_validator('path')
71+
def validate_and_sanitize_path(cls, v: str):
72+
return sanitize_path(v) if v is not None else None
7373

7474

7575
class RateLimitUpdateInternal(RateLimitUpdate):

0 commit comments

Comments
 (0)