@@ -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
88100type 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