""" Pydantic schemas for the example plugin. Customize these for your plugin's API request/response models. """ from __future__ import annotations from datetime import datetime from uuid import UUID from pydantic import BaseModel, Field class ExampleItemBase(BaseModel): """Base schema for an example item.""" name: str = Field(..., min_length=1, max_length=200, description="Item name") description: str | None = Field(None, max_length=1000, description="Item description") class ExampleItemCreate(ExampleItemBase): """Schema for creating an example item.""" pass class ExampleItemUpdate(BaseModel): """Schema for updating an example item.""" name: str | None = Field(None, min_length=1, max_length=200) description: str | None = Field(None, max_length=1000) class ExampleItemResponse(ExampleItemBase): """Schema for returning an example item.""" id: UUID tenant_id: UUID is_active: bool created_at: datetime updated_at: datetime model_config = {"from_attributes": True} class ExampleItemListResponse(BaseModel): """Schema for a paginated list of example items.""" items: list[ExampleItemResponse] total: int