Files
Benny JooGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
ab21c7f805 refactor: Cal.diy (#28903)
* feat: Cal.diy — community-driven MIT-licensed fork of Cal.com

This squashed commit contains all Cal.diy changes applied on top of calcom/cal.com main:

- Rebrand Cal.com to Cal.diy across the entire codebase
- Remove Enterprise Edition (EE) features, license checks, and AGPL restrictions
- Switch license from AGPL-3.0 to MIT
- Remove docs/ directory (migrated to Nextra at cal.diy)
- Remove dead code: org tests, EE tips, platform nav, premium username, SAML/SSO, etc.
- Clean up .env.example for self-hosted Cal.diy
- Update Docker image references to calcom/cal.diy
- Update README, CONTRIBUTING.md, and issue templates for Cal.diy community fork
- Add PR welcome bot for Cal.diy contributors
- Fix API v2 breaking changes oasdiff ignore entries
- Replace Blacksmith CI runners with default GitHub Actions

3893 files changed, 20789 insertions(+), 411020 deletions(-)

Co-Authored-By: [email protected] <[email protected]>

* refactor: remove org-specific /organizations/:orgId endpoints from API v2 atoms controllers (#1701)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: revert Cal.diy Inc to Cal.com, Inc. in license files, copyright notices, and package metadata (#1702)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* rip out org related comments in api v2

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-04-15 09:52:36 -03:00

96 lines
2.5 KiB
TypeScript

import { APP_NAME } from "@calcom/lib/constants";
import { buildLegacyCtx } from "@lib/buildLegacyCtx";
import type { PageProps } from "app/_types";
import { _generateMetadata } from "app/_utils";
import { withAppDirSsr } from "app/WithAppDirSsr";
import { cookies, headers } from "next/headers";
import PaymentPage from "./PaymentPage";
type PaymentPageProps = {
payment: {
id: number;
success: boolean;
refunded: boolean;
amount: number;
currency: string;
paymentOption: string | null;
data: Record<string, unknown>;
appId?: string | null;
};
clientSecret?: string | null;
booking: {
id: number;
uid: string;
title: string;
startTime: string;
endTime: string;
status: string;
paid: boolean;
description?: string | null;
location?: string | null;
};
eventType: {
id: number;
title: string;
length: number;
price: number;
currency: string;
metadata: Record<string, unknown> | null;
successRedirectUrl?: string | null;
forwardParamsSuccessRedirect?: boolean | null;
recurringEvent?: unknown;
};
profile: { theme?: string | null; hideBranding?: boolean };
user?: { name?: string | null; username?: string | null } | null;
};
export const generateMetadata = async ({ params, searchParams }: PageProps) => {
const props = await getData(
buildLegacyCtx(await headers(), await cookies(), await params, await searchParams)
);
const eventName = props.booking.title;
return await _generateMetadata(
(t) => `${t("payment")} | ${eventName} | ${APP_NAME}`,
() => "",
undefined,
undefined,
`/payment/${(await params).uid}`
);
};
const getData = withAppDirSsr<PaymentPageProps>(async () => ({
props: {
payment: {
id: 0,
success: false,
refunded: false,
amount: 0,
currency: "usd",
paymentOption: null,
data: {},
appId: null,
},
booking: {
id: 0,
uid: "",
title: "",
startTime: "",
endTime: "",
status: "",
paid: false,
location: null,
},
eventType: { id: 0, title: "", length: 0, price: 0, currency: "usd", metadata: null },
profile: { theme: null, hideBranding: false },
},
}));
const ServerPage = async ({ params, searchParams }: PageProps) => {
const props = await getData(
buildLegacyCtx(await headers(), await cookies(), await params, await searchParams)
);
return <PaymentPage {...props} />;
};
export default ServerPage;