import { getUserByUsername } from '~/server/utils/database' import { getAuthUser, clearAuthCookie } from '~/server/utils/auth' export default defineEventHandler(async (event) => { const authUser = await getAuthUser(event) if (!authUser) { throw createError({ statusCode: 401, message: 'Unauthorized' }) } const db = (await import('~/server/utils/database')).getDatabase() // Get current user data const currentUser = getUserByUsername(authUser.username) if (!currentUser) { throw createError({ statusCode: 404, message: 'User not found' }) } try { // Delete user's sessions db.prepare('DELETE FROM sessions WHERE username = ?').run(currentUser.username) // Delete the user (sermon_notes will be automatically deleted via CASCADE) db.prepare('DELETE FROM users WHERE id = ?').run(currentUser.id) // Clear the auth cookie clearAuthCookie(event) return { success: true, message: 'Profile deleted successfully' } } catch (error) { console.error('Error deleting profile:', error) throw createError({ statusCode: 500, message: 'Failed to delete profile' }) } })