import { createTRPCRouter, adminProcedure } from "../trpc.js"; import { CreateWebhookInputSchema, createWebhook, deleteWebhook, getWebhookById, listWebhooks, testWebhook, UpdateWebhookProcedureInputSchema, updateWebhook, WebhookIdInputSchema, } from "./webhook-procedure-support.js"; export const webhookRouter = createTRPCRouter({ /** List all webhooks. */ list: adminProcedure.query(({ ctx }) => listWebhooks(ctx)), /** Get a single webhook by ID. */ getById: adminProcedure .input(WebhookIdInputSchema) .query(({ ctx, input }) => getWebhookById(ctx, input)), /** Create a new webhook. */ create: adminProcedure .input(CreateWebhookInputSchema) .mutation(({ ctx, input }) => createWebhook(ctx, input)), /** Update an existing webhook. */ update: adminProcedure .input(UpdateWebhookProcedureInputSchema) .mutation(({ ctx, input }) => updateWebhook(ctx, input)), /** Delete a webhook. */ delete: adminProcedure .input(WebhookIdInputSchema) .mutation(({ ctx, input }) => deleteWebhook(ctx, input)), /** Send a test payload to a webhook URL. */ test: adminProcedure .input(WebhookIdInputSchema) .mutation(({ ctx, input }) => testWebhook(ctx, input)), });