From b02020d9a344a474e53a840eda3bbf75353dc757 Mon Sep 17 00:00:00 2001 From: Arvin Xu Date: Mon, 17 Jun 2024 22:42:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20fix=20onboard=20and=20aut?= =?UTF-8?q?h=20for=20community=20version=20(#2908)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/middleware.ts | 15 +++++++++++++-- src/server/routers/lambda/user.ts | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/middleware.ts b/src/middleware.ts index 5ace6ddfc6187..7b58a58b8f3a4 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,4 +1,4 @@ -import { clerkMiddleware } from '@clerk/nextjs/server'; +import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server'; import { NextResponse } from 'next/server'; import { authEnv } from '@/config/auth'; @@ -13,6 +13,7 @@ export const config = { // include the / '/', '/chat(.*)', + '/settings(.*)', // ↓ cloud ↓ ], }; @@ -42,8 +43,18 @@ const nextAuthMiddleware = auth((req) => { }); }); +const isProtectedRoute = createRouteMatcher([ + '/settings(.*)', + // ↓ cloud ↓ +]); + export default authEnv.NEXT_PUBLIC_ENABLE_CLERK_AUTH - ? clerkMiddleware() + ? clerkMiddleware( + (auth, req) => { + if (isProtectedRoute(req)) auth().protect(); + }, + { signInUrl: '/login', signUpUrl: '/signup' }, + ) : authEnv.NEXT_PUBLIC_ENABLE_NEXT_AUTH ? nextAuthMiddleware : defaultMiddleware; diff --git a/src/server/routers/lambda/user.ts b/src/server/routers/lambda/user.ts index 64239233ace1d..bfab1e154a695 100644 --- a/src/server/routers/lambda/user.ts +++ b/src/server/routers/lambda/user.ts @@ -28,7 +28,8 @@ export const userRouter = router({ // 有消息,或者创建过助手,则认为有 conversation hasConversation: messageCount > 0 || sessionCount > 1, - isOnboard: state.isOnboarded || false, + // always return true for community version + isOnboard: state.isOnboarded || true, preference: state.preference as UserPreference, settings: state.settings, userId: ctx.userId,