Add onboarding_dismissed and branding columns (logo_data, logo_content_type, company_display_name) to users and teams models. Create SessionSupportingData model for attaching text snippets and screenshots to sessions. Add Pydantic schemas for onboarding status, branding responses, and supporting data CRUD. Update SessionExport to accept pdf format. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
31 lines
847 B
Python
31 lines
847 B
Python
from datetime import datetime
|
|
from typing import Literal, Optional
|
|
from uuid import UUID
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class SupportingDataCreate(BaseModel):
|
|
label: str = Field(..., min_length=1, max_length=255)
|
|
data_type: Literal["text_snippet", "screenshot"]
|
|
content: str = Field(..., min_length=1, max_length=5_000_000)
|
|
content_type: Optional[str] = Field(None, max_length=50)
|
|
|
|
|
|
class SupportingDataUpdate(BaseModel):
|
|
label: Optional[str] = Field(None, min_length=1, max_length=255)
|
|
content: Optional[str] = Field(None, min_length=1)
|
|
|
|
|
|
class SupportingDataResponse(BaseModel):
|
|
id: UUID
|
|
session_id: UUID
|
|
label: str
|
|
data_type: str
|
|
content: str
|
|
content_type: Optional[str]
|
|
sort_order: int
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
model_config = {"from_attributes": True}
|