From 3740ed642a44d23d516f3ee5db8b1159f68c0519 Mon Sep 17 00:00:00 2001 From: giancarlo Date: Fri, 10 May 2024 22:52:28 +0700 Subject: [PATCH] Refactor middleware to decompose user data object This commit modifies the middleware in web application to decompose the user object from the returned data of the getUser function. This is a simplification of the code, eliminating unnecessary references to the "data" object when accessing the user's details and role. It's carried out in all places where the getUser function is called and user data is processed. --- apps/web/middleware.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/web/middleware.ts b/apps/web/middleware.ts index ef9d74cbf..e75cb6ecf 100644 --- a/apps/web/middleware.ts +++ b/apps/web/middleware.ts @@ -96,17 +96,20 @@ async function adminMiddleware(request: NextRequest, response: NextResponse) { return response; } - const { data, error } = await getUser(request, response); + const { + data: { user }, + error, + } = await getUser(request, response); // If user is not logged in, redirect to sign in page. // This should never happen, but just in case. - if (!data.user || error) { + if (!user || error) { return NextResponse.redirect( new URL(pathsConfig.auth.signIn, request.nextUrl.origin).href, ); } - const role = data.user?.app_metadata.role; + const role = user?.app_metadata.role; // If user is not an admin, redirect to 404 page. if (!role || role !== 'super-admin') { @@ -129,7 +132,9 @@ function getPatterns() { { pattern: new URLPattern({ pathname: '/auth*' }), handler: async (req: NextRequest, res: NextResponse) => { - const { data: user } = await getUser(req, res); + const { + data: { user }, + } = await getUser(req, res); // the user is logged out, so we don't need to do anything if (!user) { @@ -151,7 +156,9 @@ function getPatterns() { { pattern: new URLPattern({ pathname: '/home*' }), handler: async (req: NextRequest, res: NextResponse) => { - const { data: user } = await getUser(req, res); + const { + data: { user }, + } = await getUser(req, res); const origin = req.nextUrl.origin; const next = req.nextUrl.pathname;