UNPKG

zaccl

Version:

The Zoom App Complete Connection Library, a project that handles everything required to build a zoom-integrated app.

256 lines (255 loc) 10.3 kB
/** * Category of endpoints for Zoom meetings * @author Gabe Abrams * @author Aryan Pandey * @namespace api.meeting */ import EndpointCategory from '../shared/interfaces/EndpointCategory'; import ZoomMeeting from '../types/ZoomMeeting'; import PollOccurrence from '../types/ZoomPollOccurrence'; import PollInfo from '../types/ZoomPollInfo'; import ZoomMeetingDetails from '../types/ZoomMeetingDetails'; import ZoomMeetingIdAndStartTime from '../types/ZoomMeetingIdAndStartTime'; import ZoomMeetingTranscript from '../types/ZoomMeetingTranscript'; import ZoomPastMeetingParticipant from '../types/ZoomPastMeetingParticipant'; import ZoomMeetingActivitiesReportItem from '../types/ZoomMeetingActivitiesReportItem'; import ZoomParticipantInReport from '../types/ZoomParticipantInReport'; import ZoomMeetingQAReportItem from '../types/ZoomMeetingQAReportItem'; declare class ECatMeeting extends EndpointCategory { /** * Get info on a meeting (Light) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method get * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting * @param [opts.occurrenceId] ID for the meeting occurrence * @param [opts.showAllOccurrences=false] if truthy, * retrieves all past occurrences * @returns Zoom meeting object */ get(opts: { meetingId: number; occurrenceId?: string; showAllOccurrences?: boolean; }): Promise<ZoomMeeting>; /** * Create a new meeting (Light) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method create * @param opts object containing all arguments * @param opts.userId the user ID or email address of the user * @param opts.meetingObj Zoom meeting object with meeting details {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate#request-body}} * @returns Zoom meeting object {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate#request-body}} */ create(opts: { userId: string; meetingObj: ZoomMeeting; }): Promise<ZoomMeeting>; /** * Update a meeting (Light) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method update * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting * @param opts.meetingObj Zoom meeting object with updated details {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingupdate#request-body} * @param [opts.occurrenceId] ID for the meeting occurrence * @returns Zoom meeting object {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate#request-body}} */ update(opts: { meetingId: number; meetingObj: ZoomMeeting; occurrenceId?: string; }): Promise<ZoomMeeting>; /** * Delete a meeting (Light) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method delete * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting * @param [opts.occurrenceId] ID for the meeting occurrence * @param [opts.notifyHosts=false] if truthy, * sends cancellation email to hosts * @returns Zoom meeting object {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate#request-body}} */ delete(opts: { meetingId: number; occurrenceId?: string; notifyHosts?: boolean; }): Promise<ZoomMeeting>; /** * Get a list of ended meeting instances (Medium) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method listPastInstances * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting * @returns list of ended meeting instances {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings#responses} */ listPastInstances(opts: { meetingId: number; }): Promise<ZoomMeetingIdAndStartTime[]>; /** * Get details of a past meeting instance (Light) * @author Yuen Ler Chow * @instance * @memberof api.meeting * @method getPastMeetingDetails * @param uuid the Zoom UUID of the meeting * @returns details of a past meeting instance */ getPastMeetingDetails(opts: { uuid: string; }): Promise<ZoomMeetingDetails>; /** * List past poll occurrences (Medium) * @author Yuen Ler Chow * @instance * @memberof api.meeting * @method listPastPollOccurrences * @param opts.uuid the Zoom UUID of the meeting * @returns list of past poll occurrences */ listPastPollOccurrences(opts: { uuid: string; }): Promise<PollOccurrence[]>; /** * Get poll info (Light) * @author Yuen Ler Chow * @instance * @memberof api.meeting * @method getPollInfo * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting * @param opts.pollId the id of the poll * @returns object with all info about the poll */ getPollInfo(opts: { meetingId: number; pollId: string; }): Promise<PollInfo>; /** * Add one alt-host if not already in the list. If another user in the alt-host * list has been deactivated, all alt-hosts are removed and the requested * user is added as the only alt-host. This is because Zoom doesn't give us * enough information to determine which user is deactivated, and thus, * the only way to resolve the issue is to remove all previously existing * alt-hosts. (Light) * @author Gabe Abrams * @author Aryan Pandey * @instance * @memberof api.meeting * @method addAltHost * @param opts object containing all arguments * @param opts.meetingId the id for the meeting to add hosts to * @param opts.altHost the email or id of the alt host to * be added * @param [opts.meetingObj] Zoom meeting object that needs to be * updated. Meeting ID is not used to fetch meeting if this object is passed * @returns updated meeting object after adding alternative host */ addAltHost(opts: { meetingId: number; altHost: string; meetingObj?: ZoomMeeting; }): Promise<ZoomMeeting>; /** * Get meeting transcript (Medium) * @author Gabe Abrams * @instance * @memberof api.meeting * @method getTranscript * @param opts object containing all arguments * @param opts.meetingId the Zoom ID of the meeting (or UUID of a past meeting instance) * @returns meeting transcript */ getTranscript(opts: { meetingId: number; }): Promise<ZoomMeetingTranscript>; /** * Get list of participants in a past meeting (Medium) * @author Gabe Abrams * @instance * @memberof api.meeting * @method listPastMeetingParticipants * @param opts object containing all arguments * @param opts.meetingId the Zoom UUID of the past meeting instance * @param [opts.onNewPage] callback function that is called when a new page of results is received. * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests, * for custom throttle control * @returns list of past meeting participants */ listPastMeetingParticipants(opts: { meetingId: string; onNewPage?: (participants: ZoomPastMeetingParticipant[]) => void; minMsBetweenPageRequests?: number; }): Promise<ZoomPastMeetingParticipant[]>; /** * Get a meeting activities report (Heavy) * @author Gabe Abrams * @instance * @memberof api.meeting * @method getActivitiesReport * @param opts object containing all arguments * @param opts.meetingId the Zoom UUID of the meeting * @param opts.startTimestamp the start of the time range to get activities for, in ms since epoch * @param [opts.endTimestamp] the end of the time range to get activities for, in ms since epoch. * If not provided, defaults to startTimestamp + 24 hours * @param [opts.onNewPage] callback function that is called when a new page of results is received. * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests, * for custom throttle control * @returns list of past meeting participants */ getActivitiesReport(opts: { meetingId: string; startTimestamp: number; endTimestamp?: number; onNewPage?: (activityItems: ZoomMeetingActivitiesReportItem[]) => void; minMsBetweenPageRequests?: number; }): Promise<ZoomMeetingActivitiesReportItem[]>; /** * Get a participant report for a meeting (Heavy) * @author Gabe Abrams * @instance * @memberof api.meeting * @method getParticipantReport * @param opts object containing all arguments * @param opts.meetingId the Zoom UUID of the meeting * @param [opts.onNewPage] callback function that is called when a new page of results is received. * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests, * for custom throttle control * @returns list of meeting participants with report details */ getParticipantReport(opts: { meetingId: string; onNewPage?: (participants: ZoomParticipantInReport[]) => void; minMsBetweenPageRequests?: number; }): Promise<ZoomParticipantInReport[]>; /** * Get a question and answer report for a meeting (Heavy) * @author Gabe Abrams * @instance * @memberof api.meeting * @method getQAReport * @param opts object containing all arguments * @param opts.meetingId the Zoom UUID of the meeting * @returns list of questions and answers from the meeting */ getQAReport(opts: { meetingId: string; }): Promise<ZoomMeetingQAReportItem[]>; } export default ECatMeeting;