From 86d71b2441051b88a7dd0d7cb600d9a34993390d Mon Sep 17 00:00:00 2001 From: DanielS Date: Thu, 25 Jun 2026 01:30:10 +0200 Subject: [PATCH] fix: improve deleteUser error logging and handling to prevent silent DB failures --- shop/lib/actions/users.ts | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/shop/lib/actions/users.ts b/shop/lib/actions/users.ts index 132eb5a..604af44 100644 --- a/shop/lib/actions/users.ts +++ b/shop/lib/actions/users.ts @@ -90,13 +90,25 @@ export async function createUser(data: { email: string; role?: 'admin' | 'partne } export async function deleteUser(id: string) { - const admin = createAdminClient(); - // Delete from public.users first to satisfy foreign key constraints - await admin.from('users').delete().eq('id', id); - - const { error } = await admin.auth.admin.deleteUser(id); - if (error) throw error; - revalidatePath('/admin/users'); + try { + const admin = createAdminClient(); + // Delete from public.users first to satisfy foreign key constraints + const { error: dbError } = await admin.from('users').delete().eq('id', id); + if (dbError) { + console.error('Database delete user error:', dbError); + throw new Error(`Datenbank-Fehler beim Löschen des Benutzers: ${dbError.message}`); + } + + const { error } = await admin.auth.admin.deleteUser(id); + if (error) { + console.error('Auth delete user error:', error); + throw new Error(`Auth-Fehler beim Löschen des Benutzers: ${error.message}`); + } + revalidatePath('/admin/users'); + } catch (err: any) { + console.error('deleteUser Server Action failed:', err); + throw new Error(err.message || 'Benutzer konnte nicht gelöscht werden.'); + } } export async function updateUserRole(id: string, role: 'admin' | 'partner' | 'gesperrt') {