Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import Optional, List | |
| from app.models import Tone, ContentType, DraftStatus | |
| class DraftCreate(BaseModel): | |
| source_type: str # pdf/url/text | |
| source_ref: Optional[str] = None | |
| raw_text: Optional[str] = None | |
| content_type: ContentType | |
| tone: Tone = Tone.neutral | |
| class DraftOut(BaseModel): | |
| id: int | |
| title: Optional[str] | |
| body_md: Optional[str] | |
| tone: Tone | |
| content_type: ContentType | |
| status: DraftStatus | |
| class Config: | |
| from_attributes = True | |
| class ApproveInput(BaseModel): | |
| approve: bool = True | |
| subject_a: Optional[str] = None | |
| subject_b: Optional[str] = None | |
| deliver_email_list: Optional[List[str]] = Field(default_factory=list) | |
| deliver_x: Optional[bool] = False | |
| deliver_note: Optional[bool] = False | |
| class DeliverInput(BaseModel): | |
| channels: List[str] # ["email","x","note"] | |