| 3 | import { NextResponse } from "next/server" |
| 4 | |
| 5 | export async function updateSession(request: NextRequest, response: NextResponse) { |
| 6 | const supabase = createServerClient( |
| 7 | process.env.NEXT_PUBLIC_SUPABASE_URL!, |
| 8 | process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, |
| 9 | { |
| 10 | cookies: { |
| 11 | getAll() { |
| 12 | const cookies = request.cookies.getAll() |
| 13 | return cookies |
| 14 | }, |
| 15 | setAll(cookiesToSet) { |
| 16 | cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value)) |
| 17 | const res = NextResponse.next({ request }) |
| 18 | cookiesToSet.forEach(({ name, value, options }) => |
| 19 | res.cookies.set(name, value, options), |
| 20 | ) |
| 21 | }, |
| 22 | }, |
| 23 | }, |
| 24 | ) |
| 25 | |
| 26 | try { |
| 27 | const { data: { user } } = await supabase.auth.getUser() |
| 28 | return { response, user } |
| 29 | } catch { |
| 30 | return { response, user: null } |
| 31 | } |
| 32 | } |