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.
@@ -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">
@@ -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 &lt; 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
@@ -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">
@@ -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">
@@ -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#line262">line 262</a>
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
 
@@ -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/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":"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"}
1
+ {"version":3,"file":"ECatMeeting.js","sourceRoot":"","sources":["../../src/endpoints/ECatMeeting.ts"],"names":[],"mappings":"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"}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PollOccurrence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PollOccurrence.js","sourceRoot":"","sources":["../../src/types/PollOccurrence.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zaccl",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "description": "The Zoom App Complete Connection Library, a project that handles everything required to build a zoom-integrated app.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -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;