mirror of
https://github.com/hanzoai/calendar.git
synced 2026-10-30 14:46:43 +00:00
* add eslint config * migrate autoLock to features * migrate teamService to features * migrate userCreationService * migrate insights services to features * migrate ProfileRepository * update imports * migrate filter segmen tests * migrate filter segment repository * migrate getBusyTimes * migrate getLocaleFromRequest * refactor csvUtils * make filename clearer * migrate getLuckyUser integration test * migrate autoLock test to features * wip * refactors * migrate useBookerUrl * migrate more * wip * Migrate eventTypeRepository * membership repository * update imports * update imports * migrate * move organization repository * update imports * update imports * wip * wip * wip * wip * wip * wip * wip * wip * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix tests * fix type checks * fix * fix * migrate * update imports * fix tests * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import { createRouterCaller } from "app/_trpc/context";
|
|
import type { PageProps as ServerPageProps } 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 { APP_NAME } from "@calcom/lib/constants";
|
|
import { UserRepository } from "@calcom/features/users/repositories/UserRepository";
|
|
import prisma from "@calcom/prisma";
|
|
import { meRouter } from "@calcom/trpc/server/routers/viewer/me/_router";
|
|
|
|
import { buildLegacyRequest } from "@lib/buildLegacyCtx";
|
|
|
|
import Page from "~/getting-started/[[...step]]/onboarding-view";
|
|
|
|
export const generateMetadata = async ({ params }: ServerPageProps) => {
|
|
const stepParam = (await params).step;
|
|
const step = stepParam && Array.isArray(stepParam) ? stepParam.join("/") : "";
|
|
return await _generateMetadata(
|
|
(t) => `${APP_NAME} - ${t("getting_started")}`,
|
|
() => "",
|
|
true,
|
|
undefined,
|
|
`/getting-started${step ? `/${step}` : ""}`
|
|
);
|
|
};
|
|
|
|
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
|
|
const session = await getServerSession({ req: buildLegacyRequest(await headers(), await cookies()) });
|
|
|
|
if (!session?.user?.id) {
|
|
return redirect("/auth/login");
|
|
}
|
|
|
|
const userRepo = new UserRepository(prisma);
|
|
const meCaller = await createRouterCaller(meRouter);
|
|
|
|
const [userTeams, user] = await Promise.all([
|
|
userRepo.findUserTeams({
|
|
id: session.user.id,
|
|
}),
|
|
meCaller.get(),
|
|
]);
|
|
|
|
if (!userTeams || !user) {
|
|
return redirect("/auth/login");
|
|
}
|
|
|
|
return <Page user={user} hasPendingInvites={!!userTeams.teams.find((team) => team.accepted === false)} />;
|
|
};
|
|
|
|
export default ServerPage;
|