import type { GetServerSidePropsContext } from "next"; import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; import { ssrInit } from "@server/lib/ssr"; export const getServerSideProps = async (context: GetServerSidePropsContext) => { const ssr = await ssrInit(context); await ssr.viewer.me.prefetch(); const session = await getServerSession({ req: context.req, res: context.res }); const token = Array.isArray(context.query?.token) ? context.query.token[0] : context.query?.token; const callbackUrl = token ? `/teams?token=${encodeURIComponent(token)}` : null; if (!session) { return { redirect: { destination: callbackUrl ? `/auth/login?callbackUrl=${callbackUrl}` : "/auth/login", permanent: false, }, }; } return { props: { trpcState: ssr.dehydrate() } }; };