import { auth } from '@/auth'; import { NextRequest, NextResponse } from 'next/server'; import { checkService, type ServiceCheckResult } from '@/src/lib/monitor/check-service'; import { serviceSchema } from '@/src/lib/config/schema'; function jsonError(message: string, status: number) { return NextResponse.json({ error: message }, { status }); } export async function POST(request: NextRequest) { const session = await auth(); if (!session) { return jsonError('Unauthorized', 401); } try { const body = await request.json(); const service = serviceSchema.parse(body); const result: ServiceCheckResult = await checkService(service); return NextResponse.json(result); } catch (error) { console.error('Error testing service:', error); if (error instanceof Error) { return jsonError(`Failed to test service: ${error.message}`, 400); } return jsonError('Failed to test service', 500); } }