fix: Create separate calendar events to hide organizer (#21555)

* Add notes to `EventManager.create`

* Create `CalendarServiceEvent`

* Generate calendar description and remove attendees if event is private in `CalendarManager`

* Process event for reschedule method

* Refactor calendar services

* Clean up comment

* Type fixes

* Type fix

* Type fix
This commit is contained in:
Joe Au-Yeung authored and GitHub committed 2025-05-27 20:46:26 -04:00
1 parent e5868837d5
commit 6f1eaaa02e
10 files changed
+121 -94

No files matched your search

@@ -2,6 +2,7 @@ import { getCalendar } from "@calcom/app-store/_utils/getCalendar";
import { sendCancelledSeatEmailsAndSMS } from "@calcom/emails";
import sendPayload from "@calcom/features/webhooks/lib/sendOrSchedulePayload";
import type { EventPayloadType, EventTypeInfo } from "@calcom/features/webhooks/lib/sendPayload";
import { getRichDescription } from "@calcom/lib/CalEventParser";
import { getAllDelegationCredentialsForUserIncludeServiceAccountKey } from "@calcom/lib/delegationCredential/server";
import { getDelegationCredentialOrFindRegularCredential } from "@calcom/lib/delegationCredential/server";
import { HttpError } from "@calcom/lib/http-error";
@@ -96,6 +97,7 @@ async function cancelAttendeeSeat(
const updatedEvt = {
...evt,
attendees: evt.attendees.filter((evtAttendee) => attendee.email !== evtAttendee.email),
calendarDescription: getRichDescription(evt),
};
if (reference.type.includes("_video")) {
integrationsToUpdate.push(updateMeeting(credential, updatedEvt, reference));