import { NextRequest, NextResponse } from 'next/server'; import { createDomainManager, validateDomainAccess } from '@/lib/domainManagement'; export async function POST( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const universityId = request.headers.get('x-university-id'); if (!universityId) { return NextResponse.json( { error: 'University context required' }, { status: 400 } ); } const hasAccess = await validateDomainAccess(request, id); if (!hasAccess) { return NextResponse.json( { error: 'Access denied' }, { status: 403 } ); } const domainManager = createDomainManager(universityId); const isValid = await domainManager.validateDomainOwnership(id); return NextResponse.json({ success: true, data: { domainId: id, isValid, message: isValid ? 'Domain validated successfully' : 'Domain validation failed', }, }); } catch (error) { console.error('Error validating domain:', error); return NextResponse.json( { error: 'Failed to validate domain' }, { status: 500 } ); } }