"""Pydantic schemas for Webhook endpoints.""" import uuid from datetime import datetime from typing import Any from pydantic import BaseModel, HttpUrl, ConfigDict class WebhookConfigCreate(BaseModel): name: str url: str secret: str | None = None events: list[str] = [] is_active: bool = True class WebhookConfigUpdate(BaseModel): name: str | None = None url: str | None = None secret: str | None = None events: list[str] | None = None is_active: bool | None = None class WebhookConfigOut(BaseModel): id: uuid.UUID name: str url: str secret: str | None = None # masked on read events: list[str] is_active: bool created_by: uuid.UUID | None = None last_triggered_at: datetime | None = None failure_count: int created_at: datetime | None = None model_config = ConfigDict(from_attributes=True)