-
Notifications
You must be signed in to change notification settings - Fork 6
/
middleware.ts
22 lines (21 loc) · 758 Bytes
/
middleware.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { NextResponse } from "next/server"
import type { NextRequest } from "next/server"
import { supabaseClient } from "@/lib/supabase"
import { SESSION_COOKIE_NAME } from "@/lib/config"
export async function middleware(request: NextRequest) {
if (request.nextUrl.pathname === "/") {
const sessionId = request.cookies.get(SESSION_COOKIE_NAME)?.value
if (!sessionId) {
return NextResponse.redirect(new URL("/home", request.url))
}
const { data: user } = await supabaseClient
.from("profile")
.select("*")
.eq("session_id", sessionId)
.single()
if (!user) {
return NextResponse.redirect(new URL("/home", request.url))
}
return NextResponse.redirect(new URL("/dashboard", request.url))
}
}