30 lines
866 B
Python
30 lines
866 B
Python
from datetime import datetime
|
|
from typing import List, Optional
|
|
from .constants import ContentSource, ContentMediaType, ContentDataFormat
|
|
from common.constants.region import UserRegion
|
|
from beanie import Document
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class ContentDirectory(BaseModel):
|
|
content_name: str
|
|
cover_document_id: Optional[str] = None
|
|
summary_text: Optional[str] = ""
|
|
title_text: Optional[str] = ""
|
|
content_link: Optional[str] = None
|
|
content_html: Optional[str] = None
|
|
content_text: Optional[str] = None
|
|
content_document_id: Optional[str] = None
|
|
|
|
|
|
class ContentFolderDoc(Document):
|
|
folder_name: str
|
|
content_directories: List[ContentDirectory]
|
|
udpate_time: datetime
|
|
update_source: ContentSource
|
|
valid_thru: datetime
|
|
region: UserRegion = UserRegion.ZH_CN
|
|
|
|
class Settings:
|
|
name = "content_folder"
|