Init
This commit is contained in:
40
app/models.py
Normal file
40
app/models.py
Normal file
@@ -0,0 +1,40 @@
|
||||
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
|
||||
Reference in New Issue
Block a user