zaccl 3.0.2 → 3.0.3
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 +1 -1
- package/docs/ECatMeeting.js.html +87 -1
- package/docs/ECatUser.js.html +1 -1
- package/docs/ECatWebinar.js.html +1 -1
- package/docs/api.cloudRecording.html +1 -1
- package/docs/api.meeting.html +194 -2
- package/docs/api.user.html +1 -1
- package/docs/api.webinar.html +1 -1
- package/docs/index.html +1 -1
- package/lib/endpoints/ECatMeeting.d.ts +14 -0
- package/lib/endpoints/ECatMeeting.js +86 -0
- package/lib/endpoints/ECatMeeting.js.map +1 -1
- package/lib/types/PollOccurrence.d.ts +19 -0
- package/lib/types/PollOccurrence.js +3 -0
- package/lib/types/PollOccurrence.js.map +1 -0
- package/package.json +1 -1
- package/src/endpoints/ECatMeeting.ts +105 -0
- package/src/types/PollOccurrence.ts +29 -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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -300,6 +300,92 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
300
300
|
});
|
|
301
301
|
});
|
|
302
302
|
};
|
|
303
|
+
/**
|
|
304
|
+
* List past poll occurrences
|
|
305
|
+
* @author Yuen Ler Chow
|
|
306
|
+
* @instance
|
|
307
|
+
* @memberof api.meeting
|
|
308
|
+
* @method listPastPollOccurrences
|
|
309
|
+
* @param opts object containing all arguments
|
|
310
|
+
* @param opts.meetingId the Zoom ID of the meeting
|
|
311
|
+
* @returns list of past poll occurrences
|
|
312
|
+
*/
|
|
313
|
+
ECatMeeting.prototype.listPastPollOccurrences = function (opts) {
|
|
314
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
315
|
+
var response, pollIdToOccurrenceMap, questions, questionToIndexMap;
|
|
316
|
+
return __generator(this, function (_a) {
|
|
317
|
+
switch (_a.label) {
|
|
318
|
+
case 0: return [4 /*yield*/, this.visitEndpoint({
|
|
319
|
+
path: "/past_meetings/".concat(opts.meetingId, "/polls"),
|
|
320
|
+
action: 'get the list of polls that occurred in a past meeting',
|
|
321
|
+
method: 'GET',
|
|
322
|
+
errorMap: {
|
|
323
|
+
400: 'We could not access the poll data for this meeting.',
|
|
324
|
+
12702: 'You are not allowed to access information about meetings that occurred more than 1 year ago.',
|
|
325
|
+
},
|
|
326
|
+
})];
|
|
327
|
+
case 1:
|
|
328
|
+
response = _a.sent();
|
|
329
|
+
pollIdToOccurrenceMap = {};
|
|
330
|
+
questions = [];
|
|
331
|
+
questionToIndexMap = {};
|
|
332
|
+
// Process each poll response
|
|
333
|
+
response.questions.forEach(function (user) {
|
|
334
|
+
var email = user.email, name = user.name, questionDetails = user.question_details;
|
|
335
|
+
// Loop through each answer
|
|
336
|
+
questionDetails.forEach(function (questionDetail) {
|
|
337
|
+
var answer = questionDetail.answer, dateTime = questionDetail.date_time, pollId = questionDetail.polling_id, question = questionDetail.question;
|
|
338
|
+
// Parse date time as ms since epoch
|
|
339
|
+
var pollTime = new Date("".concat(dateTime, " UTC")).getTime();
|
|
340
|
+
// Reformat as a response object
|
|
341
|
+
var response = {
|
|
342
|
+
userFullName: name,
|
|
343
|
+
userEmail: email,
|
|
344
|
+
answer: answer,
|
|
345
|
+
timestamp: pollTime,
|
|
346
|
+
};
|
|
347
|
+
if (!pollIdToOccurrenceMap[pollId]) {
|
|
348
|
+
pollIdToOccurrenceMap[pollId] = {
|
|
349
|
+
pollId: pollId,
|
|
350
|
+
timestamp: pollTime,
|
|
351
|
+
questions: [
|
|
352
|
+
{
|
|
353
|
+
prompt: question,
|
|
354
|
+
responses: [response],
|
|
355
|
+
},
|
|
356
|
+
]
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
if (questions.includes(question)) {
|
|
361
|
+
// Add response to existing question
|
|
362
|
+
pollIdToOccurrenceMap[pollId]
|
|
363
|
+
.questions[questionToIndexMap[question]]
|
|
364
|
+
.responses
|
|
365
|
+
.push(response);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
// Poll is there but question is not. Add prompt and response
|
|
369
|
+
pollIdToOccurrenceMap[pollId].questions.push({
|
|
370
|
+
prompt: question,
|
|
371
|
+
responses: [response],
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
// Update timestamp if the new timestamp is earlier
|
|
375
|
+
if (pollTime < pollIdToOccurrenceMap[pollId].timestamp) {
|
|
376
|
+
pollIdToOccurrenceMap[pollId].timestamp = dateTime;
|
|
377
|
+
}
|
|
378
|
+
// Store to the indexMap
|
|
379
|
+
questionToIndexMap[question] = pollIdToOccurrenceMap[pollId].questions.length - 1;
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
});
|
|
383
|
+
// Flatten map into an array
|
|
384
|
+
return [2 /*return*/, Object.values(pollIdToOccurrenceMap)];
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
});
|
|
388
|
+
};
|
|
303
389
|
/**
|
|
304
390
|
* Add one alt-host if not already in the list. If another user in the alt-host
|
|
305
391
|
* list has been deactivated, all alt-hosts are removed and the requested
|
package/docs/ECatUser.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
package/docs/ECatWebinar.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
package/docs/api.meeting.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
|
|
150
150
|
<dt class="tag-source">Source:</dt>
|
|
151
151
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
152
|
-
<a href="ECatMeeting.js.html">ECatMeeting.js</a>, <a href="ECatMeeting.js.html#
|
|
152
|
+
<a href="ECatMeeting.js.html">ECatMeeting.js</a>, <a href="ECatMeeting.js.html#line348">line 348</a>
|
|
153
153
|
</li></ul></dd>
|
|
154
154
|
|
|
155
155
|
|
|
@@ -1362,6 +1362,198 @@
|
|
|
1362
1362
|
|
|
1363
1363
|
|
|
1364
1364
|
|
|
1365
|
+
<h4 class="name" id="listPastPollOccurrences"><span class="type-signature"></span>listPastPollOccurrences<span class="signature">(opts)</span><span class="type-signature"></span></h4>
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
<dl class="details">
|
|
1373
|
+
|
|
1374
|
+
|
|
1375
|
+
<dt class="tag-source">Source:</dt>
|
|
1376
|
+
<dd class="tag-source"><ul class="dummy"><li>
|
|
1377
|
+
<a href="ECatMeeting.js.html">ECatMeeting.js</a>, <a href="ECatMeeting.js.html#line262">line 262</a>
|
|
1378
|
+
</li></ul></dd>
|
|
1379
|
+
|
|
1380
|
+
|
|
1381
|
+
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
|
|
1398
|
+
<dt class="tag-author">Author:</dt>
|
|
1399
|
+
<dd class="tag-author">
|
|
1400
|
+
<ul>
|
|
1401
|
+
<li>Yuen Ler Chow</li>
|
|
1402
|
+
</ul>
|
|
1403
|
+
</dd>
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
</dl>
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
<div class="description usertext">
|
|
1424
|
+
List past poll occurrences
|
|
1425
|
+
</div>
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
<h5>Parameters:</h5>
|
|
1438
|
+
|
|
1439
|
+
|
|
1440
|
+
<table class="params">
|
|
1441
|
+
<thead>
|
|
1442
|
+
<tr>
|
|
1443
|
+
|
|
1444
|
+
<th>Name</th>
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
<th>Type</th>
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
|
|
1451
|
+
|
|
1452
|
+
|
|
1453
|
+
<th class="last">Description</th>
|
|
1454
|
+
</tr>
|
|
1455
|
+
</thead>
|
|
1456
|
+
|
|
1457
|
+
<tbody>
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
<tr>
|
|
1461
|
+
|
|
1462
|
+
<td class="name"><code>opts</code></td>
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
<td class="type">
|
|
1466
|
+
|
|
1467
|
+
</td>
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
<td class="description last">object containing all arguments
|
|
1474
|
+
<h6>Properties</h6>
|
|
1475
|
+
|
|
1476
|
+
|
|
1477
|
+
<table class="params">
|
|
1478
|
+
<thead>
|
|
1479
|
+
<tr>
|
|
1480
|
+
|
|
1481
|
+
<th>Name</th>
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
<th>Type</th>
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
<th class="last">Description</th>
|
|
1491
|
+
</tr>
|
|
1492
|
+
</thead>
|
|
1493
|
+
|
|
1494
|
+
<tbody>
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
<tr>
|
|
1498
|
+
|
|
1499
|
+
<td class="name"><code>meetingId</code></td>
|
|
1500
|
+
|
|
1501
|
+
|
|
1502
|
+
<td class="type">
|
|
1503
|
+
|
|
1504
|
+
</td>
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
<td class="description last">the Zoom ID of the meeting</td>
|
|
1511
|
+
</tr>
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
</tbody>
|
|
1515
|
+
</table>
|
|
1516
|
+
|
|
1517
|
+
</td>
|
|
1518
|
+
</tr>
|
|
1519
|
+
|
|
1520
|
+
|
|
1521
|
+
</tbody>
|
|
1522
|
+
</table>
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
<h5>Returns:</h5>
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
<div class="param-desc">
|
|
1543
|
+
list of past poll occurrences
|
|
1544
|
+
</div>
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
|
|
1554
|
+
|
|
1555
|
+
|
|
1556
|
+
|
|
1365
1557
|
<h4 class="name" id="update"><span class="type-signature"></span>update<span class="signature">(opts)</span><span class="type-signature"></span></h4>
|
|
1366
1558
|
|
|
1367
1559
|
|
package/docs/api.user.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
package/docs/api.webinar.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
package/docs/index.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#listPastInstances">listPastInstances</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#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#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>
|
|
31
31
|
</nav>
|
|
32
32
|
|
|
33
33
|
<div id="main">
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import EndpointCategory from '../shared/interfaces/EndpointCategory';
|
|
8
8
|
import ZoomMeeting from '../types/ZoomMeeting';
|
|
9
|
+
import PollOccurrence from '../types/PollOccurrence';
|
|
9
10
|
declare class ECatMeeting extends EndpointCategory {
|
|
10
11
|
/**
|
|
11
12
|
* Get info on a meeting
|
|
@@ -93,6 +94,19 @@ declare class ECatMeeting extends EndpointCategory {
|
|
|
93
94
|
listPastInstances(opts: {
|
|
94
95
|
meetingId: number;
|
|
95
96
|
}): Promise<ZoomMeeting[]>;
|
|
97
|
+
/**
|
|
98
|
+
* List past poll occurrences
|
|
99
|
+
* @author Yuen Ler Chow
|
|
100
|
+
* @instance
|
|
101
|
+
* @memberof api.meeting
|
|
102
|
+
* @method listPastPollOccurrences
|
|
103
|
+
* @param opts object containing all arguments
|
|
104
|
+
* @param opts.meetingId the Zoom ID of the meeting
|
|
105
|
+
* @returns list of past poll occurrences
|
|
106
|
+
*/
|
|
107
|
+
listPastPollOccurrences(opts: {
|
|
108
|
+
meetingId: number;
|
|
109
|
+
}): Promise<PollOccurrence[]>;
|
|
96
110
|
/**
|
|
97
111
|
* Add one alt-host if not already in the list. If another user in the alt-host
|
|
98
112
|
* list has been deactivated, all alt-hosts are removed and the requested
|
|
@@ -259,6 +259,92 @@ var ECatMeeting = /** @class */ (function (_super) {
|
|
|
259
259
|
});
|
|
260
260
|
});
|
|
261
261
|
};
|
|
262
|
+
/**
|
|
263
|
+
* List past poll occurrences
|
|
264
|
+
* @author Yuen Ler Chow
|
|
265
|
+
* @instance
|
|
266
|
+
* @memberof api.meeting
|
|
267
|
+
* @method listPastPollOccurrences
|
|
268
|
+
* @param opts object containing all arguments
|
|
269
|
+
* @param opts.meetingId the Zoom ID of the meeting
|
|
270
|
+
* @returns list of past poll occurrences
|
|
271
|
+
*/
|
|
272
|
+
ECatMeeting.prototype.listPastPollOccurrences = function (opts) {
|
|
273
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
274
|
+
var response, pollIdToOccurrenceMap, questions, questionToIndexMap;
|
|
275
|
+
return __generator(this, function (_a) {
|
|
276
|
+
switch (_a.label) {
|
|
277
|
+
case 0: return [4 /*yield*/, this.visitEndpoint({
|
|
278
|
+
path: "/past_meetings/".concat(opts.meetingId, "/polls"),
|
|
279
|
+
action: 'get the list of polls that occurred in a past meeting',
|
|
280
|
+
method: 'GET',
|
|
281
|
+
errorMap: {
|
|
282
|
+
400: 'We could not access the poll data for this meeting.',
|
|
283
|
+
12702: 'You are not allowed to access information about meetings that occurred more than 1 year ago.',
|
|
284
|
+
},
|
|
285
|
+
})];
|
|
286
|
+
case 1:
|
|
287
|
+
response = _a.sent();
|
|
288
|
+
pollIdToOccurrenceMap = {};
|
|
289
|
+
questions = [];
|
|
290
|
+
questionToIndexMap = {};
|
|
291
|
+
// Process each poll response
|
|
292
|
+
response.questions.forEach(function (user) {
|
|
293
|
+
var email = user.email, name = user.name, questionDetails = user.question_details;
|
|
294
|
+
// Loop through each answer
|
|
295
|
+
questionDetails.forEach(function (questionDetail) {
|
|
296
|
+
var answer = questionDetail.answer, dateTime = questionDetail.date_time, pollId = questionDetail.polling_id, question = questionDetail.question;
|
|
297
|
+
// Parse date time as ms since epoch
|
|
298
|
+
var pollTime = new Date("".concat(dateTime, " UTC")).getTime();
|
|
299
|
+
// Reformat as a response object
|
|
300
|
+
var response = {
|
|
301
|
+
userFullName: name,
|
|
302
|
+
userEmail: email,
|
|
303
|
+
answer: answer,
|
|
304
|
+
timestamp: pollTime,
|
|
305
|
+
};
|
|
306
|
+
if (!pollIdToOccurrenceMap[pollId]) {
|
|
307
|
+
pollIdToOccurrenceMap[pollId] = {
|
|
308
|
+
pollId: pollId,
|
|
309
|
+
timestamp: pollTime,
|
|
310
|
+
questions: [
|
|
311
|
+
{
|
|
312
|
+
prompt: question,
|
|
313
|
+
responses: [response],
|
|
314
|
+
},
|
|
315
|
+
]
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
if (questions.includes(question)) {
|
|
320
|
+
// Add response to existing question
|
|
321
|
+
pollIdToOccurrenceMap[pollId]
|
|
322
|
+
.questions[questionToIndexMap[question]]
|
|
323
|
+
.responses
|
|
324
|
+
.push(response);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
// Poll is there but question is not. Add prompt and response
|
|
328
|
+
pollIdToOccurrenceMap[pollId].questions.push({
|
|
329
|
+
prompt: question,
|
|
330
|
+
responses: [response],
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
// Update timestamp if the new timestamp is earlier
|
|
334
|
+
if (pollTime < pollIdToOccurrenceMap[pollId].timestamp) {
|
|
335
|
+
pollIdToOccurrenceMap[pollId].timestamp = dateTime;
|
|
336
|
+
}
|
|
337
|
+
// Store to the indexMap
|
|
338
|
+
questionToIndexMap[question] = pollIdToOccurrenceMap[pollId].questions.length - 1;
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
// Flatten map into an array
|
|
343
|
+
return [2 /*return*/, Object.values(pollIdToOccurrenceMap)];
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
};
|
|
262
348
|
/**
|
|
263
349
|
* Add one alt-host if not already in the list. If another user in the alt-host
|
|
264
350
|
* list has been deactivated, all alt-hosts are removed and the requested
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECatMeeting.js","sourceRoot":"","sources":["../../src/endpoints/ECatMeeting.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,2FAAqE;AAErE,wBAAwB;AACxB,4EAAsD;AACtD,wEAAkD;
|
|
1
|
+
{"version":3,"file":"ECatMeeting.js","sourceRoot":"","sources":["../../src/endpoints/ECatMeeting.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,2FAAqE;AAErE,wBAAwB;AACxB,4EAAsD;AACtD,wEAAkD;AAMlD;IAA0B,+BAAgB;IAA1C;;IAiZA,CAAC;IAhZC;;;;;;;;;;;;;OAaG;IACG,yBAAG,GAAT,UACE,IAIC;;;;gBAGK,MAAM,GAGR;oBACF,yBAAyB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB;iBACrD,CAAC;gBAEF,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;iBAC1C;gBAED,eAAe;gBACf,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,oBAAa,IAAI,CAAC,SAAS,CAAE;wBACnC,MAAM,EAAE,uBAAuB;wBAC/B,MAAM,EAAE,KAAK;wBACb,MAAM,QAAA;wBACN,QAAQ,EAAE;4BACR,GAAG,EAAE;gCACH,IAAI,EAAE,kDAAkD;gCACxD,IAAI,EAAE,kCAAkC;6BACzC;4BACD,GAAG,EAAE;gCACH,IAAI,EAAE,oEAAoE;gCAC1E,IAAI,EAAE,kBAAW,IAAI,CAAC,SAAS,uCAAoC;6BACpE;yBACF;qBACF,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;;;OAWG;IACG,4BAAM,GAAZ,UACE,IAGC;;;gBAED,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,iBAAU,IAAI,CAAC,MAAM,cAAW;wBACtC,MAAM,EAAE,sBAAsB;wBAC9B,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,QAAQ,EAAE;4BACR,GAAG,EAAE,eAAQ,IAAI,CAAC,MAAM,sEAAmE;4BAC3F,GAAG,EAAE;gCACH,IAAI,EAAE,eAAQ,IAAI,CAAC,MAAM,8DAA2D;6BACrF;yBACF;qBACF,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;;;;OAYG;IACG,4BAAM,GAAZ,UACE,IAIC;;;gBAED,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,CACJ,IAAI,CAAC,YAAY;4BACf,CAAC,CAAC,oBAAa,IAAI,CAAC,SAAS,4BAAkB,IAAI,CAAC,YAAY,CAAE;4BAClE,CAAC,CAAC,oBAAa,IAAI,CAAC,SAAS,CAAE,CAClC;wBACD,MAAM,EAAE,iCAAiC;wBACzC,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,QAAQ,EAAE;4BACR,GAAG,EAAE,+EAA+E;4BACpF,GAAG,EAAE;gCACH,IAAI,EAAE,iDAAiD;gCACvD,IAAI,EAAE,yCAAyC;gCAC/C,IAAI,EAAE,wCAAiC,IAAI,CAAC,SAAS,wCAAqC;6BAC3F;4BACD,GAAG,EAAE;gCACH,IAAI,EAAE,iEAAiE;gCACvE,IAAI,EAAE,gCAAyB,IAAI,CAAC,SAAS,uCAAoC;6BAClF;yBACF;qBACF,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;;;;;OAaG;IACG,4BAAM,GAAZ,UACE,IAIC;;;;gBAGK,MAAM,GAGR;oBACF,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;iBAC1C,CAAC;gBAEF,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;iBAC1C;gBAED,eAAe;gBACf,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,oBAAa,IAAI,CAAC,SAAS,CAAE;wBACnC,MAAM,EAAE,kBAAkB;wBAC1B,MAAM,EAAE,QAAQ;wBAChB,MAAM,QAAA;wBACN,QAAQ,EAAE;4BACR,GAAG,EAAE;gCACH,IAAI,EAAE,sCAA+B,IAAI,CAAC,SAAS,sDAAmD;gCACtG,IAAI,EAAE,8DAAuD,IAAI,CAAC,SAAS,CAAE;gCAC7E,IAAI,EAAE,0CAAmC,IAAI,CAAC,SAAS,mCAAgC;gCACvF,IAAI,EAAE,wCAAiC,IAAI,CAAC,SAAS,wCAAqC;gCAC1F,IAAI,EAAE,wCAAiC,IAAI,CAAC,SAAS,gCAA6B;gCAClF,IAAI,EAAE,wDAAwD;gCAC9D,IAAI,EAAE,6DAA6D;6BACpE;4BACD,GAAG,EAAE;gCACH,IAAI,EAAE,0CAAmC,IAAI,CAAC,SAAS,qCAAkC;gCACzF,IAAI,EAAE,gCAAyB,IAAI,CAAC,SAAS,uCAAoC;6BAClF;yBACF;qBACF,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;;OAUG;IACG,uCAAiB,GAAvB,UACE,IAEC;;;gBAED,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,yBAAkB,IAAI,CAAC,SAAS,eAAY;wBAClD,MAAM,EAAE,yCAAyC;wBACjD,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE;4BACR,GAAG,EAAE,kDAA2C,IAAI,CAAC,SAAS,CAAE;yBACjE;qBACF,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;OASG;IACG,6CAAuB,GAA7B,UACE,IAEC;;;;;4BAGgB,qBAAM,IAAI,CAAC,aAAa,CAAC;4BACxC,IAAI,EAAE,yBAAkB,IAAI,CAAC,SAAS,WAAQ;4BAC9C,MAAM,EAAE,uDAAuD;4BAC/D,MAAM,EAAE,KAAK;4BACb,QAAQ,EAAE;gCACR,GAAG,EAAE,qDAAqD;gCAC1D,KAAK,EAAE,8FAA8F;6BACtG;yBACF,CAAC,EAAA;;wBARI,QAAQ,GAAG,SAQf;wBAGI,qBAAqB,GAEvB,EAAE,CAAC;wBAGD,SAAS,GAAa,EAAE,CAAA;wBACxB,kBAAkB,GAAmC,EAAE,CAAC;wBAE9D,6BAA6B;wBAC7B,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAS;4BAEjC,IAAA,KAAK,GAGH,IAAI,MAHD,EACL,IAAI,GAEF,IAAI,KAFF,EACc,eAAe,GAC/B,IAAI,iBAD2B,CAC1B;4BAET,2BAA2B;4BAC3B,eAAe,CAAC,OAAO,CAAC,UAAC,cAAmB;gCAExC,IAAA,MAAM,GAIJ,cAAc,OAJV,EACK,QAAQ,GAGjB,cAAc,UAHG,EACP,MAAM,GAEhB,cAAc,WAFE,EAClB,QAAQ,GACN,cAAc,SADR,CACS;gCAEnB,oCAAoC;gCACpC,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,UAAG,QAAQ,SAAM,CAAC,CAAC,OAAO,EAAE,CAAC;gCAEvD,gCAAgC;gCAChC,IAAM,QAAQ,GAAG;oCACf,YAAY,EAAE,IAAI;oCAClB,SAAS,EAAE,KAAK;oCAChB,MAAM,QAAA;oCACN,SAAS,EAAE,QAAQ;iCACpB,CAAC;gCAEF,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;oCAClC,qBAAqB,CAAC,MAAM,CAAC,GAAG;wCAC9B,MAAM,EAAE,MAAM;wCACd,SAAS,EAAE,QAAQ;wCACnB,SAAS,EAAE;4CACT;gDACE,MAAM,EAAE,QAAQ;gDAChB,SAAS,EAAE,CAAC,QAAQ,CAAC;6CACtB;yCACF;qCACF,CAAC;iCACH;qCAAM;oCACL,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wCAChC,oCAAoC;wCACpC,qBAAqB,CAAC,MAAM,CAAC;6CAC1B,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;6CACvC,SAAS;6CACT,IAAI,CAAC,QAAQ,CAAC,CAAC;qCACnB;yCAAM;wCACL,6DAA6D;wCAC7D,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;4CAC3C,MAAM,EAAE,QAAQ;4CAChB,SAAS,EAAE,CAAC,QAAQ,CAAC;yCACtB,CAAC,CAAC;qCACJ;oCAED,mDAAmD;oCACnD,IAAI,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE;wCACtD,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC;qCACpD;oCAED,wBAAwB;oCACxB,kBAAkB,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iCACnF;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,4BAA4B;wBAC5B,sBAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAC;;;;KAC7C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACG,gCAAU,GAAhB,UACE,IAIC;;;;;;wBAIC,SAAS,GAEP,IAAI,UAFG,EACT,OAAO,GACL,IAAI,QADC,CACA;wBACH,UAAU,GAAK,IAAI,WAAT,CAAU;6BAGtB,CAAC,UAAU,EAAX,wBAAW;wBACA,qBAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,WAAA,EAAE,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;;;wBAInD,QAAQ,GAAG,CACf,UAAU,CAAC,QAAQ,CAAC,iBAAiB;4BACnC,8BAA8B;6BAC7B,KAAK,CAAC,GAAG,CAAC;4BACX,iCAAiC;6BAChC,GAAG,CAAC,UAAC,IAAI;4BACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;wBACrB,CAAC,CAAC,CACL,CAAC;6BAGE,CAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,EAA7B,wBAA6B;wBAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvB,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;;;wBAGzD,qBAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;;;;wBAGnD,0BAA0B,GAAG,CAAC,KAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;wBAC3D,4BAA4B,GAAG,CACnC,KAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC1D,CAAC;6BACE,0BAA0B,EAA1B,wBAA0B;wBAC5B,IAAI,4BAA4B,EAAE;4BAChC,yDAAyD;4BACzD,MAAM,IAAI,oBAAU,CAAC;gCACnB,OAAO,EAAE,6BAAqB,OAAO,4FAAwF;gCAC7H,IAAI,EAAE,mBAAS,CAAC,0BAA0B;6BAC3C,CAAC,CAAC;yBACJ;wBAED,gDAAgD;wBAChD,8BAA8B;wBAC9B,UAAU,CAAC,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC;wBAChD,qBAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;;;;oBAK/D,gCAAgC;oBAChC,sBAAO,UAAU,EAAC;;;;KACnB;IACH,kBAAC;AAAD,CAAC,AAjZD,CAA0B,0BAAgB,GAiZzC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAE5E,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One poll occurrence of a poll that happened in a past occurrence of a
|
|
3
|
+
* Zoom meeting
|
|
4
|
+
* @author Gabe Abrams
|
|
5
|
+
*/
|
|
6
|
+
type PollOccurrence = {
|
|
7
|
+
pollId: string;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
questions: {
|
|
10
|
+
prompt: string;
|
|
11
|
+
responses: {
|
|
12
|
+
userFullName: string;
|
|
13
|
+
userEmail: string;
|
|
14
|
+
answer: string;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
}[];
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
export default PollOccurrence;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PollOccurrence.js","sourceRoot":"","sources":["../../src/types/PollOccurrence.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@ import ErrorCode from '../shared/types/ErrorCode';
|
|
|
14
14
|
|
|
15
15
|
// Import shared types
|
|
16
16
|
import ZoomMeeting from '../types/ZoomMeeting';
|
|
17
|
+
import PollOccurrence from '../types/PollOccurrence';
|
|
17
18
|
|
|
18
19
|
class ECatMeeting extends EndpointCategory {
|
|
19
20
|
/**
|
|
@@ -229,6 +230,110 @@ class ECatMeeting extends EndpointCategory {
|
|
|
229
230
|
});
|
|
230
231
|
}
|
|
231
232
|
|
|
233
|
+
/**
|
|
234
|
+
* List past poll occurrences
|
|
235
|
+
* @author Yuen Ler Chow
|
|
236
|
+
* @instance
|
|
237
|
+
* @memberof api.meeting
|
|
238
|
+
* @method listPastPollOccurrences
|
|
239
|
+
* @param opts object containing all arguments
|
|
240
|
+
* @param opts.meetingId the Zoom ID of the meeting
|
|
241
|
+
* @returns list of past poll occurrences
|
|
242
|
+
*/
|
|
243
|
+
async listPastPollOccurrences(
|
|
244
|
+
opts: {
|
|
245
|
+
meetingId: number,
|
|
246
|
+
},
|
|
247
|
+
): Promise<PollOccurrence[]> {
|
|
248
|
+
// Ask Zoom for unprocessed poll data
|
|
249
|
+
const response = await this.visitEndpoint({
|
|
250
|
+
path: `/past_meetings/${opts.meetingId}/polls`,
|
|
251
|
+
action: 'get the list of polls that occurred in a past meeting',
|
|
252
|
+
method: 'GET',
|
|
253
|
+
errorMap: {
|
|
254
|
+
400: 'We could not access the poll data for this meeting.',
|
|
255
|
+
12702: 'You are not allowed to access information about meetings that occurred more than 1 year ago.',
|
|
256
|
+
},
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
// Process and return poll occurrences
|
|
260
|
+
const pollIdToOccurrenceMap: {
|
|
261
|
+
[pollId: string]: PollOccurrence,
|
|
262
|
+
} = {};
|
|
263
|
+
|
|
264
|
+
// Create data structures for collecting poll data
|
|
265
|
+
const questions: string[] = []
|
|
266
|
+
const questionToIndexMap: { [question: string]: number } = {};
|
|
267
|
+
|
|
268
|
+
// Process each poll response
|
|
269
|
+
response.questions.forEach((user: any) => {
|
|
270
|
+
const {
|
|
271
|
+
email,
|
|
272
|
+
name,
|
|
273
|
+
question_details: questionDetails,
|
|
274
|
+
} = user;
|
|
275
|
+
|
|
276
|
+
// Loop through each answer
|
|
277
|
+
questionDetails.forEach((questionDetail: any) => {
|
|
278
|
+
const {
|
|
279
|
+
answer,
|
|
280
|
+
date_time: dateTime,
|
|
281
|
+
polling_id: pollId,
|
|
282
|
+
question,
|
|
283
|
+
} = questionDetail;
|
|
284
|
+
|
|
285
|
+
// Parse date time as ms since epoch
|
|
286
|
+
const pollTime = new Date(`${dateTime} UTC`).getTime();
|
|
287
|
+
|
|
288
|
+
// Reformat as a response object
|
|
289
|
+
const response = {
|
|
290
|
+
userFullName: name,
|
|
291
|
+
userEmail: email,
|
|
292
|
+
answer,
|
|
293
|
+
timestamp: pollTime,
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
if (!pollIdToOccurrenceMap[pollId]) {
|
|
297
|
+
pollIdToOccurrenceMap[pollId] = {
|
|
298
|
+
pollId: pollId,
|
|
299
|
+
timestamp: pollTime,
|
|
300
|
+
questions: [
|
|
301
|
+
{
|
|
302
|
+
prompt: question,
|
|
303
|
+
responses: [response],
|
|
304
|
+
},
|
|
305
|
+
]
|
|
306
|
+
};
|
|
307
|
+
} else {
|
|
308
|
+
if (questions.includes(question)) {
|
|
309
|
+
// Add response to existing question
|
|
310
|
+
pollIdToOccurrenceMap[pollId]
|
|
311
|
+
.questions[questionToIndexMap[question]]
|
|
312
|
+
.responses
|
|
313
|
+
.push(response);
|
|
314
|
+
} else {
|
|
315
|
+
// Poll is there but question is not. Add prompt and response
|
|
316
|
+
pollIdToOccurrenceMap[pollId].questions.push({
|
|
317
|
+
prompt: question,
|
|
318
|
+
responses: [response],
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// Update timestamp if the new timestamp is earlier
|
|
323
|
+
if (pollTime < pollIdToOccurrenceMap[pollId].timestamp) {
|
|
324
|
+
pollIdToOccurrenceMap[pollId].timestamp = dateTime;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// Store to the indexMap
|
|
328
|
+
questionToIndexMap[question] = pollIdToOccurrenceMap[pollId].questions.length - 1;
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
// Flatten map into an array
|
|
334
|
+
return Object.values(pollIdToOccurrenceMap);
|
|
335
|
+
}
|
|
336
|
+
|
|
232
337
|
/**
|
|
233
338
|
* Add one alt-host if not already in the list. If another user in the alt-host
|
|
234
339
|
* list has been deactivated, all alt-hosts are removed and the requested
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One poll occurrence of a poll that happened in a past occurrence of a
|
|
3
|
+
* Zoom meeting
|
|
4
|
+
* @author Gabe Abrams
|
|
5
|
+
*/
|
|
6
|
+
type PollOccurrence = {
|
|
7
|
+
// The poll id
|
|
8
|
+
pollId: string,
|
|
9
|
+
// Timestamp for when the poll occurred (ms since epoch for first response)
|
|
10
|
+
timestamp: number,
|
|
11
|
+
// List of questions
|
|
12
|
+
questions: {
|
|
13
|
+
// The prompt for the question
|
|
14
|
+
prompt: string,
|
|
15
|
+
// List of responses to the question
|
|
16
|
+
responses: {
|
|
17
|
+
// The name of the person who submitted the response
|
|
18
|
+
userFullName: string,
|
|
19
|
+
// The email of the person who submitted the response
|
|
20
|
+
userEmail: string,
|
|
21
|
+
// The response/answer the user chose
|
|
22
|
+
answer: string,
|
|
23
|
+
// Timestamp of when the user submitted their response (ms since epoch)
|
|
24
|
+
timestamp: number,
|
|
25
|
+
}[],
|
|
26
|
+
}[],
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default PollOccurrence;
|