From 3228c766757b250b4d40650e53d66018aac8fa75 Mon Sep 17 00:00:00 2001 From: DanielS Date: Tue, 23 Jun 2026 04:36:16 +0200 Subject: [PATCH] fix: use maybeSingle for settings query to avoid failing when the table is empty --- shop/app/api/admin/smtp-settings/route.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/shop/app/api/admin/smtp-settings/route.ts b/shop/app/api/admin/smtp-settings/route.ts index 2aeb518..76d1f3c 100644 --- a/shop/app/api/admin/smtp-settings/route.ts +++ b/shop/app/api/admin/smtp-settings/route.ts @@ -39,11 +39,13 @@ export async function GET() { return NextResponse.json({ error: 'Insufficient permissions' }, { status: 403 }); } - const { data, error } = await supabase.from('settings').select('*').single(); + const { data, error } = await supabase.from('settings').select('*').maybeSingle(); if (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } - return NextResponse.json({ settings: data }); + return NextResponse.json({ + settings: data || { host: '', port: 587, secure: false, user: '', pass: '' } + }); } export async function POST(request: Request) { @@ -86,8 +88,7 @@ export async function POST(request: Request) { const payload = await request.json(); // expect {host, port, secure, user, pass} const { error } = await supabase .from('settings') - .upsert({ id: 'smtp', ...payload }) - .single(); + .upsert({ id: 'smtp', ...payload }); if (error) { return NextResponse.json({ error: error.message }, { status: 500 }); }