inspannings-monitor/lib/supabase/proxy.ts
2026-04-18 14:18:26 +02:00

40 lines
969 B
TypeScript

import { createServerClient } from "@supabase/ssr";
import { NextResponse, type NextRequest } from "next/server";
import { getSupabaseEnv, hasSupabaseEnv } from "@/lib/supabase/config";
export async function updateSession(request: NextRequest) {
let response = NextResponse.next({
request,
});
if (!hasSupabaseEnv()) {
return response;
}
const { url, publishableKey } = getSupabaseEnv();
const supabase = createServerClient(url, publishableKey, {
cookies: {
getAll() {
return request.cookies.getAll();
},
setAll(cookiesToSet) {
cookiesToSet.forEach(({ name, value }) => {
request.cookies.set(name, value);
});
response = NextResponse.next({
request,
});
cookiesToSet.forEach(({ name, value, options }) => {
response.cookies.set(name, value, options);
});
},
},
});
await supabase.auth.getClaims();
return response;
}