import { NextRequest, NextResponse } from 'next/server'; import { DemoFaceValidationAdapter } from '@gridpilot/demo-infrastructure'; const faceValidation = new DemoFaceValidationAdapter(); export async function POST(request: NextRequest) { try { const body = await request.json(); const { imageData } = body; if (!imageData) { return NextResponse.json( { isValid: false, errorMessage: 'No image data provided' }, { status: 400 } ); } // Extract base64 data if it's a data URL let base64Data = imageData; if (imageData.startsWith('data:')) { base64Data = imageData.split(',')[1] || imageData; } const result = await faceValidation.validateFacePhoto(base64Data); return NextResponse.json(result); } catch (error) { console.error('Face validation error:', error); return NextResponse.json( { isValid: false, hasFace: false, faceCount: 0, confidence: 0, errorMessage: 'Failed to validate photo' }, { status: 500 } ); } }