From 07503e4552c385e25e04c4f6bf93c271438eafad Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Mon, 4 Nov 2024 09:29:13 +0000 Subject: [PATCH] Update migrate --- apps/web/src/app/guest.ts | 41 +++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/apps/web/src/app/guest.ts b/apps/web/src/app/guest.ts index 5ee833e6e..5989c020a 100644 --- a/apps/web/src/app/guest.ts +++ b/apps/web/src/app/guest.ts @@ -54,25 +54,32 @@ export async function migrateGuestFromNextAuthCookie( res: NextResponse, ) { const { name } = getNextAuthCookieSettings(); - if (req.cookies.has(name)) { - // get user session token - const token = req.cookies.get(name)?.value; - if (token) { - const jwt = await decode({ - token, - secret: process.env.SECRET_PASSWORD, + + const token = req.cookies.get(name)?.value; + + if (!token) { + return; + } + + try { + const jwt = await decode({ + token, + secret: process.env.SECRET_PASSWORD, + }); + + if (jwt?.sub && jwt?.locale) { + const user = await createGuestUser({ + id: jwt.sub, + locale: jwt.locale, + timeZone: jwt.timeZone ?? undefined, + weekStart: jwt.weekStart ?? undefined, + timeFormat: jwt.timeFormat ?? undefined, }); - if (jwt?.sub && jwt?.locale) { - const user = await createGuestUser({ - id: jwt.sub, - locale: jwt.locale, - timeZone: jwt.timeZone ?? undefined, - weekStart: jwt.weekStart ?? undefined, - timeFormat: jwt.timeFormat ?? undefined, - }); - res.cookies.set(GUEST_USER_COOKIE, JSON.stringify(user)); - } + res.cookies.set(GUEST_USER_COOKIE, JSON.stringify(user)); } + } catch (error) { + console.error("Failed to decode JWT:", error); + res.cookies.delete(name); } }