From fe25239a4eee23c552957401d83b6f423fcd7c00 Mon Sep 17 00:00:00 2001 From: Nafees Nazik <84864519+G3root@users.noreply.github.com> Date: Tue, 14 Nov 2023 15:07:39 +0530 Subject: [PATCH] feat: cache getServerComponentSession calls (#644) --- packages/lib/next-auth/get-server-session.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/lib/next-auth/get-server-session.ts b/packages/lib/next-auth/get-server-session.ts index f9196369f..6a61ed8fd 100644 --- a/packages/lib/next-auth/get-server-session.ts +++ b/packages/lib/next-auth/get-server-session.ts @@ -1,3 +1,5 @@ +import { cache } from 'react'; + import { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from 'next'; import { getServerSession as getNextAuthServerSession } from 'next-auth'; @@ -27,7 +29,7 @@ export const getServerSession = async ({ req, res }: GetServerSessionOptions) => return { user, session }; }; -export const getServerComponentSession = async () => { +export const getServerComponentSession = cache(async () => { const session = await getNextAuthServerSession(NEXT_AUTH_OPTIONS); if (!session || !session.user?.email) { @@ -41,9 +43,9 @@ export const getServerComponentSession = async () => { }); return { user, session }; -}; +}); -export const getRequiredServerComponentSession = async () => { +export const getRequiredServerComponentSession = cache(async () => { const { user, session } = await getServerComponentSession(); if (!user || !session) { @@ -51,4 +53,4 @@ export const getRequiredServerComponentSession = async () => { } return { user, session }; -}; +});