/** * GET /api/webhooks * List all webhooks */ import { query } from '../../utils/database' interface WebhookRow { id: string name: string url: string events: string[] is_active: boolean instance_id: string | null created_at: Date } export default defineEventHandler(async (event) => { const username = getHeader(event, 'x-authentik-username') if (!username) { throw createError({ statusCode: 401, message: 'Unauthorized' }) } const result = await query( `SELECT w.id, w.name, w.url, w.events, w.is_active, w.instance_id, w.created_at, i.name as instance_name FROM webhooks w LEFT JOIN instances i ON w.instance_id = i.id ORDER BY w.created_at DESC` ) return result.rows.map(row => ({ id: row.id, name: row.name, url: row.url, events: row.events, isActive: row.is_active, instanceId: row.instance_id, createdAt: row.created_at })) })