from datetime import datetime from pydantic import BaseModel, Field class UserRegister(BaseModel): phone: str | None = None email: str | None = None password: str = Field(..., min_length=6) nickname: str = Field(..., min_length=1, max_length=50) city: str | None = None identity: str | None = "both" class UserLogin(BaseModel): account: str password: str class TokenResponse(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" class RefreshTokenRequest(BaseModel): refresh_token: str class UserInfo(BaseModel): id: int nickname: str avatar_url: str | None = None city: str | None = None bio: str | None = None identity: str | None = None created_at: datetime | None = None model_config = {"from_attributes": True} class UserUpdate(BaseModel): nickname: str | None = None avatar_url: str | None = None city: str | None = None bio: str | None = None identity: str | None = None