import { NextRequest, NextResponse } from 'next/server'; import { z } from 'zod'; import { getSession, isSuperAdmin } from '@/lib/auth'; import { settingsService } from '@/lib/settings'; import { Role } from '@/types'; const testSchema = z.object({ service: z.enum(['ghl', 'stripe']), }); export async function POST(request: NextRequest) { const session = await getSession(); if (!session || !isSuperAdmin(session.user.role as Role)) { return NextResponse.json({ error: 'Forbidden' }, { status: 403 }); } try { const body = await request.json(); const { service } = testSchema.parse(body); let result; if (service === 'ghl') { result = await settingsService.testGHLConnection(); } else if (service === 'stripe') { result = await settingsService.testStripeConnection(); } return NextResponse.json(result); } catch (error) { return NextResponse.json({ error: 'Test failed' }, { status: 500 }); } }