'use server' import type { WebhookSecretResult } from './types' import { requireRole, UserRole } from '@admin/auth/middleware' import db from '@admin/db' import { webhooks } from '@admin/db/schema' import { toActionError } from '@admin/utils/error/to-action-error' import { eq } from 'drizzle-orm' export async function getWebhookSecret(id: string): Promise { await requireRole([UserRole.ADMIN]) try { const [row] = await db .select({ secret: webhooks.secret }) .from(webhooks) .where(eq(webhooks.id, id)) .limit(1) if (!row) return { success: false, error: 'Webhook not found' } return { success: true, secret: row.secret } } catch (error) { console.error('Error fetching webhook secret:', error) return { success: false, error: toActionError(error, 'Failed to fetch webhook secret') } } }