fix: use maybeSingle for settings query to avoid failing when the table is empty
All checks were successful
Staging Build / build (push) Successful in 2m18s

This commit is contained in:
DanielS
2026-06-23 04:36:16 +02:00
parent b039da3ff8
commit 3228c76675

View File

@@ -39,11 +39,13 @@ export async function GET() {
return NextResponse.json({ error: 'Insufficient permissions' }, { status: 403 }); 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) { if (error) {
return NextResponse.json({ error: error.message }, { status: 500 }); 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) { 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 payload = await request.json(); // expect {host, port, secure, user, pass}
const { error } = await supabase const { error } = await supabase
.from('settings') .from('settings')
.upsert({ id: 'smtp', ...payload }) .upsert({ id: 'smtp', ...payload });
.single();
if (error) { if (error) {
return NextResponse.json({ error: error.message }, { status: 500 }); return NextResponse.json({ error: error.message }, { status: 500 });
} }