first commit
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Optional
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class Video(BaseModel):
|
||||
id: str
|
||||
title: str
|
||||
channel: str
|
||||
published_at: datetime
|
||||
duration_seconds: int
|
||||
view_count: int
|
||||
like_count: int
|
||||
thumbnail_url: str
|
||||
youtube_url: str
|
||||
tags: List[str] = []
|
||||
has_chapters: bool = False
|
||||
score: float = 0.0
|
||||
topics: List[str] = []
|
||||
source_queries: List[str] = []
|
||||
|
||||
|
||||
class VideoList(BaseModel):
|
||||
total: int
|
||||
page: int
|
||||
page_size: int
|
||||
items: List[Video]
|
||||
|
||||
|
||||
class FilterParams(BaseModel):
|
||||
min_score: float = 0.0
|
||||
topic: Optional[str] = None
|
||||
days: int = 30
|
||||
page: int = 1
|
||||
page_size: int = 20
|
||||
|
||||
|
||||
class RefreshRequest(BaseModel):
|
||||
queries: Optional[List[str]] = None
|
||||
|
||||
|
||||
class RefreshResult(BaseModel):
|
||||
fetched: int
|
||||
scored: int
|
||||
stored: int
|
||||
timestamp: datetime
|
||||
Reference in New Issue
Block a user