29 lines
918 B
Python
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())
|