Webhook Management Page
Create an Angular page for managing webhook triggers and monitoring webhook events using the existing WebhookRegistry and WebhookAwareEngine.
Backend Endpoints Needed
GET /admin/webhooks — List all registered webhooks
POST /admin/webhooks — Register a new webhook
DELETE /admin/webhooks/{id} — Unregister a webhook
GET /admin/webhooks/{id}/events — List events triggered for this webhook
GET /admin/webhooks/events — Global event log
UI Requirements
Webhook List
- Cards/Table: URL, key prefix, status (active/inactive), last triggered, success count, failure count
- Toggle: Enable/disable individual webhooks
- Test Button: Send test event to verify webhook works
- Delete: Remove webhook with confirmation
Registration Form
- URL: Input with validation (must be valid HTTP/HTTPS URL)
- Key Prefix: Input for key prefix to match
- Events: Checkboxes for event types (PUT, DELETE, ALL)
- Headers: Optional custom headers (key-value pairs table)
- Retry Policy: Max retries, backoff interval
Event Log
- Table: Timestamp, webhook URL, event type, key, HTTP status, duration, response body (truncated)
- Filter: By webhook, by status (success/failure), by date range
- Details: Expand row to see full request/response
Component Structure
app/
pages/
webhooks/
webhooks.component.ts
webhooks.component.html
webhooks.component.scss
webhook-form.component.ts
webhook-form.component.html
webhook-form.component.scss
webhook-events.component.ts
webhook-events.component.html
webhook-events.component.scss
Acceptance Criteria
Parent Epic
#290
Webhook Management Page
Create an Angular page for managing webhook triggers and monitoring webhook events using the existing
WebhookRegistryandWebhookAwareEngine.Backend Endpoints Needed
UI Requirements
Webhook List
Registration Form
Event Log
Component Structure
Acceptance Criteria
Parent Epic
#290