Files
OmniRoute/src/lib/db/migrations/011_webhooks.sql
diegosouzapw 80cc7340ac feat: API Endpoints dashboard — interactive catalog, webhooks, OpenAPI viewer
Phase 1: Interactive REST API Catalog
- GET /api/openapi/spec: serves parsed openapi.yaml as JSON catalog
- POST /api/openapi/try: Try It proxy for inline endpoint testing
- Endpoint catalog with tag grouping, search, method badges
- Expand: schemas, auth, curl examples, Try It panel

Phase 2: OpenAPI Spec Viewer
- Spec info header with version, download YAML/JSON, schema browser

Phase 3: Webhooks & Event Subscriptions
- Migration 011: webhooks table
- src/lib/db/webhooks.ts: CRUD + delivery tracking + auto-disable
- src/lib/webhookDispatcher.ts: HMAC-SHA256, retries
- API: CRUD /api/webhooks + test delivery
- Dashboard: add/edit/toggle/test/delete webhook UI

923 tests pass, tsc clean
2026-03-23 22:07:10 -03:00

16 lines
422 B
SQL

-- Migration 011: Webhooks for event subscriptions
-- Part of API Endpoints dashboard (#563)
CREATE TABLE IF NOT EXISTS webhooks (
id TEXT PRIMARY KEY,
url TEXT NOT NULL,
events TEXT NOT NULL DEFAULT '["*"]',
secret TEXT,
enabled INTEGER DEFAULT 1,
description TEXT DEFAULT '',
created_at TEXT DEFAULT (datetime('now')),
last_triggered_at TEXT,
last_status INTEGER,
failure_count INTEGER DEFAULT 0
);