diff --git a/apps/web/app/(use-page-wrapper)/settings/platform/managed-users/page.tsx b/apps/web/app/(use-page-wrapper)/settings/platform/managed-users/page.tsx index 0ecd2b45a4..6d51cd2fd5 100644 --- a/apps/web/app/(use-page-wrapper)/settings/platform/managed-users/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/platform/managed-users/page.tsx @@ -1,4 +1,11 @@ import { _generateMetadata } from "app/_utils"; +import { cookies, headers } from "next/headers"; +import { redirect } from "next/navigation"; + +import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; +import { WEBAPP_URL } from "@calcom/lib/constants"; + +import { buildLegacyRequest } from "@lib/buildLegacyCtx"; import ManagedUsersView from "~/settings/platform/managed-users/managed-users-view"; @@ -11,7 +18,14 @@ export const generateMetadata = async () => "/settings/platform/managed-users" ); -const ServerPageWrapper = () => { +const ServerPageWrapper = async () => { + const session = await getServerSession({ req: buildLegacyRequest(await headers(), await cookies()) }); + const callbackUrl = `${WEBAPP_URL}/settings/platform/managed-users`; + + if (!session?.user) { + redirect(`/login?callbackUrl=${callbackUrl}`); + } + return ; }; diff --git a/apps/web/app/(use-page-wrapper)/settings/platform/new/page.tsx b/apps/web/app/(use-page-wrapper)/settings/platform/new/page.tsx index 9cb10150d9..a35a026a6e 100644 --- a/apps/web/app/(use-page-wrapper)/settings/platform/new/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/platform/new/page.tsx @@ -1,19 +1,15 @@ -import { withAppDirSsr } from "app/WithAppDirSsr"; -import type { PageProps } from "app/_types"; import { _generateMetadata } from "app/_utils"; import { cookies, headers } from "next/headers"; +import { redirect } from "next/navigation"; +import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; import LicenseRequired from "@calcom/features/ee/common/components/LicenseRequired"; +import { WEBAPP_URL } from "@calcom/lib/constants"; -import { buildLegacyCtx } from "@lib/buildLegacyCtx"; -import { getServerSideProps } from "@lib/settings/organizations/new/getServerSideProps"; +import { buildLegacyRequest } from "@lib/buildLegacyCtx"; import LegacyPage, { LayoutWrapper } from "~/settings/platform/new/create-new-view"; -type Props = { - isOrg: boolean; -}; - export const generateMetadata = async () => await _generateMetadata( (t) => t("set_up_your_platform_organization"), @@ -23,10 +19,14 @@ export const generateMetadata = async () => "/settings/platform/new" ); -const getData = withAppDirSsr(getServerSideProps); +const ServerPage = async () => { + const session = await getServerSession({ req: buildLegacyRequest(await headers(), await cookies()) }); + const callbackUrl = `${WEBAPP_URL}/settings/platform/new`; + + if (!session?.user) { + redirect(`/login?callbackUrl=${callbackUrl}`); + } -const ServerPage = async ({ params, searchParams }: PageProps) => { - await getData(buildLegacyCtx(await headers(), await cookies(), await params, await searchParams)); return ( diff --git a/apps/web/app/(use-page-wrapper)/settings/platform/plans/page.tsx b/apps/web/app/(use-page-wrapper)/settings/platform/plans/page.tsx index e37fa6d473..d8cdb9fe31 100644 --- a/apps/web/app/(use-page-wrapper)/settings/platform/plans/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/platform/plans/page.tsx @@ -1,4 +1,11 @@ import { _generateMetadata } from "app/_utils"; +import { cookies, headers } from "next/headers"; +import { redirect } from "next/navigation"; + +import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; +import { WEBAPP_URL } from "@calcom/lib/constants"; + +import { buildLegacyRequest } from "@lib/buildLegacyCtx"; import PlatformPlansView from "~/settings/platform/plans/platform-plans-view"; @@ -12,7 +19,14 @@ export const generateMetadata = async () => { ); }; -const ServerPageWrapper = () => { +const ServerPageWrapper = async () => { + const session = await getServerSession({ req: buildLegacyRequest(await headers(), await cookies()) }); + const callbackUrl = `${WEBAPP_URL}/settings/platform/plans`; + + if (!session?.user) { + redirect(`/login?callbackUrl=${callbackUrl}`); + } + return ; }; diff --git a/packages/trpc/server/routers/viewer/organizations/create.handler.ts b/packages/trpc/server/routers/viewer/organizations/create.handler.ts index 209907c46e..20ac6e90df 100644 --- a/packages/trpc/server/routers/viewer/organizations/create.handler.ts +++ b/packages/trpc/server/routers/viewer/organizations/create.handler.ts @@ -112,6 +112,7 @@ export const createHandler = async ({ input, ctx }: CreateOptions) => { slug: true, isOrganization: true, isPlatform: true, + name: true, }, }, }, @@ -173,7 +174,10 @@ export const createHandler = async ({ input, ctx }: CreateOptions) => { }); if (!!hasExistingPlatformOrOrgTeam?.team && isPlatform) { - throw new TRPCError({ code: "BAD_REQUEST", message: "User is already part of a team" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: `You can't create a new team because you are already a part of ${hasExistingPlatformOrOrgTeam.team.name}`, + }); } const availability = getAvailabilityFromSchedule(DEFAULT_SCHEDULE);