diff --git a/shop/app/api/admin/smtp-settings/route.ts b/shop/app/api/admin/smtp-settings/route.ts index d8664c0..06ac7eb 100644 --- a/shop/app/api/admin/smtp-settings/route.ts +++ b/shop/app/api/admin/smtp-settings/route.ts @@ -1,11 +1,29 @@ // API route for getting and updating SMTP settings (protected by admin check) import { NextResponse } from 'next/server'; import { createServerClient } from '@supabase/ssr'; - +import { cookies } from 'next/headers'; export async function GET() { + const cookieStore = await cookies(); + const supabase = createServerClient( process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', - process.env.SUPABASE_SERVICE_ROLE_KEY ?? '' + process.env.SUPABASE_SERVICE_ROLE_KEY ?? '', + { + cookies: { + getAll() { + return cookieStore.getAll() + }, + setAll(cookiesToSet) { + try { + cookiesToSet.forEach(({ name, value, options }) => + cookieStore.set(name, value, options) + ) + } catch { + // Kann in einer API-Route ignoriert werden, wenn nur gelesen wird + } + }, + }, + } ); const { data: { session } } = await supabase.auth.getSession(); @@ -25,10 +43,28 @@ export async function GET() { } export async function POST(request: Request) { - const supabase = createServerClient( - process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', - process.env.SUPABASE_SERVICE_ROLE_KEY ?? '' - ); + const cookieStore = await cookies(); + + const supabase = createServerClient( + process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', + process.env.SUPABASE_SERVICE_ROLE_KEY ?? '', + { + cookies: { + getAll() { + return cookieStore.getAll() + }, + setAll(cookiesToSet) { + try { + cookiesToSet.forEach(({ name, value, options }) => + cookieStore.set(name, value, options) + ) + } catch { + // Kann in einer API-Route ignoriert werden, wenn nur gelesen wird + } + }, + }, + } + ); const { data: { session } } = await supabase.auth.getSession(); if (!session) {