from datetime import datetime from typing import Any from pydantic import BaseModel, Field class TemplateCreate(BaseModel): name: str = Field(min_length=1, max_length=120) description: str = Field(default="", max_length=500) category: str = Field(default="General", min_length=1, max_length=60) emoji: str = Field(default="📄", max_length=8) content: dict[str, Any] = Field(default_factory=dict) class TemplateResponse(TemplateCreate): id: str owner_id: int created_at: datetime updated_at: datetime members: list[dict[str, Any]] = Field(default_factory=list) class TemplateShareRequest(BaseModel): email_or_username: str