import { createClient } from '@/utils/supabase/server' import { redirect } from 'next/navigation' import { NextResponse } from 'next/server' export async function POST(request: Request) { const supabase = await createClient() // Check if user is authenticated const { data: { user }, } = await supabase.auth.getUser() if (!user) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) } // Perform soft deletes const now = new Date().toISOString() // 1. Soft delete usage data (card_progress) await supabase .from('card_progress') .update({ deleted_at: now }) .eq('user_id', user.id) // 2. Soft delete content (decks) await supabase .from('decks') .update({ deleted_at: now }) .eq('creator_id', user.id) // 3. Soft delete organization (folders) await supabase .from('folders') .update({ deleted_at: now }) .eq('user_id', user.id) // 4. Soft delete profile await supabase .from('profiles') .update({ deleted_at: now }) .eq('id', user.id) // 5. Sign out await supabase.auth.signOut() return NextResponse.redirect(new URL('/', request.url)) }