SurfSense/surfsense_backend/app/schemas/podcasts.py

32 lines
624 B
Python
Raw Normal View History

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