{t("error_404")}
-diff --git a/apps/web/app/(use-page-wrapper)/auth/platform/authorize/page.tsx b/apps/web/app/(use-page-wrapper)/auth/platform/authorize/page.tsx
deleted file mode 100644
index 695b10f569f579..00000000000000
--- a/apps/web/app/(use-page-wrapper)/auth/platform/authorize/page.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { _generateMetadata } from "app/_utils";
-
-import Page from "~/auth/platform/authorize-view";
-
-export const generateMetadata = async () => {
- return await _generateMetadata(
- (t) => t("authorize"),
- () => "",
- undefined,
- undefined,
- "/auth/platform/authorize"
- );
-};
-
-const ServerPage = async () => {
- return
{t("error_404")}
-
diff --git a/packages/features/webhooks/lib/constants.ts b/packages/features/webhooks/lib/constants.ts
index 4f18cf51f60b73..c46746c9ef2350 100644
--- a/packages/features/webhooks/lib/constants.ts
+++ b/packages/features/webhooks/lib/constants.ts
@@ -54,7 +54,6 @@ export const WEBHOOK_TRIGGER_EVENTS_GROUPED_BY_APP = {
WebhookTriggerEvents.BOOKING_REQUESTED,
WebhookTriggerEvents.BOOKING_REJECTED,
WebhookTriggerEvents.RECORDING_READY,
- WebhookTriggerEvents.INSTANT_MEETING,
WebhookTriggerEvents.RECORDING_TRANSCRIPTION_GENERATED,
WebhookTriggerEvents.BOOKING_NO_SHOW_UPDATED,
WebhookTriggerEvents.OOO_CREATED,
diff --git a/packages/features/webhooks/lib/dto/types.ts b/packages/features/webhooks/lib/dto/types.ts
index 09d93fd03532e5..07fe072a017392 100644
--- a/packages/features/webhooks/lib/dto/types.ts
+++ b/packages/features/webhooks/lib/dto/types.ts
@@ -301,17 +301,6 @@ export interface MeetingEndedDTO extends BaseEventDTO {
};
}
-export interface InstantMeetingDTO extends BaseEventDTO {
- triggerEvent: typeof WebhookTriggerEvents.INSTANT_MEETING;
- title: string;
- body: string;
- icon?: string;
- url?: string;
- actions?: { action: string; title: string; type: string; image: string | null }[];
- requireInteraction?: boolean;
- type: string;
-}
-
export interface AfterHostsNoShowDTO extends BaseEventDTO {
triggerEvent: typeof WebhookTriggerEvents.AFTER_HOSTS_CAL_VIDEO_NO_SHOW;
bookingId: number;
@@ -350,7 +339,6 @@ export type WebhookEventDTO =
| TranscriptionGeneratedDTO
| MeetingStartedDTO
| MeetingEndedDTO
- | InstantMeetingDTO
| AfterHostsNoShowDTO
| AfterGuestsNoShowDTO;
diff --git a/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.test.ts b/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.test.ts
deleted file mode 100644
index e82b94041ac6e3..00000000000000
--- a/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.test.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { describe, it, expect } from "vitest";
-import { WebhookTriggerEvents } from "@calcom/prisma/enums";
-
-import type { InstantMeetingDTO } from "../../dto/types";
-import { InstantMeetingBuilder } from "../versioned/v2021-10-20/InstantMeetingBuilder";
-
-describe("InstantMeetingBuilder (v2021-10-20)", () => {
- const builder = new InstantMeetingBuilder();
-
- describe("INSTANT_MEETING", () => {
- it("should build payload with all instant meeting fields", () => {
- const dto: InstantMeetingDTO = {
- triggerEvent: WebhookTriggerEvents.INSTANT_MEETING,
- createdAt: "2024-01-15T10:00:00Z",
- title: "Instant Meeting Request",
- body: "Someone is requesting an instant meeting",
- icon: "https://cal.com/icon.png",
- url: "https://cal.com/meeting/instant-123",
- actions: [
- { action: "accept", title: "Accept" },
- { action: "decline", title: "Decline" },
- ],
- requireInteraction: true,
- type: "instant",
- };
-
- const payload = builder.build(dto);
-
- expect(payload.triggerEvent).toBe(WebhookTriggerEvents.INSTANT_MEETING);
- expect(payload.createdAt).toBe("2024-01-15T10:00:00Z");
- expect(payload.payload.title).toBe("Instant Meeting Request");
- expect(payload.payload.body).toBe("Someone is requesting an instant meeting");
- expect(payload.payload.icon).toBe("https://cal.com/icon.png");
- expect(payload.payload.url).toBe("https://cal.com/meeting/instant-123");
- expect(payload.payload.actions).toHaveLength(2);
- expect(payload.payload.requireInteraction).toBe(true);
- expect(payload.payload.type).toBe("instant");
- });
- });
-});
diff --git a/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.ts b/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.ts
deleted file mode 100644
index 339054137c7de7..00000000000000
--- a/packages/features/webhooks/lib/factory/base/BaseInstantMeetingBuilder.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { InstantMeetingDTO } from "../../dto/types";
-import type { WebhookPayload } from "../types";
-import type { IInstantMeetingBuilder } from "../versioned/PayloadBuilderFactory";
-
-/**
- * Abstract base class for instant meeting payload builders.
- *
- * This class defines the interface that all version-specific instant meeting
- * payload builders must implement. It does NOT contain any version-specific payload logic.
- *
- * Each webhook version should have its own concrete implementation in
- * versioned/v{VERSION}/InstantMeetingBuilder.ts
- */
-export abstract class BaseInstantMeetingBuilder implements IInstantMeetingBuilder {
- /**
- * Build the instant meeting webhook payload.
- * Each version must implement this method with its specific payload structure.
- */
- abstract build(dto: InstantMeetingDTO): WebhookPayload;
-}
diff --git a/packages/features/webhooks/lib/factory/base/index.ts b/packages/features/webhooks/lib/factory/base/index.ts
index 6ed8052e90b9c8..498e7e335284ce 100644
--- a/packages/features/webhooks/lib/factory/base/index.ts
+++ b/packages/features/webhooks/lib/factory/base/index.ts
@@ -15,5 +15,4 @@ export { BaseBookingPayloadBuilder } from "./BaseBookingPayloadBuilder";
export { BaseMeetingPayloadBuilder } from "./BaseMeetingPayloadBuilder";
export { BaseRecordingPayloadBuilder } from "./BaseRecordingPayloadBuilder";
export { BaseOOOPayloadBuilder } from "./BaseOOOPayloadBuilder";
-export { BaseInstantMeetingBuilder } from "./BaseInstantMeetingBuilder";
export type { BookingExtraDataMap, BookingPayloadParams } from "./BaseBookingPayloadBuilder";
diff --git a/packages/features/webhooks/lib/factory/types.ts b/packages/features/webhooks/lib/factory/types.ts
index 9e1acdb28d8880..f5f0453a351809 100644
--- a/packages/features/webhooks/lib/factory/types.ts
+++ b/packages/features/webhooks/lib/factory/types.ts
@@ -63,16 +63,6 @@ export interface MeetingPayload {
}[];
}
-export interface InstantMeetingPayload {
- title: string;
- body: string;
- icon?: string;
- url?: string;
- actions?: { action: string; title: string; type: string; image: string | null }[];
- requireInteraction?: boolean;
- type: string;
-}
-
export interface NoShowWebhookPayload {
bookingId: number;
webhook: {
@@ -93,6 +83,5 @@ export interface WebhookPayload {
| FormSubmittedPayload
| RecordingPayload
| MeetingPayload
- | InstantMeetingPayload
| NoShowWebhookPayload;
}
diff --git a/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.test.ts b/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.test.ts
index 458bdc3e3261b3..2d38ec332754d3 100644
--- a/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.test.ts
+++ b/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.test.ts
@@ -16,7 +16,6 @@ describe("PayloadBuilderFactory", () => {
ooo: new V2021_10_20.OOOPayloadBuilder(),
recording: new V2021_10_20.RecordingPayloadBuilder(),
meeting: new V2021_10_20.MeetingPayloadBuilder(),
- instantMeeting: new V2021_10_20.InstantMeetingBuilder(),
};
factory = new PayloadBuilderFactory(WebhookVersionEnum.V_2021_10_20, defaultBuilders);
@@ -42,7 +41,6 @@ describe("PayloadBuilderFactory", () => {
ooo: new V2021_10_20.OOOPayloadBuilder(),
recording: new V2021_10_20.RecordingPayloadBuilder(),
meeting: new V2021_10_20.MeetingPayloadBuilder(),
- instantMeeting: new V2021_10_20.InstantMeetingBuilder(),
};
factory.registerVersion("2024-12-01", newVersionBuilders);
@@ -57,7 +55,6 @@ describe("PayloadBuilderFactory", () => {
ooo: new V2021_10_20.OOOPayloadBuilder(),
recording: new V2021_10_20.RecordingPayloadBuilder(),
meeting: new V2021_10_20.MeetingPayloadBuilder(),
- instantMeeting: new V2021_10_20.InstantMeetingBuilder(),
};
factory.registerVersion(WebhookVersionEnum.V_2021_10_20, newBuilders);
@@ -111,13 +108,6 @@ describe("PayloadBuilderFactory", () => {
});
});
- it("should route instant meeting events to instant meeting builder", () => {
- const builder = factory.getBuilder(
- WebhookVersionEnum.V_2021_10_20,
- WebhookTriggerEvents.INSTANT_MEETING
- );
- expect(builder).toBe(defaultBuilders.instantMeeting);
- });
});
describe("Fallback Behavior", () => {
@@ -166,17 +156,12 @@ describe("PayloadBuilderFactory", () => {
WebhookVersionEnum.V_2021_10_20,
WebhookTriggerEvents.MEETING_STARTED
);
- const instantBuilder = factory.getBuilder(
- WebhookVersionEnum.V_2021_10_20,
- WebhookTriggerEvents.INSTANT_MEETING
- );
// Runtime verification
expect(bookingBuilder).toBeDefined();
expect(oooBuilder).toBeDefined();
expect(recordingBuilder).toBeDefined();
expect(meetingBuilder).toBeDefined();
- expect(instantBuilder).toBeDefined();
});
it("should build valid payload with correctly typed DTO", () => {
@@ -244,7 +229,6 @@ describe("PayloadBuilderFactory", () => {
ooo: new V2021_10_20.OOOPayloadBuilder(),
recording: new V2021_10_20.RecordingPayloadBuilder(),
meeting: new V2021_10_20.MeetingPayloadBuilder(),
- instantMeeting: new V2021_10_20.InstantMeetingBuilder(),
};
factory.registerVersion(WebhookVersionEnum.V_2024_12_01, v2Builders);
diff --git a/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.ts b/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.ts
index 82223e1acfccdb..7f44c299b8233c 100644
--- a/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.ts
+++ b/packages/features/webhooks/lib/factory/versioned/PayloadBuilderFactory.ts
@@ -4,7 +4,6 @@ import type {
AfterGuestsNoShowDTO,
AfterHostsNoShowDTO,
BookingWebhookEventDTO,
- InstantMeetingDTO,
MeetingEndedDTO,
MeetingStartedDTO,
OOOCreatedDTO,
@@ -44,16 +43,11 @@ export interface IMeetingPayloadBuilder
): WebhookPayload;
}
-export interface IInstantMeetingBuilder extends IPayloadBuilder