32 lines
655 B
Python
32 lines
655 B
Python
from pydantic import BaseModel
|
|
|
|
|
|
class VideoCreate(BaseModel):
|
|
title: str
|
|
youtuber: str
|
|
thumbnail_url: str
|
|
youtube_url: str
|
|
|
|
|
|
class VideoResponse(BaseModel):
|
|
id: int
|
|
title: str
|
|
youtuber: str
|
|
thumbnail_url: str
|
|
youtube_url: str
|
|
is_downloaded: bool
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
@classmethod
|
|
def from_model(cls, video):
|
|
return cls(
|
|
id=video.id,
|
|
title=video.title,
|
|
youtuber=video.youtuber,
|
|
thumbnail_url=video.thumbnail_url,
|
|
youtube_url=video.youtube_url,
|
|
is_downloaded=video.file_path is not None,
|
|
)
|