update
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 22s
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 22s
This commit is contained in:
50
apps/schemas.py
Normal file
50
apps/schemas.py
Normal file
@@ -0,0 +1,50 @@
|
||||
import re
|
||||
from datetime import date
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
|
||||
class AiUserCreate(BaseModel):
|
||||
id: Optional[str] = None
|
||||
name: str = Field(min_length=1, max_length=128)
|
||||
email: str = Field(..., max_length=256)
|
||||
dob: Optional[date] = None
|
||||
gender: Optional[str] = Field(default=None, max_length=10)
|
||||
|
||||
@field_validator("email")
|
||||
def validate_email(cls, v):
|
||||
if not re.match(r"^[^@\s]+@[^@\s]+\.[^@\s]+$", v):
|
||||
raise ValueError("invalid email")
|
||||
return v
|
||||
|
||||
|
||||
class AiUserUpdate(BaseModel):
|
||||
name: Optional[str] = Field(default=None, min_length=1, max_length=128)
|
||||
email: Optional[str] = Field(default=None, max_length=256)
|
||||
dob: Optional[date] = None
|
||||
gender: Optional[str] = Field(default=None, max_length=10)
|
||||
|
||||
@field_validator("email")
|
||||
def validate_email(cls, v):
|
||||
if not re.match(r"^[^@\s]+@[^@\s]+\.[^@\s]+$", v):
|
||||
raise ValueError("invalid email")
|
||||
return v
|
||||
|
||||
|
||||
class AiUserFilter(BaseModel):
|
||||
q: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
gender: Optional[str] = None
|
||||
|
||||
dob_from: Optional[date] = None
|
||||
dob_to: Optional[date] = None
|
||||
|
||||
created_from: Optional[str] = None
|
||||
created_to: Optional[str] = None
|
||||
|
||||
page: int = Field(default=0, ge=0)
|
||||
size: int = Field(default=20, ge=1, le=200)
|
||||
sortby: str = "modified"
|
||||
asc: bool = False
|
||||
Reference in New Issue
Block a user