delete profile fix

This commit is contained in:
2025-10-12 00:10:00 -04:00
parent c4674a4c85
commit 740ff82642

View File

@@ -1,23 +1,39 @@
import { getDb } from '~/server/utils/database'
import { requireAuth } from '~/server/utils/auth'
import { getUserByUsername } from '~/server/utils/database'
import { getAuthUser, clearAuthCookie } from '~/server/utils/auth'
export default defineEventHandler(async (event) => {
const user = await requireAuth(event)
const authUser = await getAuthUser(event)
const db = getDb()
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 notes first (foreign key constraint)
db.prepare('DELETE FROM notes WHERE user_id = ?').run(user.id)
db.prepare('DELETE FROM notes WHERE user_id = ?').run(currentUser.id)
// Delete user's sessions
db.prepare('DELETE FROM sessions WHERE username = ?').run(user.username)
db.prepare('DELETE FROM sessions WHERE username = ?').run(currentUser.username)
// Delete the user
db.prepare('DELETE FROM users WHERE id = ?').run(user.id)
db.prepare('DELETE FROM users WHERE id = ?').run(currentUser.id)
// Clear the auth cookie
deleteCookie(event, 'session_token')
clearAuthCookie(event)
return {
success: true,