diff --git a/apps/web/pages/settings/organizations/members.tsx b/apps/web/pages/settings/organizations/members.tsx index c642078d0c..a175173e5d 100644 --- a/apps/web/pages/settings/organizations/members.tsx +++ b/apps/web/pages/settings/organizations/members.tsx @@ -3,7 +3,12 @@ import MembersView from "@calcom/features/ee/organizations/pages/settings/member import type { CalPageWrapper } from "@components/PageWrapper"; import PageWrapper from "@components/PageWrapper"; -const Page = MembersView as CalPageWrapper; +export { + getServerSidePropsForMembers as getServerSideProps, + type PageProps, +} from "@calcom/features/ee/organizations/pages/settings/getServerSidePropsMembers"; + +const Page = MembersView as unknown as CalPageWrapper; Page.PageWrapper = PageWrapper; export default Page; diff --git a/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx b/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx new file mode 100644 index 0000000000..5e22f75810 --- /dev/null +++ b/packages/features/ee/organizations/pages/settings/getServerSidePropsMembers.tsx @@ -0,0 +1,35 @@ +import type { GetServerSidePropsContext } from "next"; + +import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; +import type { inferSSRProps } from "@calcom/types/inferSSRProps"; + +export type PageProps = inferSSRProps; + +export const getServerSidePropsForMembers = async function getServerSidePropsForMembers({ + req, + res, +}: GetServerSidePropsContext) { + const session = await getServerSession({ req, res }); + + if (!session || !session.user) { + return { + redirect: { + permanent: false, + destination: "/auth/login", + }, + }; + } + + if (!session.user.profile?.organizationId) { + return { + redirect: { + permanent: false, + destination: "/enterprise", + }, + }; + } + + return { + props: {}, + }; +};