This commit is contained in:
hailin 2025-05-21 19:03:22 +08:00
parent f574d1434b
commit 0c9c5770b5
1 changed files with 30 additions and 29 deletions

View File

@ -4,42 +4,43 @@ import { NextResponse, type NextRequest } from "next/server"
import i18nConfig from "./i18nConfig" import i18nConfig from "./i18nConfig"
export async function middleware(request: NextRequest) { export async function middleware(request: NextRequest) {
const i18nResult = i18nRouter(request, i18nConfig) // const i18nResult = i18nRouter(request, i18nConfig)
if (i18nResult) return i18nResult // if (i18nResult) return i18nResult
try { // try {
const { supabase, response } = createClient(request) // const { supabase, response } = createClient(request)
const session = await supabase.auth.getSession() // const session = await supabase.auth.getSession()
const redirectToChat = session && request.nextUrl.pathname === "/" // const redirectToChat = session && request.nextUrl.pathname === "/"
if (redirectToChat) { // if (redirectToChat) {
const { data: homeWorkspace, error } = await supabase // const { data: homeWorkspace, error } = await supabase
.from("workspaces") // .from("workspaces")
.select("*") // .select("*")
.eq("user_id", session.data.session?.user.id) // .eq("user_id", session.data.session?.user.id)
.eq("is_home", true) // .eq("is_home", true)
.single() // .single()
if (!homeWorkspace) { // if (!homeWorkspace) {
throw new Error(error?.message) // throw new Error(error?.message)
} // }
console.log("[middleware] redirecting to ",`/${homeWorkspace.id}/chat`) // console.log("[middleware] redirecting to ",`/${homeWorkspace.id}/chat`)
return NextResponse.redirect( // return NextResponse.redirect(
new URL(`/${homeWorkspace.id}/chat`, request.url) // new URL(`/${homeWorkspace.id}/chat`, request.url)
) // )
} // }
return response // return response
} catch (e) { // } catch (e) {
return NextResponse.next({ // return NextResponse.next({
request: { // request: {
headers: request.headers // headers: request.headers
} // }
}) // })
} // }
return NextResponse.next();
} }
export const config = { export const config = {