38 lines
900 B
TypeScript
38 lines
900 B
TypeScript
import { getTeamsFiltersFromQuery } from "@calcom/features/filters/lib/getTeamsFiltersFromQuery";
|
|
import type {
|
|
AppGetServerSidePropsContext,
|
|
AppPrisma,
|
|
AppSsrInit,
|
|
AppUser,
|
|
} from "@calcom/types/AppGetServerSideProps";
|
|
|
|
export const getServerSideProps = async function getServerSideProps(
|
|
context: AppGetServerSidePropsContext,
|
|
prisma: AppPrisma,
|
|
user: AppUser,
|
|
ssrInit: AppSsrInit
|
|
) {
|
|
if (!user) {
|
|
return {
|
|
redirect: {
|
|
permanent: false,
|
|
destination: "/auth/login",
|
|
},
|
|
};
|
|
}
|
|
const ssr = await ssrInit(context);
|
|
|
|
const filters = getTeamsFiltersFromQuery(context.query);
|
|
|
|
await ssr.viewer.appRoutingForms.forms.prefetch({
|
|
filters,
|
|
});
|
|
// Prefetch this so that New Button is immediately available
|
|
await ssr.viewer.teamsAndUserProfilesQuery.prefetch();
|
|
return {
|
|
props: {
|
|
trpcState: await ssr.dehydrate(),
|
|
},
|
|
};
|
|
};
|