Files
bianchengshequ/backend/schemas/user.py

44 lines
852 B
Python

"""用户相关Schema"""
from pydantic import BaseModel, EmailStr
from datetime import datetime
from typing import Optional
class UserRegister(BaseModel):
username: str
email: str
password: str
class UserLogin(BaseModel):
username: str
password: str
class UserResponse(BaseModel):
id: int
username: str
email: str
avatar: str = ""
is_admin: bool = False
is_banned: bool = False
is_approved: bool = False
created_at: datetime
class Config:
from_attributes = True
class UserUpdate(BaseModel):
username: Optional[str] = None
email: Optional[str] = None
avatar: Optional[str] = None
old_password: Optional[str] = None
new_password: Optional[str] = None
class TokenResponse(BaseModel):
access_token: str
token_type: str = "bearer"
user: UserResponse