import { createRouteHandlerClient } from "@supabase/auth-helpers-nextjs"; import { NextResponse } from "next/server"; import { cookies } from "next/headers"; import type { Database } from "@/lib/types"; export async function GET(request: Request) { const requestUrl = new URL(request.url); const code = requestUrl.searchParams.get("code"); const next = requestUrl.searchParams.get("next") ?? "/dashboard"; if (code) { const supabase = createRouteHandlerClient({ cookies }); const { error } = await supabase.auth.exchangeCodeForSession(code); if (error) { console.error(error); return NextResponse.redirect( new URL(`/login?authError=1`, requestUrl.origin), ); } const { data: { user }, } = await supabase.auth.getUser(); if (!user) { return NextResponse.redirect( new URL(`/login?noUser=1`, requestUrl.origin), ); } } return NextResponse.redirect(new URL(next, requestUrl.origin)); }