from typing import Optional from pydantic import BaseModel, EmailStr, Field class UserCreate(BaseModel): username: str = Field(..., max_length=32) email: EmailStr password: str = Field(..., min_length=8) model_config = { "extra": "forbid", } class UserRead(BaseModel): id: int username: str email: EmailStr = None google_id: Optional[str] = None avatar_file: Optional[str] = None banner_file: Optional[str] = None premium: bool is_banned: bool is_moderator: bool model_config = { "from_attributes": True, }