from pydantic import BaseModel from typing import Optional class UserRegister(BaseModel): account: str password: str email: str phone: str name: str gender: str avatarDataUrl: Optional[str] = None age: Optional[int] = None country: Optional[str] = None region: Optional[str] = None intro: Optional[str] = None class UserLogin(BaseModel): account: str password: str class UserUpdate(BaseModel): name: Optional[str] = None intro: Optional[str] = None age: Optional[int] = None country: Optional[str] = None region: Optional[str] = None gender: Optional[str] = None avatarDataUrl: Optional[str] = None class PasswordReset(BaseModel): old_password: str new_password: str class InteractionToggle(BaseModel): item_id: str user_id: str action_type: str is_active: bool class CommentCreate(BaseModel): item_id: str author: str content: str reply_to_user: Optional[str] = None parent_id: Optional[str] = None class ItemCreate(BaseModel): type: str title: str shortDesc: str fullDesc: str link: str coverUrl: Optional[str] = None author: str price: float = 0.0 class FollowToggle(BaseModel): user_id: str target_account: str is_active: bool class PrivateMessage(BaseModel): sender: str receiver: str content: str