first commit
This commit is contained in:
commit
b47f825d54
83 changed files with 10016 additions and 0 deletions
62
backend/app/models.py
Normal file
62
backend/app/models.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
from datetime import datetime
|
||||
from enum import StrEnum
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class SegmentType(StrEnum):
|
||||
MARKDOWN = "markdown"
|
||||
PDF = "pdf"
|
||||
VIDEO = "video"
|
||||
AUDIO = "audio"
|
||||
IFRAME = "iframe"
|
||||
GALLERY = "gallery"
|
||||
LINK = "link"
|
||||
|
||||
|
||||
class Segment(BaseModel):
|
||||
id: UUID
|
||||
type: SegmentType
|
||||
sort_order: int
|
||||
title: str
|
||||
content: str = ""
|
||||
metadata: dict[str, object] = Field(default_factory=dict)
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class SegmentCreateRequest(BaseModel):
|
||||
type: SegmentType
|
||||
title: str
|
||||
content: str = ""
|
||||
metadata: dict[str, object] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class SegmentUpdateRequest(BaseModel):
|
||||
title: str | None = None
|
||||
content: str | None = None
|
||||
metadata: dict[str, object] | None = None
|
||||
|
||||
|
||||
class ReorderRequest(BaseModel):
|
||||
segment_ids: list[UUID]
|
||||
|
||||
|
||||
class SiteUpdateRequest(BaseModel):
|
||||
title: str
|
||||
|
||||
|
||||
class SegmentResponse(BaseModel):
|
||||
id: UUID
|
||||
type: SegmentType
|
||||
sort_order: int
|
||||
title: str
|
||||
content: str
|
||||
metadata: dict[str, object]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class SiteResponse(BaseModel):
|
||||
title: str
|
||||
Loading…
Add table
Add a link
Reference in a new issue