zaccl
Version:
The Zoom App Complete Connection Library, a project that handles everything required to build a zoom-integrated app.
166 lines (165 loc) • 6.29 kB
TypeScript
/**
* 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';
declare class ECatMeeting extends EndpointCategory {
/**
* Get info on a meeting
* @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 {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting#responses}
*/
get(opts: {
meetingId: number;
occurrenceId?: string;
showAllOccurrences?: boolean;
}): Promise<ZoomMeeting>;
/**
* Create a new meeting
* @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
* @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
* @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
* @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
* @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
* @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
* @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.
* @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>;
}
export default ECatMeeting;