| from datetime import datetime | |
| from typing import Optional, List | |
| from uuid import UUID | |
| from pydantic import BaseModel, Field | |
| class AnnouncementBase(BaseModel): | |
| title: str = Field(..., max_length=200) | |
| content: str = Field(..., max_length=2000) | |
| class AnnouncementCreate(AnnouncementBase): | |
| pass | |
| class Announcement(AnnouncementBase): | |
| id: UUID | |
| organization_id: UUID | |
| author_id: UUID | |
| author_name: Optional[str] = None | |
| created_at: datetime | |
| updated_at: datetime | |
| class Config: | |
| from_attributes = True | |
| class AnnouncementListResponse(BaseModel): | |
| announcements: List[Announcement] | |
| total: int | |