import { createOrGetWorkOSUser, sendMagicAuthCode } from '@/lib/auth/workosAuth'; import type { APIRoute } from 'astro'; export const POST: APIRoute = async ({ request }) => { const headers = { 'Content-Type': 'application/json' }; try { const { email } = await request.json(); if (!email || !email.includes('@')) { return new Response(JSON.stringify({ success: false, message: 'Invalid email address' }), { status: 400, headers, }); } const { userId: workosUserId, error: userError } = await createOrGetWorkOSUser(email); if (!workosUserId) { return new Response( JSON.stringify({ success: false, message: userError || 'Failed to create user' }), { status: 500, headers } ); } const { error } = await sendMagicAuthCode(email); if (error) { return new Response(JSON.stringify({ success: false, message: error }), { status: 500, headers, }); } return new Response( JSON.stringify({ success: true, message: 'Verification code sent', workosUserId }), { status: 200, headers } ); } catch { return new Response(JSON.stringify({ success: false, message: 'Internal server error' }), { status: 500, headers, }); } };