From a8d4ae7288d8007aaff51cb3ca9f45d6b58101b3 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Wed, 6 Sep 2023 18:27:55 -0500 Subject: [PATCH] Protect /checklist route --- src/auth/index.ts | 9 +++++---- src/site/routes.ts | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/auth/index.ts b/src/auth/index.ts index 77f6e1a6..03d8d8b0 100644 --- a/src/auth/index.ts +++ b/src/auth/index.ts @@ -1,3 +1,4 @@ +import { isRouteProtected } from '@/site/routes'; import NextAuth, { User, type DefaultSession } from 'next-auth'; import Credentials from 'next-auth/providers/credentials'; import { NextResponse } from 'next/server'; @@ -39,16 +40,16 @@ export const { const url = new URL(request.url); const { pathname } = url; - const isUrlProtected = pathname.startsWith('/admin'); - const isLoggedIn = !!auth?.user; - const isAuthorized = !isUrlProtected || isLoggedIn; + const isUrlProtected = isRouteProtected(pathname); + const isUserLoggedIn = !!auth?.user; + const isRequestAuthorized = !isUrlProtected || isUserLoggedIn; if (pathname === '/admin') { url.pathname = '/admin/photos'; return NextResponse.redirect(url); } - return isAuthorized; + return isRequestAuthorized; }, }, pages: { diff --git a/src/site/routes.ts b/src/site/routes.ts index 4ebd97eb..255cfd6b 100644 --- a/src/site/routes.ts +++ b/src/site/routes.ts @@ -21,3 +21,7 @@ export const isRoutePhotoShare = (pathname = '') => export const isRouteSignIn = (pathname = '') => pathname.startsWith('/sign-in'); + +export const isRouteProtected = (pathname = '') => + pathname.startsWith('/admin') || + pathname === '/checklist';