43 lines
857 B
Python
43 lines
857 B
Python
from pydantic import BaseModel
|
|
from datetime import datetime
|
|
|
|
|
|
class UserOut(BaseModel):
|
|
user_id: int
|
|
username: str
|
|
display_name: str
|
|
email: str | None = None
|
|
phone: str | None = None
|
|
avatar: str | None = None
|
|
status: int
|
|
created_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class UserMe(UserOut):
|
|
roles: list[str] = []
|
|
|
|
|
|
class UserCreate(BaseModel):
|
|
username: str
|
|
display_name: str
|
|
email: str | None = None
|
|
phone: str | None = None
|
|
password: str | None = None
|
|
status: int = 1
|
|
role_ids: list[int] = []
|
|
|
|
|
|
class UserUpdate(BaseModel):
|
|
display_name: str | None = None
|
|
email: str | None = None
|
|
phone: str | None = None
|
|
status: int | None = None
|
|
role_ids: list[int] | None = None
|
|
|
|
|
|
class PasswordChange(BaseModel):
|
|
old_password: str
|
|
new_password: str |