from pydantic import BaseModel, Field, EmailStr from typing import Optional, List class LoginRequest(BaseModel): id_token: str class UserCreate(BaseModel): email: EmailStr password: str = Field(..., min_length=6) full_name: str = Field(..., min_length=3) class UserRecord(BaseModel): uid: str email: EmailStr full_name: str role: str = "member" class Token(BaseModel): access_token: str token_type: str = "bearer" class Video(BaseModel): id: str file_path: str person: str game: Optional[str] = None has_been_voted: bool = False class VoteCreate(BaseModel): decision: str reason: str recommended_game: Optional[str] = None class Vote(BaseModel): id: str video_id: str user_id: str decision: str reason: str recommended_game: Optional[str] = None