"""用户相关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