Files
twimg-backend/app/models.py
Logan Cusano 5cf67c67d7 fix typo
2025-08-02 02:44:51 -04:00

46 lines
1.0 KiB
Python

from pydantic import BaseModel, Field, EmailStr
from typing import Optional, List
class LoginPasswordRequest(BaseModel):
email: EmailStr
password: str
class LoginResponse(BaseModel):
uid: str
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: List[str]
recommended_game: Optional[str] = None
timestamp: Optional[float] = None
class Vote(BaseModel):
id: str
video_id: str
user_id: str
decision: str
reason: str
recommended_game: Optional[str] = None