presenton/servers/fastapi/models/presentation_with_slides.py
2025-07-17 12:47:14 +05:45

29 lines
918 B
Python

from typing import List, Optional
from datetime import datetime
from pydantic import BaseModel
from models.presentation_layout import PresentationLayoutModel
from models.presentation_outline_model import SlideOutlineModel
from models.presentation_structure_model import PresentationStructureModel
from models.sql.presentation import PresentationModel
from models.sql.slide import SlideModel
class PresentationWithSlides(BaseModel):
id: str
prompt: str
n_slides: int
language: str
title: Optional[str] = None
notes: Optional[List[str]]
outlines: Optional[List[SlideOutlineModel]]
summary: Optional[str]
created_at: datetime
updated_at: datetime
layout: PresentationLayoutModel
structure: Optional[PresentationStructureModel]
slides: List[SlideModel]
def to_presentation_model(self) -> PresentationModel:
return PresentationModel(**self.model_dump())