zaccl 3.0.18 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/docs/ECatCloudRecording.js.html +69 -26
  2. package/docs/ECatGroup.js.html +213 -0
  3. package/docs/ECatMeeting.js.html +79 -11
  4. package/docs/ECatUser.js.html +7 -10
  5. package/docs/ECatWebinar.js.html +6 -5
  6. package/docs/api.cloudRecording.html +368 -28
  7. package/docs/api.group.html +396 -0
  8. package/docs/api.meeting.html +466 -15
  9. package/docs/api.user.html +10 -10
  10. package/docs/api.webinar.html +5 -5
  11. package/docs/index.html +1 -1
  12. package/lib/endpoints/ECatCloudRecording.d.ts +34 -8
  13. package/lib/endpoints/ECatCloudRecording.js +68 -25
  14. package/lib/endpoints/ECatCloudRecording.js.map +1 -1
  15. package/lib/endpoints/ECatGroup.d.ts +45 -0
  16. package/lib/endpoints/ECatGroup.js +148 -0
  17. package/lib/endpoints/ECatGroup.js.map +1 -0
  18. package/lib/endpoints/ECatMeeting.d.ts +43 -10
  19. package/lib/endpoints/ECatMeeting.js +78 -10
  20. package/lib/endpoints/ECatMeeting.js.map +1 -1
  21. package/lib/endpoints/ECatUser.d.ts +5 -5
  22. package/lib/endpoints/ECatUser.js +6 -9
  23. package/lib/endpoints/ECatUser.js.map +1 -1
  24. package/lib/endpoints/ECatWebinar.d.ts +4 -4
  25. package/lib/endpoints/ECatWebinar.js +5 -4
  26. package/lib/endpoints/ECatWebinar.js.map +1 -1
  27. package/lib/index.d.ts +22 -0
  28. package/lib/index.js +19 -0
  29. package/lib/index.js.map +1 -1
  30. package/lib/shared/helpers/genVisitEndpoint.js +154 -81
  31. package/lib/shared/helpers/genVisitEndpoint.js.map +1 -1
  32. package/lib/shared/types/VisitEndpointFunc.d.ts +3 -1
  33. package/lib/types/ZoomAPI.d.ts +2 -0
  34. package/lib/types/ZoomAPI.js.map +1 -1
  35. package/lib/types/ZoomGroup.d.ts +10 -0
  36. package/lib/types/ZoomGroup.js +3 -0
  37. package/lib/types/ZoomGroup.js.map +1 -0
  38. package/lib/types/ZoomGroupMember.d.ts +12 -0
  39. package/lib/types/ZoomGroupMember.js +3 -0
  40. package/lib/types/ZoomGroupMember.js.map +1 -0
  41. package/lib/types/ZoomMeetingTranscript.d.ts +17 -0
  42. package/lib/types/ZoomMeetingTranscript.js +3 -0
  43. package/lib/types/ZoomMeetingTranscript.js.map +1 -0
  44. package/lib/types/ZoomPastMeetingDetails.d.ts +22 -0
  45. package/lib/types/ZoomPastMeetingDetails.js +3 -0
  46. package/lib/types/ZoomPastMeetingDetails.js.map +1 -0
  47. package/lib/types/ZoomPastMeetingParticipant.d.ts +18 -0
  48. package/lib/types/ZoomPastMeetingParticipant.js +3 -0
  49. package/lib/types/ZoomPastMeetingParticipant.js.map +1 -0
  50. package/lib/types/ZoomRecordingInAccount.d.ts +22 -0
  51. package/lib/types/ZoomRecordingInAccount.js +3 -0
  52. package/lib/types/ZoomRecordingInAccount.js.map +1 -0
  53. package/package.json +2 -2
  54. package/src/endpoints/ECatCloudRecording.ts +83 -29
  55. package/src/endpoints/ECatGroup.ts +97 -0
  56. package/src/endpoints/ECatMeeting.ts +85 -10
  57. package/src/endpoints/ECatUser.ts +6 -9
  58. package/src/endpoints/ECatWebinar.ts +5 -4
  59. package/src/index.ts +53 -0
  60. package/src/shared/helpers/genVisitEndpoint.ts +143 -77
  61. package/src/shared/types/VisitEndpointFunc.ts +6 -2
  62. package/src/types/ZoomAPI.ts +2 -0
  63. package/src/types/ZoomGroup.ts +14 -0
  64. package/src/types/ZoomGroupMember.ts +20 -0
  65. package/src/types/ZoomMeetingTranscript.ts +28 -0
  66. package/src/types/ZoomPastMeetingDetails.ts +38 -0
  67. package/src/types/ZoomPastMeetingParticipant.ts +30 -0
  68. package/src/types/ZoomRecordingInAccount.ts +38 -0
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -194,7 +194,7 @@
194
194
 
195
195
 
196
196
  <div class="description usertext">
197
- Add one panelist if not already in the list
197
+ Add one panelist if not already in the list (Medium)
198
198
  </div>
199
199
 
200
200
 
@@ -413,7 +413,7 @@
413
413
 
414
414
 
415
415
  <div class="description usertext">
416
- Create a webinar
416
+ Create a webinar (Light)
417
417
  </div>
418
418
 
419
419
 
@@ -625,7 +625,7 @@
625
625
 
626
626
 
627
627
  <div class="description usertext">
628
- Get info on a Webinar
628
+ Get info on a Webinar (Light)
629
629
  </div>
630
630
 
631
631
 
@@ -932,7 +932,7 @@
932
932
 
933
933
 
934
934
  <div class="description usertext">
935
- Get a list of panelists for a webinar
935
+ Get a list of panelists for a webinar (Medium)
936
936
  </div>
937
937
 
938
938
 
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#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -6,9 +6,36 @@
6
6
  */
7
7
  import EndpointCategory from '../shared/interfaces/EndpointCategory';
8
8
  import ZoomMeetingRecordings from '../types/ZoomMeetingRecordings';
9
+ import ZoomRecordingInAccount from '../types/ZoomRecordingInAccount';
9
10
  declare class ECatCloudRecording extends EndpointCategory {
10
11
  /**
11
- * Get all recordings of a meeting
12
+ * List recordings in the account (Medium)
13
+ * @author Gabe Abrams
14
+ * @instance
15
+ * @memberof api.cloudRecording
16
+ * @method listAccountRecordings
17
+ * @param opts object containing all arguments
18
+ * @param opts.fromYear the start of the date range to list recordings for (e.g. 2026)
19
+ * @param opts.fromMonth the month of the date range to list recordings for (1-12)
20
+ * @param [opts.fromDay] the day of the month of the date range to list recordings for (1-31, defaults to 1)
21
+ * @param [opts.accountId] the account ID of the account of interest (defaults to the account
22
+ * associated with the current access)
23
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
24
+ * The function is passed the new page of results as an argument.
25
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
26
+ * for custom throttle control
27
+ * @returns the list of recordings in the account
28
+ */
29
+ listAccountRecordings(opts: {
30
+ fromYear: number;
31
+ fromMonth: number;
32
+ fromDay?: number;
33
+ accountId?: string;
34
+ onNewPage?: (recordings: ZoomRecordingInAccount[]) => void;
35
+ minMsBetweenPageRequests?: number;
36
+ }): Promise<ZoomRecordingInAccount[]>;
37
+ /**
38
+ * Get all recordings of a meeting (Light)
12
39
  * @author Aryan Pandey
13
40
  * @instance
14
41
  * @memberof api.cloudRecording
@@ -24,17 +51,13 @@ declare class ECatCloudRecording extends EndpointCategory {
24
51
  includeDownloadAccessToken?: boolean;
25
52
  }): Promise<ZoomMeetingRecordings>;
26
53
  /**
27
- * List all cloud recordings of a user
54
+ * List all cloud recordings of a user (Medium)
28
55
  * @author Aryan Pandey
29
56
  * @instance
30
57
  * @memberof api.cloudRecording
31
58
  * @method listUserRecordings
32
59
  * @param opts object containing all arguments
33
60
  * @param opts.userId the user ID or email address of the user
34
- * @param [opts.pageSize=300] number of records
35
- * returned from a single API call
36
- * @param [opts.nextPageToken] token used to pageinate
37
- * through large result sets
38
61
  * @param [opts.searchTrash=false] set to true to retrieve
39
62
  * meeting recordings from the trash.
40
63
  * @param [opts.startDate=1 month before today]
@@ -45,15 +68,18 @@ declare class ECatCloudRecording extends EndpointCategory {
45
68
  * constructor or instance of Date object.
46
69
  * Date needs to be within past 6 months. Time data (hours and seconds)
47
70
  * is discarded
71
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
72
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
73
+ * for custom throttle control
48
74
  * @returns List of Zoom Recordings {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist#responses}
49
75
  */
50
76
  listUserRecordings(opts: {
51
77
  userId: string;
52
- pageSize?: number;
53
- nextPageToken?: string;
54
78
  searchTrash?: boolean;
55
79
  startDate?: (string | Date);
56
80
  endDate?: (string | Date);
81
+ onNewPage?: (recordings: ZoomMeetingRecordings[]) => void;
82
+ minMsBetweenPageRequests?: number;
57
83
  }): Promise<ZoomMeetingRecordings[]>;
58
84
  }
59
85
  export default ECatCloudRecording;
@@ -73,7 +73,65 @@ var ECatCloudRecording = /** @class */ (function (_super) {
73
73
  return _super !== null && _super.apply(this, arguments) || this;
74
74
  }
75
75
  /**
76
- * Get all recordings of a meeting
76
+ * List recordings in the account (Medium)
77
+ * @author Gabe Abrams
78
+ * @instance
79
+ * @memberof api.cloudRecording
80
+ * @method listAccountRecordings
81
+ * @param opts object containing all arguments
82
+ * @param opts.fromYear the start of the date range to list recordings for (e.g. 2026)
83
+ * @param opts.fromMonth the month of the date range to list recordings for (1-12)
84
+ * @param [opts.fromDay] the day of the month of the date range to list recordings for (1-31, defaults to 1)
85
+ * @param [opts.accountId] the account ID of the account of interest (defaults to the account
86
+ * associated with the current access)
87
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
88
+ * The function is passed the new page of results as an argument.
89
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
90
+ * for custom throttle control
91
+ * @returns the list of recordings in the account
92
+ */
93
+ ECatCloudRecording.prototype.listAccountRecordings = function (opts) {
94
+ var _a, _b;
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var fromYear, fromMonth, minMsBetweenPageRequests, fromMonthPadded, fromDay, fromDayPadded, fromDateString, toYear, toMonth, toMonthPadded, toDay, toDayPadded, toDateString;
97
+ return __generator(this, function (_c) {
98
+ fromYear = opts.fromYear, fromMonth = opts.fromMonth, minMsBetweenPageRequests = opts.minMsBetweenPageRequests;
99
+ fromMonthPadded = fromMonth < 10 ? "0".concat(fromMonth) : fromMonth;
100
+ fromDay = (_a = opts.fromDay) !== null && _a !== void 0 ? _a : 1;
101
+ fromDayPadded = fromDay < 10 ? "0".concat(fromDay) : fromDay;
102
+ fromDateString = "".concat(fromYear, "-").concat(fromMonthPadded, "-").concat(fromDayPadded);
103
+ toYear = fromYear;
104
+ toMonth = opts.fromMonth + 1;
105
+ if (toMonth > 12) {
106
+ toMonth = 1;
107
+ toYear += 1;
108
+ }
109
+ toMonthPadded = toMonth < 10 ? "0".concat(toMonth) : toMonth;
110
+ toDay = fromDay;
111
+ toDayPadded = toDay < 10 ? "0".concat(toDay) : toDay;
112
+ toDateString = "".concat(toYear, "-").concat(toMonthPadded, "-").concat(toDayPadded);
113
+ return [2 /*return*/, this.visitEndpoint({
114
+ path: "/accounts/".concat((_b = opts.accountId) !== null && _b !== void 0 ? _b : 'me', "/recordings"),
115
+ action: 'list recordings in the account',
116
+ method: 'GET',
117
+ params: {
118
+ page_size: 300,
119
+ from: fromDateString,
120
+ to: toDateString,
121
+ },
122
+ onNewPage: opts.onNewPage,
123
+ minMsBetweenPageRequests: minMsBetweenPageRequests,
124
+ itemKey: 'meetings',
125
+ errorMap: {
126
+ 400: 'Bad request',
127
+ 404: 'No recordings found',
128
+ },
129
+ })];
130
+ });
131
+ });
132
+ };
133
+ /**
134
+ * Get all recordings of a meeting (Light)
77
135
  * @author Aryan Pandey
78
136
  * @instance
79
137
  * @memberof api.cloudRecording
@@ -120,17 +178,13 @@ var ECatCloudRecording = /** @class */ (function (_super) {
120
178
  });
121
179
  };
122
180
  /**
123
- * List all cloud recordings of a user
181
+ * List all cloud recordings of a user (Medium)
124
182
  * @author Aryan Pandey
125
183
  * @instance
126
184
  * @memberof api.cloudRecording
127
185
  * @method listUserRecordings
128
186
  * @param opts object containing all arguments
129
187
  * @param opts.userId the user ID or email address of the user
130
- * @param [opts.pageSize=300] number of records
131
- * returned from a single API call
132
- * @param [opts.nextPageToken] token used to pageinate
133
- * through large result sets
134
188
  * @param [opts.searchTrash=false] set to true to retrieve
135
189
  * meeting recordings from the trash.
136
190
  * @param [opts.startDate=1 month before today]
@@ -141,13 +195,16 @@ var ECatCloudRecording = /** @class */ (function (_super) {
141
195
  * constructor or instance of Date object.
142
196
  * Date needs to be within past 6 months. Time data (hours and seconds)
143
197
  * is discarded
198
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
199
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
200
+ * for custom throttle control
144
201
  * @returns List of Zoom Recordings {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist#responses}
145
202
  */
146
203
  ECatCloudRecording.prototype.listUserRecordings = function (opts) {
147
204
  return __awaiter(this, void 0, void 0, function () {
148
- var userId, searchTrash, nextPageToken, startDate, endDate, pageSize, defaultDate, params;
205
+ var userId, searchTrash, startDate, endDate, onNewPage, minMsBetweenPageRequests, defaultDate, params;
149
206
  return __generator(this, function (_a) {
150
- userId = opts.userId, searchTrash = opts.searchTrash, nextPageToken = opts.nextPageToken, startDate = opts.startDate, endDate = opts.endDate, pageSize = opts.pageSize;
207
+ userId = opts.userId, searchTrash = opts.searchTrash, startDate = opts.startDate, endDate = opts.endDate, onNewPage = opts.onNewPage, minMsBetweenPageRequests = opts.minMsBetweenPageRequests;
151
208
  defaultDate = new Date();
152
209
  defaultDate.setMonth(defaultDate.getMonth() - 1);
153
210
  params = {
@@ -155,34 +212,20 @@ var ECatCloudRecording = /** @class */ (function (_super) {
155
212
  trash: !!searchTrash,
156
213
  from: (0, utils_1.formatDate)(defaultDate, 'startDate'),
157
214
  };
158
- if (pageSize) {
159
- // Throw error if pageSize is over max val of 300
160
- if (pageSize > 300) {
161
- throw new ZACCLError_1.default({
162
- message: "We requested ".concat(pageSize, " recordings from Zoom but it can only give us 300 at a time"),
163
- code: ErrorCode_1.default.InvalidPageSize,
164
- });
165
- }
166
- params.page_size = pageSize;
167
- }
168
215
  if (startDate) {
169
216
  params.from = (0, utils_1.formatDate)(startDate, 'startDate');
170
217
  }
171
218
  if (endDate) {
172
219
  params.to = (0, utils_1.formatDate)(endDate, 'endDate');
173
220
  }
174
- if (nextPageToken) {
175
- params.next_page_token = nextPageToken;
176
- }
177
221
  return [2 /*return*/, this.visitEndpoint({
178
222
  path: "/users/".concat(userId, "/recordings"),
179
223
  action: 'list all cloud recordings of a user',
180
224
  method: 'GET',
181
225
  params: params,
182
- postProcessor: function (body) {
183
- // Extract the recordings from the body
184
- return Array.from(body.meetings);
185
- },
226
+ onNewPage: opts.onNewPage,
227
+ minMsBetweenPageRequests: minMsBetweenPageRequests,
228
+ itemKey: 'meetings',
186
229
  errorMap: {
187
230
  404: {
188
231
  1001: "We could not find the Zoom user ".concat(userId, " on this account"),
@@ -1 +1 @@
1
- {"version":3,"file":"ECatCloudRecording.js","sourceRoot":"","sources":["../../src/endpoints/ECatCloudRecording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ECatCloudRecording.js","sourceRoot":"","sources":["../../src/endpoints/ECatCloudRecording.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Category of endpoints for Zoom groups
3
+ * @author Gabe Abrams
4
+ * @namespace api.group
5
+ */
6
+ import EndpointCategory from '../shared/interfaces/EndpointCategory';
7
+ import ZoomGroup from '../types/ZoomGroup';
8
+ import ZoomGroupMember from '../types/ZoomGroupMember';
9
+ declare class ECatGroup extends EndpointCategory {
10
+ /**
11
+ * List groups in the account (Medium)
12
+ * @author Gabe Abrams
13
+ * @instance
14
+ * @memberof api.account
15
+ * @method listGroups
16
+ * @param [opts] object containing all arguments
17
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
18
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
19
+ * for custom throttle control
20
+ * @returns the list of groups in the account
21
+ */
22
+ listGroups(opts?: {
23
+ onNewPage?: (groups: ZoomGroup[]) => void;
24
+ minMsBetweenPageRequests?: number;
25
+ }): Promise<ZoomGroup[]>;
26
+ /**
27
+ * List the members within a group (Medium)
28
+ * @author Gabe Abrams
29
+ * @instance
30
+ * @memberof api.group
31
+ * @method listGroupMembers
32
+ * @param opts object containing all arguments
33
+ * @params opts.groupId the group ID of the group of interest
34
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
35
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
36
+ * for custom throttle control
37
+ * @returns the list of members in the group
38
+ */
39
+ listGroupMembers(opts: {
40
+ groupId: string;
41
+ onNewPage?: (groupMembers: ZoomGroupMember[]) => void;
42
+ minMsBetweenPageRequests?: number;
43
+ }): Promise<ZoomGroupMember[]>;
44
+ }
45
+ export default ECatGroup;
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /**
3
+ * Category of endpoints for Zoom groups
4
+ * @author Gabe Abrams
5
+ * @namespace api.group
6
+ */
7
+ var __extends = (this && this.__extends) || (function () {
8
+ var extendStatics = function (d, b) {
9
+ extendStatics = Object.setPrototypeOf ||
10
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12
+ return extendStatics(d, b);
13
+ };
14
+ return function (d, b) {
15
+ if (typeof b !== "function" && b !== null)
16
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
17
+ extendStatics(d, b);
18
+ function __() { this.constructor = d; }
19
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
+ };
21
+ })();
22
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
23
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
+ return new (P || (P = Promise))(function (resolve, reject) {
25
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
29
+ });
30
+ };
31
+ var __generator = (this && this.__generator) || function (thisArg, body) {
32
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
33
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
34
+ function verb(n) { return function (v) { return step([n, v]); }; }
35
+ function step(op) {
36
+ if (f) throw new TypeError("Generator is already executing.");
37
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
38
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
39
+ if (y = 0, t) op = [op[0] & 2, t.value];
40
+ switch (op[0]) {
41
+ case 0: case 1: t = op; break;
42
+ case 4: _.label++; return { value: op[1], done: false };
43
+ case 5: _.label++; y = op[1]; op = [0]; continue;
44
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
45
+ default:
46
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
47
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
48
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
49
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
50
+ if (t[2]) _.ops.pop();
51
+ _.trys.pop(); continue;
52
+ }
53
+ op = body.call(thisArg, _);
54
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
55
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
56
+ }
57
+ };
58
+ var __importDefault = (this && this.__importDefault) || function (mod) {
59
+ return (mod && mod.__esModule) ? mod : { "default": mod };
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ // Import shared interfaces
63
+ var EndpointCategory_1 = __importDefault(require("../shared/interfaces/EndpointCategory"));
64
+ var ECatGroup = /** @class */ (function (_super) {
65
+ __extends(ECatGroup, _super);
66
+ function ECatGroup() {
67
+ return _super !== null && _super.apply(this, arguments) || this;
68
+ }
69
+ /**
70
+ * List groups in the account (Medium)
71
+ * @author Gabe Abrams
72
+ * @instance
73
+ * @memberof api.account
74
+ * @method listGroups
75
+ * @param [opts] object containing all arguments
76
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
77
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
78
+ * for custom throttle control
79
+ * @returns the list of groups in the account
80
+ */
81
+ ECatGroup.prototype.listGroups = function (opts) {
82
+ if (opts === void 0) { opts = {}; }
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ return __generator(this, function (_a) {
85
+ return [2 /*return*/, this.visitEndpoint({
86
+ path: '/groups',
87
+ action: 'list groups in the account',
88
+ method: 'GET',
89
+ params: {
90
+ page_size: 10, // max allowed page size
91
+ // TODO: change above to 300
92
+ },
93
+ errorMap: {
94
+ 400: 'Bad request',
95
+ 404: {
96
+ 4130: 'No groups found for this account.',
97
+ },
98
+ },
99
+ itemKey: 'groups',
100
+ onNewPage: opts.onNewPage,
101
+ minMsBetweenPageRequests: opts.minMsBetweenPageRequests,
102
+ })];
103
+ });
104
+ });
105
+ };
106
+ /**
107
+ * List the members within a group (Medium)
108
+ * @author Gabe Abrams
109
+ * @instance
110
+ * @memberof api.group
111
+ * @method listGroupMembers
112
+ * @param opts object containing all arguments
113
+ * @params opts.groupId the group ID of the group of interest
114
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
115
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
116
+ * for custom throttle control
117
+ * @returns the list of members in the group
118
+ */
119
+ ECatGroup.prototype.listGroupMembers = function (opts) {
120
+ return __awaiter(this, void 0, void 0, function () {
121
+ return __generator(this, function (_a) {
122
+ return [2 /*return*/, this.visitEndpoint({
123
+ path: "/groups/".concat(opts.groupId, "/members"),
124
+ action: 'list members in a Zoom group',
125
+ method: 'GET',
126
+ params: {
127
+ page_size: 2000, // max allowed page size
128
+ },
129
+ itemKey: 'members',
130
+ errorMap: {
131
+ 400: 'Bad request',
132
+ 404: {
133
+ 4130: 'No groups found for this account.',
134
+ },
135
+ },
136
+ onNewPage: opts.onNewPage,
137
+ minMsBetweenPageRequests: opts.minMsBetweenPageRequests,
138
+ })];
139
+ });
140
+ });
141
+ };
142
+ return ECatGroup;
143
+ }(EndpointCategory_1.default));
144
+ /*------------------------------------------------------------------------*/
145
+ /* Export */
146
+ /*------------------------------------------------------------------------*/
147
+ exports.default = ECatGroup;
148
+ //# sourceMappingURL=ECatGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECatGroup.js","sourceRoot":"","sources":["../../src/endpoints/ECatGroup.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,2FAAqE;AAMrE;IAAwB,6BAAgB;IAAxC;;IA4EA,CAAC;IA3EC;;;;;;;;;;;OAWG;IACG,8BAAU,GAAhB,UACE,IAGM;QAHN,qBAAA,EAAA,SAGM;;;gBAEN,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,4BAA4B;wBACpC,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,SAAS,EAAE,EAAE,EAAE,wBAAwB;4BACvC,4BAA4B;yBAC7B;wBACD,QAAQ,EAAE;4BACR,GAAG,EAAE,aAAa;4BAClB,GAAG,EAAE;gCACH,IAAI,EAAE,mCAAmC;6BAC1C;yBACF;wBACD,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;qBACxD,CAAC,EAAC;;;KACJ;IAED;;;;;;;;;;;;OAYG;IACG,oCAAgB,GAAtB,UACE,IAIC;;;gBACD,sBAAO,IAAI,CAAC,aAAa,CAAC;wBACxB,IAAI,EAAE,kBAAW,IAAI,CAAC,OAAO,aAAU;wBACvC,MAAM,EAAE,8BAA8B;wBACtC,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI,EAAE,wBAAwB;yBAC1C;wBACD,OAAO,EAAE,SAAS;wBAClB,QAAQ,EAAE;4BACR,GAAG,EAAE,aAAa;4BAClB,GAAG,EAAE;gCACH,IAAI,EAAE,mCAAmC;6BAC1C;yBACF;wBACD,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;qBACxD,CAAC,EAAC;;;KACJ;IACH,gBAAC;AAAD,CAAC,AA5ED,CAAwB,0BAAgB,GA4EvC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAE5E,kBAAe,SAAS,CAAC"}
@@ -10,9 +10,11 @@ import PollOccurrence from '../types/ZoomPollOccurrence';
10
10
  import PollInfo from '../types/ZoomPollInfo';
11
11
  import ZoomMeetingDetails from '../types/ZoomMeetingDetails';
12
12
  import ZoomMeetingIdAndStartTime from '../types/ZoomMeetingIdAndStartTime';
13
+ import ZoomMeetingTranscript from '../types/ZoomMeetingTranscript';
14
+ import ZoomPastMeetingParticipant from '../types/ZoomPastMeetingParticipant';
13
15
  declare class ECatMeeting extends EndpointCategory {
14
16
  /**
15
- * Get info on a meeting
17
+ * Get info on a meeting (Light)
16
18
  * @author Gabe Abrams
17
19
  * @author Aryan Pandey
18
20
  * @instance
@@ -23,7 +25,7 @@ declare class ECatMeeting extends EndpointCategory {
23
25
  * @param [opts.occurrenceId] ID for the meeting occurrence
24
26
  * @param [opts.showAllOccurrences=false] if truthy,
25
27
  * retrieves all past occurrences
26
- * @returns Zoom meeting object {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting#responses}
28
+ * @returns Zoom meeting object
27
29
  */
28
30
  get(opts: {
29
31
  meetingId: number;
@@ -31,7 +33,7 @@ declare class ECatMeeting extends EndpointCategory {
31
33
  showAllOccurrences?: boolean;
32
34
  }): Promise<ZoomMeeting>;
33
35
  /**
34
- * Create a new meeting
36
+ * Create a new meeting (Light)
35
37
  * @author Gabe Abrams
36
38
  * @author Aryan Pandey
37
39
  * @instance
@@ -47,7 +49,7 @@ declare class ECatMeeting extends EndpointCategory {
47
49
  meetingObj: ZoomMeeting;
48
50
  }): Promise<ZoomMeeting>;
49
51
  /**
50
- * Update a meeting
52
+ * Update a meeting (Light)
51
53
  * @author Gabe Abrams
52
54
  * @author Aryan Pandey
53
55
  * @instance
@@ -65,7 +67,7 @@ declare class ECatMeeting extends EndpointCategory {
65
67
  occurrenceId?: string;
66
68
  }): Promise<ZoomMeeting>;
67
69
  /**
68
- * Delete a meeting
70
+ * Delete a meeting (Light)
69
71
  * @author Gabe Abrams
70
72
  * @author Aryan Pandey
71
73
  * @instance
@@ -84,7 +86,7 @@ declare class ECatMeeting extends EndpointCategory {
84
86
  notifyHosts?: boolean;
85
87
  }): Promise<ZoomMeeting>;
86
88
  /**
87
- * Get a list of ended meeting instances
89
+ * Get a list of ended meeting instances (Medium)
88
90
  * @author Gabe Abrams
89
91
  * @author Aryan Pandey
90
92
  * @instance
@@ -98,7 +100,7 @@ declare class ECatMeeting extends EndpointCategory {
98
100
  meetingId: number;
99
101
  }): Promise<ZoomMeetingIdAndStartTime[]>;
100
102
  /**
101
- * Get details of a past meeting instance
103
+ * Get details of a past meeting instance (Light)
102
104
  * @author Yuen Ler Chow
103
105
  * @instance
104
106
  * @memberof api.meeting
@@ -110,7 +112,7 @@ declare class ECatMeeting extends EndpointCategory {
110
112
  uuid: string;
111
113
  }): Promise<ZoomMeetingDetails>;
112
114
  /**
113
- * List past poll occurrences
115
+ * List past poll occurrences (Medium)
114
116
  * @author Yuen Ler Chow
115
117
  * @instance
116
118
  * @memberof api.meeting
@@ -122,7 +124,7 @@ declare class ECatMeeting extends EndpointCategory {
122
124
  uuid: string;
123
125
  }): Promise<PollOccurrence[]>;
124
126
  /**
125
- * Get poll info
127
+ * Get poll info (Light)
126
128
  * @author Yuen Ler Chow
127
129
  * @instance
128
130
  * @memberof api.meeting
@@ -142,7 +144,7 @@ declare class ECatMeeting extends EndpointCategory {
142
144
  * user is added as the only alt-host. This is because Zoom doesn't give us
143
145
  * enough information to determine which user is deactivated, and thus,
144
146
  * the only way to resolve the issue is to remove all previously existing
145
- * alt-hosts.
147
+ * alt-hosts. (Light)
146
148
  * @author Gabe Abrams
147
149
  * @author Aryan Pandey
148
150
  * @instance
@@ -161,5 +163,36 @@ declare class ECatMeeting extends EndpointCategory {
161
163
  altHost: string;
162
164
  meetingObj?: ZoomMeeting;
163
165
  }): Promise<ZoomMeeting>;
166
+ /**
167
+ * Get meeting transcript (Medium)
168
+ * @author Gabe Abrams
169
+ * @instance
170
+ * @memberof api.meeting
171
+ * @method getTranscript
172
+ * @param opts object containing all arguments
173
+ * @param opts.meetingId the Zoom ID of the meeting (or UUID of a past meeting instance)
174
+ * @returns meeting transcript
175
+ */
176
+ getTranscript(opts: {
177
+ meetingId: number;
178
+ }): Promise<ZoomMeetingTranscript>;
179
+ /**
180
+ * Get list of participants in a past meeting (Medium)
181
+ * @author Gabe Abrams
182
+ * @instance
183
+ * @memberof api.meeting
184
+ * @method listPastMeetingParticipants
185
+ * @param opts object containing all arguments
186
+ * @param opts.meetingId the Zoom UUID of the past meeting instance
187
+ * @param [opts.onNewPage] callback function that is called when a new page of results is received.
188
+ * @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between paginated requests,
189
+ * for custom throttle control
190
+ * @returns list of past meeting participants
191
+ */
192
+ listPastMeetingParticipants(opts: {
193
+ meetingId: string;
194
+ onNewPage?: (participants: ZoomPastMeetingParticipant[]) => void;
195
+ minMsBetweenPageRequests?: number;
196
+ }): Promise<ZoomPastMeetingParticipant[]>;
164
197
  }
165
198
  export default ECatMeeting;