zaccl 3.0.17 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/ECatCloudRecording.js.html +74 -27
- package/docs/ECatGroup.js.html +207 -0
- package/docs/ECatMeeting.js.html +76 -11
- package/docs/ECatUser.js.html +7 -10
- package/docs/ECatWebinar.js.html +6 -5
- package/docs/api.cloudRecording.html +371 -48
- package/docs/api.group.html +367 -0
- package/docs/api.meeting.html +437 -15
- package/docs/api.user.html +10 -10
- package/docs/api.webinar.html +5 -5
- package/docs/index.html +1 -1
- package/lib/endpoints/ECatCloudRecording.d.ts +33 -9
- package/lib/endpoints/ECatCloudRecording.js +73 -26
- package/lib/endpoints/ECatCloudRecording.js.map +1 -1
- package/lib/endpoints/ECatGroup.d.ts +39 -0
- package/lib/endpoints/ECatGroup.js +142 -0
- package/lib/endpoints/ECatGroup.js.map +1 -0
- package/lib/endpoints/ECatMeeting.d.ts +40 -10
- package/lib/endpoints/ECatMeeting.js +75 -10
- package/lib/endpoints/ECatMeeting.js.map +1 -1
- package/lib/endpoints/ECatUser.d.ts +5 -5
- package/lib/endpoints/ECatUser.js +6 -9
- package/lib/endpoints/ECatUser.js.map +1 -1
- package/lib/endpoints/ECatWebinar.d.ts +4 -4
- package/lib/endpoints/ECatWebinar.js +5 -4
- package/lib/endpoints/ECatWebinar.js.map +1 -1
- package/lib/index.d.ts +22 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -1
- package/lib/shared/helpers/genVisitEndpoint.js +60 -17
- package/lib/shared/helpers/genVisitEndpoint.js.map +1 -1
- package/lib/shared/types/VisitEndpointFunc.d.ts +2 -1
- package/lib/types/ZoomAPI.d.ts +2 -0
- package/lib/types/ZoomAPI.js.map +1 -1
- package/lib/types/ZoomGroup.d.ts +10 -0
- package/lib/types/ZoomGroup.js +3 -0
- package/lib/types/ZoomGroup.js.map +1 -0
- package/lib/types/ZoomGroupMember.d.ts +12 -0
- package/lib/types/ZoomGroupMember.js +3 -0
- package/lib/types/ZoomGroupMember.js.map +1 -0
- package/lib/types/ZoomMeetingRecordings.d.ts +1 -0
- package/lib/types/ZoomMeetingTranscript.d.ts +17 -0
- package/lib/types/ZoomMeetingTranscript.js +3 -0
- package/lib/types/ZoomMeetingTranscript.js.map +1 -0
- package/lib/types/ZoomPastMeetingDetails.d.ts +22 -0
- package/lib/types/ZoomPastMeetingDetails.js +3 -0
- package/lib/types/ZoomPastMeetingDetails.js.map +1 -0
- package/lib/types/ZoomPastMeetingParticipant.d.ts +18 -0
- package/lib/types/ZoomPastMeetingParticipant.js +3 -0
- package/lib/types/ZoomPastMeetingParticipant.js.map +1 -0
- package/lib/types/ZoomRecordingInAccount.d.ts +22 -0
- package/lib/types/ZoomRecordingInAccount.js +3 -0
- package/lib/types/ZoomRecordingInAccount.js.map +1 -0
- package/package.json +2 -2
- package/src/endpoints/ECatCloudRecording.ts +86 -30
- package/src/endpoints/ECatGroup.ts +89 -0
- package/src/endpoints/ECatMeeting.ts +81 -10
- package/src/endpoints/ECatUser.ts +6 -9
- package/src/endpoints/ECatWebinar.ts +5 -4
- package/src/index.ts +53 -0
- package/src/shared/helpers/genVisitEndpoint.ts +123 -79
- package/src/shared/types/VisitEndpointFunc.ts +4 -2
- package/src/types/ZoomAPI.ts +2 -0
- package/src/types/ZoomGroup.ts +14 -0
- package/src/types/ZoomGroupMember.ts +20 -0
- package/src/types/ZoomMeetingRecordings.ts +2 -0
- package/src/types/ZoomMeetingTranscript.ts +28 -0
- package/src/types/ZoomPastMeetingDetails.ts +38 -0
- package/src/types/ZoomPastMeetingParticipant.ts +30 -0
- package/src/types/ZoomRecordingInAccount.ts +38 -0
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
<nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
|
|
29
29
|
|
|
30
|
-
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
|
|
30
|
+
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -114,17 +114,75 @@ var ECatCloudRecording = /** @class */ (function (_super) {
|
|
|
114
114
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
*
|
|
117
|
+
* List recordings in the account (Medium)
|
|
118
|
+
* @author Gabe Abrams
|
|
119
|
+
* @instance
|
|
120
|
+
* @memberof api.cloudRecording
|
|
121
|
+
* @method listAccountRecordings
|
|
122
|
+
* @param opts object containing all arguments
|
|
123
|
+
* @param opts.fromYear the start of the date range to list recordings for (e.g. 2026)
|
|
124
|
+
* @param opts.fromMonth the month of the date range to list recordings for (1-12)
|
|
125
|
+
* @param [opts.fromDay] the day of the month of the date range to list recordings for (1-31, defaults to 1)
|
|
126
|
+
* @param [opts.accountId] the account ID of the account of interest (defaults to the account
|
|
127
|
+
* associated with the current access)
|
|
128
|
+
* @param [opts.onNewPage] callback function that is called when a new page of results is received.
|
|
129
|
+
* The function is passed the new page of results as an argument.
|
|
130
|
+
* @returns the list of recordings in the account
|
|
131
|
+
*/
|
|
132
|
+
ECatCloudRecording.prototype.listAccountRecordings = function (opts) {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
135
|
+
var fromYear, fromMonth, fromMonthPadded, fromDay, fromDayPadded, fromDateString, toYear, toMonth, toMonthPadded, toDay, toDayPadded, toDateString;
|
|
136
|
+
return __generator(this, function (_c) {
|
|
137
|
+
fromYear = opts.fromYear, fromMonth = opts.fromMonth;
|
|
138
|
+
fromMonthPadded = fromMonth < 10 ? "0".concat(fromMonth) : fromMonth;
|
|
139
|
+
fromDay = (_a = opts.fromDay) !== null && _a !== void 0 ? _a : 1;
|
|
140
|
+
fromDayPadded = fromDay < 10 ? "0".concat(fromDay) : fromDay;
|
|
141
|
+
fromDateString = "".concat(fromYear, "-").concat(fromMonthPadded, "-").concat(fromDayPadded);
|
|
142
|
+
toYear = fromYear;
|
|
143
|
+
toMonth = opts.fromMonth + 1;
|
|
144
|
+
if (toMonth > 12) {
|
|
145
|
+
toMonth = 1;
|
|
146
|
+
toYear += 1;
|
|
147
|
+
}
|
|
148
|
+
toMonthPadded = toMonth < 10 ? "0".concat(toMonth) : toMonth;
|
|
149
|
+
toDay = fromDay;
|
|
150
|
+
toDayPadded = toDay < 10 ? "0".concat(toDay) : toDay;
|
|
151
|
+
toDateString = "".concat(toYear, "-").concat(toMonthPadded, "-").concat(toDayPadded);
|
|
152
|
+
return [2 /*return*/, this.visitEndpoint({
|
|
153
|
+
path: "/accounts/".concat((_b = opts.accountId) !== null && _b !== void 0 ? _b : 'me', "/recordings"),
|
|
154
|
+
action: 'list recordings in the account',
|
|
155
|
+
method: 'GET',
|
|
156
|
+
params: {
|
|
157
|
+
page_size: 300,
|
|
158
|
+
from: fromDateString,
|
|
159
|
+
to: toDateString,
|
|
160
|
+
},
|
|
161
|
+
onNewPage: opts.onNewPage,
|
|
162
|
+
itemKey: 'meetings',
|
|
163
|
+
errorMap: {
|
|
164
|
+
400: 'Bad request',
|
|
165
|
+
404: 'No recordings found',
|
|
166
|
+
},
|
|
167
|
+
})];
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Get all recordings of a meeting (Light)
|
|
118
173
|
* @author Aryan Pandey
|
|
119
174
|
* @instance
|
|
120
175
|
* @memberof api.cloudRecording
|
|
121
176
|
* @method listMeetingRecordings
|
|
122
177
|
* @param opts object containing all arguments
|
|
123
|
-
* @param
|
|
178
|
+
* @param opts.meetingId the Zoom meeting ID or UUID
|
|
179
|
+
* @param opts.includeDownloadAccessToken if true, the response will include a download_access_token
|
|
180
|
+
* that can be used to download the recording files
|
|
124
181
|
* @returns list of Zoom meeting recording objects {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget#responses}
|
|
125
182
|
*/
|
|
126
183
|
ECatCloudRecording.prototype.listMeetingRecordings = function (opts) {
|
|
127
184
|
return __awaiter(this, void 0, void 0, function () {
|
|
185
|
+
var params;
|
|
128
186
|
return __generator(this, function (_a) {
|
|
129
187
|
// Check if required param is present
|
|
130
188
|
if (!opts.meetingId) {
|
|
@@ -133,11 +191,17 @@ var ECatCloudRecording = /** @class */ (function (_super) {
|
|
|
133
191
|
code: ErrorCode_1.default.InvalidMeetingId,
|
|
134
192
|
});
|
|
135
193
|
}
|
|
194
|
+
params = {};
|
|
195
|
+
if (opts.includeDownloadAccessToken) {
|
|
196
|
+
params.include_fields = 'download_access_token';
|
|
197
|
+
params.ttl = 604800; // Max TTL
|
|
198
|
+
}
|
|
136
199
|
return [2 /*return*/, this.visitEndpoint({
|
|
137
200
|
// Call function on meetingId to handle double encoding if necessary
|
|
138
201
|
path: "/meetings/".concat((0, utils_1.doubleEncode)(String(opts.meetingId)), "/recordings"),
|
|
139
202
|
method: 'GET',
|
|
140
203
|
action: 'get all recordings of a meeting',
|
|
204
|
+
params: params,
|
|
141
205
|
errorMap: {
|
|
142
206
|
400: {
|
|
143
207
|
1010: 'We could not find the user on this account',
|
|
@@ -152,17 +216,13 @@ var ECatCloudRecording = /** @class */ (function (_super) {
|
|
|
152
216
|
});
|
|
153
217
|
};
|
|
154
218
|
/**
|
|
155
|
-
* List all cloud recordings of a user
|
|
219
|
+
* List all cloud recordings of a user (Medium)
|
|
156
220
|
* @author Aryan Pandey
|
|
157
221
|
* @instance
|
|
158
222
|
* @memberof api.cloudRecording
|
|
159
223
|
* @method listUserRecordings
|
|
160
224
|
* @param opts object containing all arguments
|
|
161
225
|
* @param opts.userId the user ID or email address of the user
|
|
162
|
-
* @param [opts.pageSize=300] number of records
|
|
163
|
-
* returned from a single API call
|
|
164
|
-
* @param [opts.nextPageToken] token used to pageinate
|
|
165
|
-
* through large result sets
|
|
166
226
|
* @param [opts.searchTrash=false] set to true to retrieve
|
|
167
227
|
* meeting recordings from the trash.
|
|
168
228
|
* @param [opts.startDate=1 month before today]
|
|
@@ -173,13 +233,15 @@ var ECatCloudRecording = /** @class */ (function (_super) {
|
|
|
173
233
|
* constructor or instance of Date object.
|
|
174
234
|
* Date needs to be within past 6 months. Time data (hours and seconds)
|
|
175
235
|
* is discarded
|
|
236
|
+
* @param [opts.onNewPage] callback function that is called when a new page of results is received.
|
|
237
|
+
|
|
176
238
|
* @returns List of Zoom Recordings {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist#responses}
|
|
177
239
|
*/
|
|
178
240
|
ECatCloudRecording.prototype.listUserRecordings = function (opts) {
|
|
179
241
|
return __awaiter(this, void 0, void 0, function () {
|
|
180
|
-
var userId, searchTrash,
|
|
242
|
+
var userId, searchTrash, startDate, endDate, onNewPage, defaultDate, params;
|
|
181
243
|
return __generator(this, function (_a) {
|
|
182
|
-
userId = opts.userId, searchTrash = opts.searchTrash,
|
|
244
|
+
userId = opts.userId, searchTrash = opts.searchTrash, startDate = opts.startDate, endDate = opts.endDate, onNewPage = opts.onNewPage;
|
|
183
245
|
defaultDate = new Date();
|
|
184
246
|
defaultDate.setMonth(defaultDate.getMonth() - 1);
|
|
185
247
|
params = {
|
|
@@ -187,34 +249,19 @@ var ECatCloudRecording = /** @class */ (function (_super) {
|
|
|
187
249
|
trash: !!searchTrash,
|
|
188
250
|
from: (0, utils_1.formatDate)(defaultDate, 'startDate'),
|
|
189
251
|
};
|
|
190
|
-
if (pageSize) {
|
|
191
|
-
// Throw error if pageSize is over max val of 300
|
|
192
|
-
if (pageSize > 300) {
|
|
193
|
-
throw new ZACCLError_1.default({
|
|
194
|
-
message: "We requested ".concat(pageSize, " recordings from Zoom but it can only give us 300 at a time"),
|
|
195
|
-
code: ErrorCode_1.default.InvalidPageSize,
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
params.page_size = pageSize;
|
|
199
|
-
}
|
|
200
252
|
if (startDate) {
|
|
201
253
|
params.from = (0, utils_1.formatDate)(startDate, 'startDate');
|
|
202
254
|
}
|
|
203
255
|
if (endDate) {
|
|
204
256
|
params.to = (0, utils_1.formatDate)(endDate, 'endDate');
|
|
205
257
|
}
|
|
206
|
-
if (nextPageToken) {
|
|
207
|
-
params.next_page_token = nextPageToken;
|
|
208
|
-
}
|
|
209
258
|
return [2 /*return*/, this.visitEndpoint({
|
|
210
259
|
path: "/users/".concat(userId, "/recordings"),
|
|
211
260
|
action: 'list all cloud recordings of a user',
|
|
212
261
|
method: 'GET',
|
|
213
262
|
params: params,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
return Array.from(body.meetings);
|
|
217
|
-
},
|
|
263
|
+
onNewPage: opts.onNewPage,
|
|
264
|
+
itemKey: 'meetings',
|
|
218
265
|
errorMap: {
|
|
219
266
|
404: {
|
|
220
267
|
1001: "We could not find the Zoom user ".concat(userId, " on this account"),
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<title>ECatGroup.js - Documentation</title>
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
<script src="scripts/prettify/prettify.js"></script>
|
|
10
|
+
<script src="scripts/prettify/lang-css.js"></script>
|
|
11
|
+
<!--[if lt IE 9]>
|
|
12
|
+
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
13
|
+
<![endif]-->
|
|
14
|
+
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
|
|
15
|
+
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
|
|
16
|
+
<script src="scripts/nav.js" defer></script>
|
|
17
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
|
|
21
|
+
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
|
|
22
|
+
<label for="nav-trigger" class="navicon-button x">
|
|
23
|
+
<div class="navicon"></div>
|
|
24
|
+
</label>
|
|
25
|
+
|
|
26
|
+
<label for="nav-trigger" class="overlay"></label>
|
|
27
|
+
|
|
28
|
+
<nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
|
|
29
|
+
|
|
30
|
+
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
|
|
31
|
+
</nav>
|
|
32
|
+
|
|
33
|
+
<div id="main">
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<section>
|
|
41
|
+
<article>
|
|
42
|
+
<pre class="prettyprint source linenums"><code>"use strict";
|
|
43
|
+
/**
|
|
44
|
+
* Category of endpoints for Zoom groups
|
|
45
|
+
* @author Gabe Abrams
|
|
46
|
+
* @namespace api.group
|
|
47
|
+
*/
|
|
48
|
+
var __extends = (this && this.__extends) || (function () {
|
|
49
|
+
var extendStatics = function (d, b) {
|
|
50
|
+
extendStatics = Object.setPrototypeOf ||
|
|
51
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
52
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
53
|
+
return extendStatics(d, b);
|
|
54
|
+
};
|
|
55
|
+
return function (d, b) {
|
|
56
|
+
if (typeof b !== "function" && b !== null)
|
|
57
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
58
|
+
extendStatics(d, b);
|
|
59
|
+
function __() { this.constructor = d; }
|
|
60
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
61
|
+
};
|
|
62
|
+
})();
|
|
63
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
64
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
65
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
66
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
67
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
68
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
69
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
73
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
74
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
75
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
76
|
+
function step(op) {
|
|
77
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
78
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
79
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
80
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
81
|
+
switch (op[0]) {
|
|
82
|
+
case 0: case 1: t = op; break;
|
|
83
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
84
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
85
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
86
|
+
default:
|
|
87
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
88
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
89
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
90
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
91
|
+
if (t[2]) _.ops.pop();
|
|
92
|
+
_.trys.pop(); continue;
|
|
93
|
+
}
|
|
94
|
+
op = body.call(thisArg, _);
|
|
95
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
96
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
100
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
101
|
+
};
|
|
102
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
103
|
+
// Import shared interfaces
|
|
104
|
+
var EndpointCategory_1 = __importDefault(require("../shared/interfaces/EndpointCategory"));
|
|
105
|
+
var ECatGroup = /** @class */ (function (_super) {
|
|
106
|
+
__extends(ECatGroup, _super);
|
|
107
|
+
function ECatGroup() {
|
|
108
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* List groups in the account (Medium)
|
|
112
|
+
* @author Gabe Abrams
|
|
113
|
+
* @instance
|
|
114
|
+
* @memberof api.account
|
|
115
|
+
* @method listGroups
|
|
116
|
+
* @param [opts] object containing all arguments
|
|
117
|
+
* @param [opts.onNewPage] callback function that is called when a new page of results is received.
|
|
118
|
+
* @returns the list of groups in the account
|
|
119
|
+
*/
|
|
120
|
+
ECatGroup.prototype.listGroups = function (opts) {
|
|
121
|
+
if (opts === void 0) { opts = {}; }
|
|
122
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
123
|
+
return __generator(this, function (_a) {
|
|
124
|
+
return [2 /*return*/, this.visitEndpoint({
|
|
125
|
+
path: '/groups',
|
|
126
|
+
action: 'list groups in the account',
|
|
127
|
+
method: 'GET',
|
|
128
|
+
params: {
|
|
129
|
+
page_size: 10, // max allowed page size
|
|
130
|
+
// TODO: change above to 300
|
|
131
|
+
},
|
|
132
|
+
errorMap: {
|
|
133
|
+
400: 'Bad request',
|
|
134
|
+
404: {
|
|
135
|
+
4130: 'No groups found for this account.',
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
itemKey: 'groups',
|
|
139
|
+
onNewPage: opts.onNewPage,
|
|
140
|
+
})];
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* List the members within a group (Medium)
|
|
146
|
+
* @author Gabe Abrams
|
|
147
|
+
* @instance
|
|
148
|
+
* @memberof api.group
|
|
149
|
+
* @method listGroupMembers
|
|
150
|
+
* @param opts object containing all arguments
|
|
151
|
+
* @params opts.groupId the group ID of the group of interest
|
|
152
|
+
* @param [opts.onNewPage] callback function that is called when a new page of results is received.
|
|
153
|
+
* @returns the list of members in the group
|
|
154
|
+
*/
|
|
155
|
+
ECatGroup.prototype.listGroupMembers = function (opts) {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
157
|
+
return __generator(this, function (_a) {
|
|
158
|
+
return [2 /*return*/, this.visitEndpoint({
|
|
159
|
+
path: "/groups/".concat(opts.groupId, "/members"),
|
|
160
|
+
action: 'list members in a Zoom group',
|
|
161
|
+
method: 'GET',
|
|
162
|
+
params: {
|
|
163
|
+
page_size: 2000, // max allowed page size
|
|
164
|
+
},
|
|
165
|
+
itemKey: 'members',
|
|
166
|
+
errorMap: {
|
|
167
|
+
400: 'Bad request',
|
|
168
|
+
404: {
|
|
169
|
+
4130: 'No groups found for this account.',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
onNewPage: opts.onNewPage,
|
|
173
|
+
})];
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
return ECatGroup;
|
|
178
|
+
}(EndpointCategory_1.default));
|
|
179
|
+
/*------------------------------------------------------------------------*/
|
|
180
|
+
/* Export */
|
|
181
|
+
/*------------------------------------------------------------------------*/
|
|
182
|
+
exports.default = ECatGroup;
|
|
183
|
+
//# sourceMappingURL=ECatGroup.js.map</code></pre>
|
|
184
|
+
</article>
|
|
185
|
+
</section>
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
</div>
|
|
193
|
+
|
|
194
|
+
<br class="clear">
|
|
195
|
+
|
|
196
|
+
<footer>
|
|
197
|
+
We use <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> and the <a href="https://github.com/clenemt/docdash">docdash</a> theme to generate our docs.
|
|
198
|
+
</footer>
|
|
199
|
+
|
|
200
|
+
<script>prettyPrint();</script>
|
|
201
|
+
<script src="scripts/polyfill.js"></script>
|
|
202
|
+
<script src="scripts/linenumber.js"></script>
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
</body>
|
|
207
|
+
</html>
|
package/docs/ECatMeeting.js.html
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
<nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
|
|
29
29
|
|
|
30
|
-
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
|
|
30
|
+
<h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -126,7 +126,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
126
126
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
|
-
* Get info on a meeting
|
|
129
|
+
* Get info on a meeting (Light)
|
|
130
130
|
* @author Gabe Abrams
|
|
131
131
|
* @author Aryan Pandey
|
|
132
132
|
* @instance
|
|
@@ -137,7 +137,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
137
137
|
* @param [opts.occurrenceId] ID for the meeting occurrence
|
|
138
138
|
* @param [opts.showAllOccurrences=false] if truthy,
|
|
139
139
|
* retrieves all past occurrences
|
|
140
|
-
* @returns Zoom meeting object
|
|
140
|
+
* @returns Zoom meeting object
|
|
141
141
|
*/
|
|
142
142
|
ECatMeeting.prototype.get = function (opts) {
|
|
143
143
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -171,7 +171,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
171
171
|
});
|
|
172
172
|
};
|
|
173
173
|
/**
|
|
174
|
-
* Create a new meeting
|
|
174
|
+
* Create a new meeting (Light)
|
|
175
175
|
* @author Gabe Abrams
|
|
176
176
|
* @author Aryan Pandey
|
|
177
177
|
* @instance
|
|
@@ -201,7 +201,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
201
201
|
});
|
|
202
202
|
};
|
|
203
203
|
/**
|
|
204
|
-
* Update a meeting
|
|
204
|
+
* Update a meeting (Light)
|
|
205
205
|
* @author Gabe Abrams
|
|
206
206
|
* @author Aryan Pandey
|
|
207
207
|
* @instance
|
|
@@ -240,7 +240,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
240
240
|
});
|
|
241
241
|
};
|
|
242
242
|
/**
|
|
243
|
-
* Delete a meeting
|
|
243
|
+
* Delete a meeting (Light)
|
|
244
244
|
* @author Gabe Abrams
|
|
245
245
|
* @author Aryan Pandey
|
|
246
246
|
* @instance
|
|
@@ -290,7 +290,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
290
290
|
});
|
|
291
291
|
};
|
|
292
292
|
/**
|
|
293
|
-
* Get a list of ended meeting instances
|
|
293
|
+
* Get a list of ended meeting instances (Medium)
|
|
294
294
|
* @author Gabe Abrams
|
|
295
295
|
* @author Aryan Pandey
|
|
296
296
|
* @instance
|
|
@@ -310,12 +310,13 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
310
310
|
errorMap: {
|
|
311
311
|
404: "We could not find a meeting with the ID ".concat(opts.meetingId),
|
|
312
312
|
},
|
|
313
|
+
itemKey: 'meetings',
|
|
313
314
|
})];
|
|
314
315
|
});
|
|
315
316
|
});
|
|
316
317
|
};
|
|
317
318
|
/**
|
|
318
|
-
* Get details of a past meeting instance
|
|
319
|
+
* Get details of a past meeting instance (Light)
|
|
319
320
|
* @author Yuen Ler Chow
|
|
320
321
|
* @instance
|
|
321
322
|
* @memberof api.meeting
|
|
@@ -346,7 +347,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
346
347
|
});
|
|
347
348
|
};
|
|
348
349
|
/**
|
|
349
|
-
* List past poll occurrences
|
|
350
|
+
* List past poll occurrences (Medium)
|
|
350
351
|
* @author Yuen Ler Chow
|
|
351
352
|
* @instance
|
|
352
353
|
* @memberof api.meeting
|
|
@@ -446,7 +447,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
446
447
|
});
|
|
447
448
|
};
|
|
448
449
|
/**
|
|
449
|
-
* Get poll info
|
|
450
|
+
* Get poll info (Light)
|
|
450
451
|
* @author Yuen Ler Chow
|
|
451
452
|
* @instance
|
|
452
453
|
* @memberof api.meeting
|
|
@@ -553,7 +554,7 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
553
554
|
* user is added as the only alt-host. This is because Zoom doesn't give us
|
|
554
555
|
* enough information to determine which user is deactivated, and thus,
|
|
555
556
|
* the only way to resolve the issue is to remove all previously existing
|
|
556
|
-
* alt-hosts.
|
|
557
|
+
* alt-hosts. (Light)
|
|
557
558
|
* @author Gabe Abrams
|
|
558
559
|
* @author Aryan Pandey
|
|
559
560
|
* @instance
|
|
@@ -625,6 +626,70 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
625
626
|
});
|
|
626
627
|
});
|
|
627
628
|
};
|
|
629
|
+
/**
|
|
630
|
+
* Get meeting transcript (Medium)
|
|
631
|
+
* @author Gabe Abrams
|
|
632
|
+
* @instance
|
|
633
|
+
* @memberof api.meeting
|
|
634
|
+
* @method getTranscript
|
|
635
|
+
* @param opts object containing all arguments
|
|
636
|
+
* @param opts.meetingId the Zoom ID of the meeting (or UUID of a past meeting instance)
|
|
637
|
+
* @returns meeting transcript
|
|
638
|
+
*/
|
|
639
|
+
ECatMeeting.prototype.getTranscript = function (opts) {
|
|
640
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
641
|
+
return __generator(this, function (_a) {
|
|
642
|
+
return [2 /*return*/, this.visitEndpoint({
|
|
643
|
+
path: "/meetings/".concat(opts.meetingId, "/transcript"),
|
|
644
|
+
action: 'get the meeting transcript',
|
|
645
|
+
method: 'GET',
|
|
646
|
+
errorMap: {
|
|
647
|
+
400: 'Invalid meeting ID',
|
|
648
|
+
403: 'You do not have permission to access the transcript for this meeting',
|
|
649
|
+
404: {
|
|
650
|
+
3322: 'The meeting transcript does not exist',
|
|
651
|
+
},
|
|
652
|
+
},
|
|
653
|
+
})];
|
|
654
|
+
});
|
|
655
|
+
});
|
|
656
|
+
};
|
|
657
|
+
/**
|
|
658
|
+
* Get list of participants in a past meeting (Medium)
|
|
659
|
+
* @author Gabe Abrams
|
|
660
|
+
* @instance
|
|
661
|
+
* @memberof api.meeting
|
|
662
|
+
* @method listPastMeetingParticipants
|
|
663
|
+
* @param opts object containing all arguments
|
|
664
|
+
* @param opts.meetingId the Zoom UUID of the past meeting instance
|
|
665
|
+
* @param [opts.onNewPage] callback function that is called when a new page of results is received.
|
|
666
|
+
* @returns list of past meeting participants
|
|
667
|
+
*/
|
|
668
|
+
ECatMeeting.prototype.listPastMeetingParticipants = function (opts) {
|
|
669
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
670
|
+
return __generator(this, function (_a) {
|
|
671
|
+
return [2 /*return*/, this.visitEndpoint({
|
|
672
|
+
path: "/past_meetings/".concat(opts.meetingId, "/participants"),
|
|
673
|
+
action: 'get the list of participants in a past meeting',
|
|
674
|
+
method: 'GET',
|
|
675
|
+
params: {
|
|
676
|
+
page_size: 300, // max allowed page size
|
|
677
|
+
},
|
|
678
|
+
itemKey: 'participants',
|
|
679
|
+
onNewPage: opts.onNewPage,
|
|
680
|
+
errorMap: {
|
|
681
|
+
400: {
|
|
682
|
+
200: 'You need a paid account to access the participant list of a past meeting.',
|
|
683
|
+
12702: 'You are not allowed to access information about meetings that occurred more than 1 year ago.',
|
|
684
|
+
},
|
|
685
|
+
404: {
|
|
686
|
+
3001: 'The meeting ID is invalid or the meeting has not ended.',
|
|
687
|
+
},
|
|
688
|
+
},
|
|
689
|
+
})];
|
|
690
|
+
});
|
|
691
|
+
});
|
|
692
|
+
};
|
|
628
693
|
return ECatMeeting;
|
|
629
694
|
}(EndpointCategory_1.default));
|
|
630
695
|
/*------------------------------------------------------------------------*/
|