2025-05-07 22:02:48 -07:00
|
|
|
from pydantic import BaseModel, ConfigDict
|
2025-05-05 23:18:12 -07:00
|
|
|
from typing import Any, List, Literal
|
2025-03-14 18:53:14 -07:00
|
|
|
from .base import IDModel, TimestampModel
|
|
|
|
|
|
|
|
|
|
class PodcastBase(BaseModel):
|
|
|
|
|
title: str
|
2025-05-05 23:18:12 -07:00
|
|
|
podcast_transcript: List[Any]
|
2025-03-14 18:53:14 -07:00
|
|
|
file_location: str = ""
|
|
|
|
|
search_space_id: int
|
|
|
|
|
|
|
|
|
|
class PodcastCreate(PodcastBase):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
class PodcastUpdate(PodcastBase):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
class PodcastRead(PodcastBase, IDModel, TimestampModel):
|
2025-05-07 22:02:48 -07:00
|
|
|
model_config = ConfigDict(from_attributes=True)
|
2025-05-05 23:18:12 -07:00
|
|
|
|
|
|
|
|
class PodcastGenerateRequest(BaseModel):
|
|
|
|
|
type: Literal["DOCUMENT", "CHAT"]
|
|
|
|
|
ids: List[int]
|
|
|
|
|
search_space_id: int
|
|
|
|
|
podcast_title: str = "SurfSense Podcast"
|