Files
calendar/packages/features/auth/lib/getServerSession.ts
T
2317473545 feat(web): improve session retrieval performance (#7584)
* feat(web): improve session retrieval performance

Switch to using `getServerSession` which avoids a HTTP round trip to retrieve session details.

Additionally, migrate deprecated `app/lib/auth` calls to to `@calcom/lib` package.

* fix: update failing test and lint

* Consolidates auth code in features

* Update yarn.lock

* Update packages/trpc/server/createContext.ts

* Oopsie

---------

Co-authored-by: zomars <zomars@me.com>
2023-03-10 23:45:24 +00:00

19 lines
712 B
TypeScript

import type { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from "next";
import type { AuthOptions, Session } from "next-auth";
import { getServerSession as getServerSessionInner } from "next-auth/next";
import { AUTH_OPTIONS } from "./next-auth-options";
export async function getServerSession(options: {
req: NextApiRequest | GetServerSidePropsContext["req"];
res: NextApiResponse | GetServerSidePropsContext["res"];
authOptions?: AuthOptions;
}) {
const { req, res, authOptions = AUTH_OPTIONS } = options;
const session = await getServerSessionInner(req, res, authOptions);
// that these are equal are ensured in `[...nextauth]`'s callback
return session as Session | null;
}