nex_basse/backend/app/schemas/user.py

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