import { verifyMagicAuthCode } from '@/lib/auth/workosAuth'; import type { APIRoute } from 'astro'; export const POST: APIRoute = async ({ request }) => { const headers = { 'Content-Type': 'application/json' }; try { const { email, code } = await request.json(); if (!email || !code) { return new Response( JSON.stringify({ success: false, message: 'Please enter email address and verification code', }), { status: 400, headers } ); } const result = await verifyMagicAuthCode(email, code); if (!result.success || !result.userId) { return new Response( JSON.stringify({ success: false, message: result.error || 'From WorkOS: "The code you entered is wrong or expired. Please try again."', }), { status: 400, headers } ); } const sessionToken = Buffer.from(`${email}:${result.userId}:${Date.now()}`).toString('base64'); return new Response( JSON.stringify({ success: true, message: 'Email verified successfully', sessionToken, userId: result.userId, }), { status: 200, headers } ); } catch (error) { console.error('Error verifying code:', error); return new Response( JSON.stringify({ success: false, message: 'From WorkOS: "Verification failed. Please try again."', }), { status: 500, headers } ); } };