Skip to content

Commit c64b663

Browse files
authored
chore: Add zoom waiting room setting (calcom#22888)
* chore: zoom waiting room setting * Update VideoApiAdapter.ts * Update VideoApiAdapter.ts
1 parent 29314cd commit c64b663

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

packages/app-store/zoomvideo/lib/VideoApiAdapter.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,23 @@ export const zoomUserSettingsSchema = z.object({
7979
waiting_room: z.boolean(),
8080
})
8181
.nullish(),
82+
meeting_security: z
83+
.object({
84+
waiting_room_settings: z
85+
.object({
86+
participants_to_place_in_waiting_room: z.number().optional(),
87+
users_who_can_admit_participants_from_waiting_room: z.number().optional(),
88+
whitelisted_domains_for_waiting_room: z.string().optional(),
89+
})
90+
.optional(),
91+
})
92+
.nullish(),
8293
});
8394

8495
// https://developers.zoom.us/docs/api/rest/reference/user/methods/#operation/userSettings
8596
// append comma separated settings here, to retrieve only these specific settings
86-
const settingsApiFilterResp = "default_password_for_scheduled_meetings,auto_recording,waiting_room";
97+
const settingsApiFilterResp =
98+
"default_password_for_scheduled_meetings,auto_recording,waiting_room,waiting_room_settings";
8799

88100
type ZoomRecurrence = {
89101
end_date_time?: string;
@@ -175,6 +187,12 @@ const ZoomVideoApiAdapter = (credential: CredentialPayload): VideoApiAdapter =>
175187
const userSettings = await getUserSettings();
176188
const recurrence = getRecurrence(event);
177189
const waitingRoomEnabled = userSettings?.in_meeting?.waiting_room ?? false;
190+
const advancedWaitingRoomSettings = userSettings?.meeting_security?.waiting_room_settings;
191+
const hasAdvancedWaitingRoomSettings =
192+
waitingRoomEnabled &&
193+
!!advancedWaitingRoomSettings &&
194+
typeof advancedWaitingRoomSettings === "object" &&
195+
Object.keys(advancedWaitingRoomSettings).length > 0;
178196
// Documentation at: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate
179197
return {
180198
topic: event.title,
@@ -200,6 +218,9 @@ const ZoomVideoApiAdapter = (credential: CredentialPayload): VideoApiAdapter =>
200218
enforce_login: false,
201219
registrants_email_notification: true,
202220
waiting_room: waitingRoomEnabled,
221+
...(hasAdvancedWaitingRoomSettings && {
222+
waiting_room_settings: advancedWaitingRoomSettings,
223+
}),
203224
},
204225
...recurrence,
205226
};

0 commit comments

Comments
 (0)