SurfSense/surfsense_backend/app/schemas/podcasts.py

34 lines
693 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-10-23 22:29:31 +02:00
chat_state_version: int | None = None
2025-03-14 18:53:14 -07:00
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 | None = None
user_prompt: str | None = None