import { getDb } from '~/server/utils/database' import { requireAuth } from '~/server/utils/auth' export default defineEventHandler(async (event) => { const user = await requireAuth(event) const db = getDb() try { // Delete user's notes first (foreign key constraint) db.prepare('DELETE FROM notes WHERE user_id = ?').run(user.id) // Delete user's sessions db.prepare('DELETE FROM sessions WHERE username = ?').run(user.username) // Delete the user db.prepare('DELETE FROM users WHERE id = ?').run(user.id) // Clear the auth cookie deleteCookie(event, 'session_token') return { success: true, message: 'Profile deleted successfully' } } catch (error) { console.error('Error deleting profile:', error) throw createError({ statusCode: 500, message: 'Failed to delete profile' }) } })