20 lines
451 B
Python
20 lines
451 B
Python
from pydantic import BaseModel, EmailStr, Field
|
|
|
|
|
|
class UserCreate(BaseModel):
|
|
email: EmailStr
|
|
full_name: str = Field(min_length=2, max_length=255)
|
|
password: str = Field(min_length=10, max_length=255)
|
|
role: str = Field(default="reader", pattern="^(admin|editor|reader)$")
|
|
|
|
|
|
class UserOut(BaseModel):
|
|
id: int
|
|
email: EmailStr
|
|
full_name: str
|
|
role: str
|
|
is_active: bool
|
|
|
|
class Config:
|
|
from_attributes = True
|