since3-portal/proxy.ts
2026-09-29 22:56:37 +02:00

26 lines
No EOL
786 B
TypeScript

import { NextRequest, NextResponse } from "next/server";
import { createClient } from "./lib/supabase/proxy";
const publicRoutes = ["/"]
export default async function proxy(request: NextRequest) {
const { supabase, response } = createClient(request)
const { data: { user } } = await supabase.auth.getUser()
const isPublicRoute = publicRoutes.includes(request.nextUrl.pathname)
if (!user && !isPublicRoute) {
const redirectResponse = NextResponse.redirect(new URL("/", request.url))
response.cookies.getAll().forEach((cookie) => redirectResponse.cookies.set(cookie))
return redirectResponse
}
return response
}
export const config = {
matcher: ["/((?!_next/static|_next/image|favicon.ico|pictures|manifest.webmanifest|apple-icon|icons/icon-).*)"],
}