"""Pydantic models for API"""
from pydantic import BaseModel, Field
from typing import Optional, List, Dict, Any


class WebhookEntry(BaseModel):
    """Facebook webhook entry"""
    id: str
    time: int
    messaging: Optional[List[Dict[str, Any]]] = None


class WebhookData(BaseModel):
    """Facebook webhook data"""
    object: str
    entry: List[WebhookEntry]


class TestMessageRequest(BaseModel):
    """Test message request"""
    page_id: str = Field(..., description="Facebook page ID")
    message_text: str = Field(..., description="Message text to test")
    sender_id: str = Field(default="test_user_123", description="Sender ID")
