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.
- package/docs/ECatCloudRecording.js.html +69 -26
- package/docs/ECatGroup.js.html +213 -0
- package/docs/ECatMeeting.js.html +79 -11
- package/docs/ECatUser.js.html +7 -10
- package/docs/ECatWebinar.js.html +6 -5
- package/docs/api.cloudRecording.html +368 -28
- package/docs/api.group.html +396 -0
- package/docs/api.meeting.html +466 -15
- package/docs/api.user.html +10 -10
- package/docs/api.webinar.html +5 -5
- package/docs/index.html +1 -1
- package/lib/endpoints/ECatCloudRecording.d.ts +34 -8
- package/lib/endpoints/ECatCloudRecording.js +68 -25
- package/lib/endpoints/ECatCloudRecording.js.map +1 -1
- package/lib/endpoints/ECatGroup.d.ts +45 -0
- package/lib/endpoints/ECatGroup.js +148 -0
- package/lib/endpoints/ECatGroup.js.map +1 -0
- package/lib/endpoints/ECatMeeting.d.ts +43 -10
- package/lib/endpoints/ECatMeeting.js +78 -10
- package/lib/endpoints/ECatMeeting.js.map +1 -1
- package/lib/endpoints/ECatUser.d.ts +5 -5
- package/lib/endpoints/ECatUser.js +6 -9
- package/lib/endpoints/ECatUser.js.map +1 -1
- package/lib/endpoints/ECatWebinar.d.ts +4 -4
- package/lib/endpoints/ECatWebinar.js +5 -4
- package/lib/endpoints/ECatWebinar.js.map +1 -1
- package/lib/index.d.ts +22 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -1
- package/lib/shared/helpers/genVisitEndpoint.js +154 -81
- package/lib/shared/helpers/genVisitEndpoint.js.map +1 -1
- package/lib/shared/types/VisitEndpointFunc.d.ts +3 -1
- package/lib/types/ZoomAPI.d.ts +2 -0
- package/lib/types/ZoomAPI.js.map +1 -1
- package/lib/types/ZoomGroup.d.ts +10 -0
- package/lib/types/ZoomGroup.js +3 -0
- package/lib/types/ZoomGroup.js.map +1 -0
- package/lib/types/ZoomGroupMember.d.ts +12 -0
- package/lib/types/ZoomGroupMember.js +3 -0
- package/lib/types/ZoomGroupMember.js.map +1 -0
- package/lib/types/ZoomMeetingTranscript.d.ts +17 -0
- package/lib/types/ZoomMeetingTranscript.js +3 -0
- package/lib/types/ZoomMeetingTranscript.js.map +1 -0
- package/lib/types/ZoomPastMeetingDetails.d.ts +22 -0
- package/lib/types/ZoomPastMeetingDetails.js +3 -0
- package/lib/types/ZoomPastMeetingDetails.js.map +1 -0
- package/lib/types/ZoomPastMeetingParticipant.d.ts +18 -0
- package/lib/types/ZoomPastMeetingParticipant.js +3 -0
- package/lib/types/ZoomPastMeetingParticipant.js.map +1 -0
- package/lib/types/ZoomRecordingInAccount.d.ts +22 -0
- package/lib/types/ZoomRecordingInAccount.js +3 -0
- package/lib/types/ZoomRecordingInAccount.js.map +1 -0
- package/package.json +2 -2
- package/src/endpoints/ECatCloudRecording.ts +83 -29
- package/src/endpoints/ECatGroup.ts +97 -0
- package/src/endpoints/ECatMeeting.ts +85 -10
- package/src/endpoints/ECatUser.ts +6 -9
- package/src/endpoints/ECatWebinar.ts +5 -4
- package/src/index.ts +53 -0
- package/src/shared/helpers/genVisitEndpoint.ts +143 -77
- package/src/shared/types/VisitEndpointFunc.ts +6 -2
- package/src/types/ZoomAPI.ts +2 -0
- package/src/types/ZoomGroup.ts +14 -0
- package/src/types/ZoomGroupMember.ts +20 -0
- package/src/types/ZoomMeetingTranscript.ts +28 -0
- package/src/types/ZoomPastMeetingDetails.ts +38 -0
- package/src/types/ZoomPastMeetingParticipant.ts +30 -0
- package/src/types/ZoomRecordingInAccount.ts +38 -0
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -63,94 +74,156 @@ var genVisitEndpoint = function (zoomAPIConfig) {
|
|
|
63
74
|
* @param [opts.postProcessor] function that processes the response before
|
|
64
75
|
* returning
|
|
65
76
|
* @param [opts.params] Parameters/args/body to send with request
|
|
77
|
+
* @param [opts.onNewPage] callback function that is called when a
|
|
78
|
+
* new page of results is received
|
|
79
|
+
* @param [opts.itemKey] the key in the response body where the list of items can be found
|
|
80
|
+
* @param [opts.minMsBetweenPageRequests] minimum time (in ms) to wait between
|
|
81
|
+
* paginated requests, for custom throttle control
|
|
66
82
|
* @returns response body
|
|
67
83
|
*/
|
|
68
84
|
return function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
69
|
-
var path, params, action, errorMap,
|
|
70
|
-
var
|
|
71
|
-
return __generator(this, function (
|
|
72
|
-
switch (
|
|
85
|
+
var path, params, action, errorMap, itemKey, onNewPage, minMsBetweenPageRequests, method, nextPageToken, isFirstPage, isPaginated, allItems, lastPageRequestTimestamp, _loop_1, state_1;
|
|
86
|
+
var _a;
|
|
87
|
+
return __generator(this, function (_b) {
|
|
88
|
+
switch (_b.label) {
|
|
73
89
|
case 0:
|
|
74
|
-
path = opts.path, params = opts.params, action = opts.action, errorMap = opts.errorMap,
|
|
75
|
-
method = ((
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
90
|
+
path = opts.path, params = opts.params, action = opts.action, errorMap = opts.errorMap, itemKey = opts.itemKey, onNewPage = opts.onNewPage, minMsBetweenPageRequests = opts.minMsBetweenPageRequests;
|
|
91
|
+
method = ((_a = opts.method) !== null && _a !== void 0 ? _a : 'GET');
|
|
92
|
+
nextPageToken = undefined;
|
|
93
|
+
isFirstPage = true;
|
|
94
|
+
isPaginated = false;
|
|
95
|
+
allItems = [];
|
|
96
|
+
lastPageRequestTimestamp = 0;
|
|
97
|
+
_loop_1 = function () {
|
|
98
|
+
var now, timeSinceLastRequest_1, _c, status_1, headers, body, rateLimitTypeHeader, rateLimitType, zoomErrorMessage, errorMessage, errorCode, results;
|
|
99
|
+
return __generator(this, function (_d) {
|
|
100
|
+
switch (_d.label) {
|
|
101
|
+
case 0:
|
|
102
|
+
// Don't fetch another page unless we get a token
|
|
103
|
+
isFirstPage = false;
|
|
104
|
+
if (!minMsBetweenPageRequests) return [3 /*break*/, 3];
|
|
105
|
+
now = Date.now();
|
|
106
|
+
timeSinceLastRequest_1 = now - lastPageRequestTimestamp;
|
|
107
|
+
if (!(timeSinceLastRequest_1 < minMsBetweenPageRequests)) return [3 /*break*/, 2];
|
|
108
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
109
|
+
setTimeout(resolve, minMsBetweenPageRequests - timeSinceLastRequest_1);
|
|
110
|
+
})];
|
|
111
|
+
case 1:
|
|
112
|
+
_d.sent();
|
|
113
|
+
_d.label = 2;
|
|
114
|
+
case 2:
|
|
115
|
+
// Update timestamp of last page request
|
|
116
|
+
lastPageRequestTimestamp = Date.now();
|
|
117
|
+
_d.label = 3;
|
|
118
|
+
case 3: return [4 /*yield*/, (0, sendZoomRequest_1.default)({
|
|
119
|
+
path: path,
|
|
120
|
+
method: method,
|
|
121
|
+
params: __assign(__assign({}, params), { next_page_token: nextPageToken }),
|
|
122
|
+
zoomAPIConfig: zoomAPIConfig,
|
|
123
|
+
})];
|
|
124
|
+
case 4:
|
|
125
|
+
_c = _d.sent(), status_1 = _c.status, headers = _c.headers, body = _c.body;
|
|
126
|
+
/* ----------- Rate Error ----------- */
|
|
127
|
+
if (status_1 === 429) {
|
|
128
|
+
rateLimitTypeHeader = Object.keys(headers).filter(function (header) {
|
|
129
|
+
return (header.toLowerCase() === 'x-ratelimit-type');
|
|
130
|
+
})[0];
|
|
131
|
+
rateLimitType = (headers[rateLimitTypeHeader]
|
|
132
|
+
&& headers[rateLimitTypeHeader].toLowerCase());
|
|
133
|
+
if (rateLimitType === ThrottleHeader_1.default.DailyLimitHeader) {
|
|
134
|
+
// Daily limit
|
|
135
|
+
throw new ZACCLError_1.default({
|
|
136
|
+
message: 'Zoom is very busy today. Please try this operation again tomorrow.',
|
|
137
|
+
code: ErrorCode_1.default.DailyLimitError,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
else if (rateLimitType === ThrottleHeader_1.default.RateLimitHeader) {
|
|
141
|
+
// Rate limit
|
|
142
|
+
throw new ZACCLError_1.default({
|
|
143
|
+
message: 'Zoom is very busy right now. Please try this operation again later.',
|
|
144
|
+
code: ErrorCode_1.default.RateLimitError,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
// Unknown rate limit
|
|
149
|
+
throw new ZACCLError_1.default({
|
|
150
|
+
message: 'Zoom is very busy right now. Please try this operation again.',
|
|
151
|
+
code: ErrorCode_1.default.UnknownLimitError,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
132
154
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
155
|
+
/* -------- Custom Error Code ------- */
|
|
156
|
+
if (status_1 < 200 || status_1 >= 300) {
|
|
157
|
+
zoomErrorMessage = 'An unknown Zoom error occurred.';
|
|
158
|
+
if (errorMap[status_1]) {
|
|
159
|
+
if (typeof errorMap[status_1] === 'string') {
|
|
160
|
+
// Found the error message
|
|
161
|
+
zoomErrorMessage = errorMap[status_1];
|
|
162
|
+
}
|
|
163
|
+
else if (body.code) {
|
|
164
|
+
// Check for nested error message
|
|
165
|
+
if (typeof errorMap[status_1][body.code] === 'string') {
|
|
166
|
+
// Found nested error message
|
|
167
|
+
zoomErrorMessage = errorMap[status_1][body.code];
|
|
168
|
+
}
|
|
169
|
+
else if (body.message) {
|
|
170
|
+
// errorMap[status][code] did not return err message
|
|
171
|
+
// so we check body
|
|
172
|
+
if (typeof body.message === 'string') {
|
|
173
|
+
zoomErrorMessage = body.message;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else if (body.message) {
|
|
179
|
+
// Error message not in the error map so check body
|
|
180
|
+
if (typeof body.message === 'string') {
|
|
181
|
+
zoomErrorMessage = body.message;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
errorMessage = "We couldn't ".concat(action, " because an error occurred: ").concat(zoomErrorMessage);
|
|
185
|
+
errorCode = "ZOOM".concat(status_1).concat(body.code ? "-".concat(body.code) : '');
|
|
186
|
+
throw new ZACCLError_1.default({
|
|
187
|
+
message: errorMessage,
|
|
188
|
+
code: errorCode,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
results = itemKey ? body[itemKey] : body;
|
|
192
|
+
// Update next page token
|
|
193
|
+
nextPageToken = body.next_page_token;
|
|
194
|
+
if (nextPageToken) {
|
|
195
|
+
isPaginated = true;
|
|
196
|
+
}
|
|
197
|
+
// End if not paginated
|
|
198
|
+
if (!isPaginated) {
|
|
199
|
+
return [2 /*return*/, { value: results }];
|
|
200
|
+
}
|
|
201
|
+
/* --------- Paging Handling -------- */
|
|
202
|
+
// Add items to allItems if paginated
|
|
203
|
+
if (Array.isArray(results)) {
|
|
204
|
+
allItems.push.apply(allItems, results);
|
|
205
|
+
}
|
|
206
|
+
// Call onNewPage callback if it exists
|
|
207
|
+
if (onNewPage) {
|
|
208
|
+
onNewPage(results);
|
|
209
|
+
}
|
|
210
|
+
return [2 /*return*/];
|
|
140
211
|
}
|
|
141
|
-
}
|
|
142
|
-
errorMessage = "We couldn't ".concat(action, " because an error occurred: ").concat(zoomErrorMessage);
|
|
143
|
-
errorCode = "ZOOM".concat(status).concat(body.code ? "-".concat(body.code) : '');
|
|
144
|
-
throw new ZACCLError_1.default({
|
|
145
|
-
message: errorMessage,
|
|
146
|
-
code: errorCode,
|
|
147
212
|
});
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
213
|
+
};
|
|
214
|
+
_b.label = 1;
|
|
215
|
+
case 1:
|
|
216
|
+
if (!(nextPageToken || isFirstPage)) return [3 /*break*/, 3];
|
|
217
|
+
return [5 /*yield**/, _loop_1()];
|
|
218
|
+
case 2:
|
|
219
|
+
state_1 = _b.sent();
|
|
220
|
+
if (typeof state_1 === "object")
|
|
221
|
+
return [2 /*return*/, state_1.value];
|
|
222
|
+
return [3 /*break*/, 1];
|
|
223
|
+
case 3:
|
|
224
|
+
;
|
|
225
|
+
// Return all items (if we got here, response is paginated)
|
|
226
|
+
return [2 /*return*/, allItems];
|
|
154
227
|
}
|
|
155
228
|
});
|
|
156
229
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genVisitEndpoint.js","sourceRoot":"","sources":["../../../src/shared/helpers/genVisitEndpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"genVisitEndpoint.js","sourceRoot":"","sources":["../../../src/shared/helpers/genVisitEndpoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,sEAAgD;AAKhD,iEAA2C;AAC3C,2EAAqD;AAErD,wBAAwB;AACxB,qEAA+C;AAE/C;;;;;GAKG;AACH,IAAM,gBAAgB,GAAG,UAAC,aAA4B;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,UACL,IAgBC;;;;;;oBAGC,IAAI,GAOF,IAAI,KAPF,EACJ,MAAM,GAMJ,IAAI,OANA,EACN,MAAM,GAKJ,IAAI,OALA,EACN,QAAQ,GAIN,IAAI,SAJE,EACR,OAAO,GAGL,IAAI,QAHC,EACP,SAAS,GAEP,IAAI,UAFG,EACT,wBAAwB,GACtB,IAAI,yBADkB,CACjB;oBACH,MAAM,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC;oBAGlC,aAAa,GAAuB,SAAS,CAAC;oBAC9C,WAAW,GAAG,IAAI,CAAC;oBACnB,WAAW,GAAG,KAAK,CAAC;oBAClB,QAAQ,GAAU,EAAE,CAAC;oBACvB,wBAAwB,GAAG,CAAC,CAAC;;;;;;oCAI/B,iDAAiD;oCACjD,WAAW,GAAG,KAAK,CAAC;yCAKhB,wBAAwB,EAAxB,wBAAwB;oCAEpB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oCACjB,yBAAuB,GAAG,GAAG,wBAAwB,CAAC;yCAGxD,CAAA,sBAAoB,GAAG,wBAAwB,CAAA,EAA/C,wBAA+C;oCACjD,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;4CACxB,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAoB,CAAC,CAAC;wCACvE,CAAC,CAAC,EAAA;;oCAFF,SAEE,CAAC;;;oCAGL,wCAAwC;oCACxC,wBAAwB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;;wCAIN,qBAAM,IAAA,yBAAe,EAAC;wCACtD,IAAI,MAAA;wCACJ,MAAM,QAAA;wCACN,MAAM,wBACD,MAAM,KACT,eAAe,EAAE,aAAa,GAC/B;wCACD,aAAa,eAAA;qCACd,CAAC,EAAA;;oCARI,KAA4B,SAQhC,EARM,oBAAM,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA;oCAU7B,wCAAwC;oCAExC,IAAI,QAAM,KAAK,GAAG,EAAE;wCAEX,mBAAmB,GAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM;4CAC/D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAC,CAAC;wCACvD,CAAC,CAAC,GAFwB,CAEvB;wCAGG,aAAa,GAAG,CACpB,OAAO,CAAC,mBAAmB,CAAC;+CACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAC9C,CAAC;wCAEF,IAAI,aAAa,KAAK,wBAAc,CAAC,gBAAgB,EAAE;4CACrD,cAAc;4CACd,MAAM,IAAI,oBAAU,CAAC;gDACnB,OAAO,EAAE,oEAAoE;gDAC7E,IAAI,EAAE,mBAAS,CAAC,eAAe;6CAChC,CAAC,CAAC;yCACJ;6CAAM,IAAI,aAAa,KAAK,wBAAc,CAAC,eAAe,EAAE;4CAC3D,aAAa;4CACb,MAAM,IAAI,oBAAU,CAAC;gDACnB,OAAO,EAAE,qEAAqE;gDAC9E,IAAI,EAAE,mBAAS,CAAC,cAAc;6CAC/B,CAAC,CAAC;yCACJ;6CAAM;4CACL,qBAAqB;4CACrB,MAAM,IAAI,oBAAU,CAAC;gDACnB,OAAO,EAAE,+DAA+D;gDACxE,IAAI,EAAE,mBAAS,CAAC,iBAAiB;6CAClC,CAAC,CAAC;yCACJ;qCACF;oCAED,wCAAwC;oCAExC,IAAI,QAAM,GAAG,GAAG,IAAI,QAAM,IAAI,GAAG,EAAE;wCAI7B,gBAAgB,GAAG,iCAAiC,CAAC;wCACzD,IAAI,QAAQ,CAAC,QAAM,CAAC,EAAE;4CACpB,IAAI,OAAO,QAAQ,CAAC,QAAM,CAAC,KAAK,QAAQ,EAAE;gDACxC,0BAA0B;gDAC1B,gBAAgB,GAAI,QAAQ,CAAC,QAAM,CAAY,CAAC;6CACjD;iDAAM,IAAI,IAAI,CAAC,IAAI,EAAE;gDACpB,iCAAiC;gDACjC,IAAI,OAAO,QAAQ,CAAC,QAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;oDACnD,6BAA6B;oDAC7B,gBAAgB,GAAG,QAAQ,CAAC,QAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iDAChD;qDAAM,IAAI,IAAI,CAAC,OAAO,EAAE;oDACvB,oDAAoD;oDACpD,mBAAmB;oDACnB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;wDACpC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;qDACjC;iDACF;6CACF;yCACF;6CAAM,IAAI,IAAI,CAAC,OAAO,EAAE;4CACvB,mDAAmD;4CACnD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gDACpC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;6CACjC;yCACF;wCAEK,YAAY,GAAG,sBAAe,MAAM,yCAA+B,gBAAgB,CAAE,CAAC;wCACtF,SAAS,GAAG,cAAO,QAAM,SAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;wCAErE,MAAM,IAAI,oBAAU,CAAC;4CACnB,OAAO,EAAE,YAAY;4CACrB,IAAI,EAAE,SAAS;yCAChB,CAAC,CAAC;qCACJ;oCAKG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oCAE7C,yBAAyB;oCACzB,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;oCACrC,IAAI,aAAa,EAAE;wCACjB,WAAW,GAAG,IAAI,CAAC;qCACpB;oCAED,uBAAuB;oCACvB,IAAI,CAAC,WAAW,EAAE;uEACT,OAAO;qCACf;oCAED,wCAAwC;oCAExC,qCAAqC;oCACrC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wCAC1B,QAAQ,CAAC,IAAI,OAAb,QAAQ,EAAS,OAAO,EAAE;qCAC3B;oCAED,uCAAuC;oCACvC,IAAI,SAAS,EAAE;wCACb,SAAS,CAAC,OAAO,CAAC,CAAC;qCACpB;;;;;;;yBAvII,CAAA,aAAa,IAAI,WAAW,CAAA;;;;;;;;oBAwIlC,CAAC;oBAEF,2DAA2D;oBAC3D,sBAAO,QAAQ,EAAC;;;SACjB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -14,6 +14,8 @@ type VisitEndpointFunc = ((opts: {
|
|
|
14
14
|
params?: {
|
|
15
15
|
[k: string]: any;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
itemKey?: string;
|
|
18
|
+
onNewPage?: (items: any[]) => void;
|
|
19
|
+
minMsBetweenPageRequests?: number;
|
|
18
20
|
}) => Promise<any>);
|
|
19
21
|
export default VisitEndpointFunc;
|
package/lib/types/ZoomAPI.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ECatCloudRecording from '../endpoints/ECatCloudRecording';
|
|
2
|
+
import ECatGroup from '../endpoints/ECatGroup';
|
|
2
3
|
import ECatMeeting from '../endpoints/ECatMeeting';
|
|
3
4
|
import ECatUser from '../endpoints/ECatUser';
|
|
4
5
|
import ECatWebinar from '../endpoints/ECatWebinar';
|
|
@@ -11,5 +12,6 @@ interface ZoomAPI {
|
|
|
11
12
|
meeting: ECatMeeting;
|
|
12
13
|
user: ECatUser;
|
|
13
14
|
webinar: ECatWebinar;
|
|
15
|
+
group: ECatGroup;
|
|
14
16
|
}
|
|
15
17
|
export default ZoomAPI;
|
package/lib/types/ZoomAPI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoomAPI.js","sourceRoot":"","sources":["../../src/types/ZoomAPI.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ZoomAPI.js","sourceRoot":"","sources":["../../src/types/ZoomAPI.ts"],"names":[],"mappings":";;AAgBC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomGroup.js","sourceRoot":"","sources":["../../src/types/ZoomGroup.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomGroupMember.js","sourceRoot":"","sources":["../../src/types/ZoomGroupMember.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transcript for a specific zoom meeting instance
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
*/
|
|
5
|
+
type ZoomMeetingTranscript = {
|
|
6
|
+
meeting_id: string;
|
|
7
|
+
account_id: string;
|
|
8
|
+
meeting_topic: string;
|
|
9
|
+
host_id: string;
|
|
10
|
+
transcript_created_time: string;
|
|
11
|
+
can_download: boolean;
|
|
12
|
+
auto_delete: boolean;
|
|
13
|
+
auto_delete_date: string;
|
|
14
|
+
download_url: string | null;
|
|
15
|
+
download_restriction_reason: 'DELETED_OR_TRASHED' | 'UNSUPPORTED' | 'NO_TRANSCRIPT_DATA' | 'NOT_READY' | null;
|
|
16
|
+
};
|
|
17
|
+
export default ZoomMeetingTranscript;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomMeetingTranscript.js","sourceRoot":"","sources":["../../src/types/ZoomMeetingTranscript.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Details about a past meeting
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
*/
|
|
5
|
+
type ZoomPastMeetingDetails = {
|
|
6
|
+
id: number;
|
|
7
|
+
uuid: string;
|
|
8
|
+
duration: number;
|
|
9
|
+
start_time: string;
|
|
10
|
+
end_time: string;
|
|
11
|
+
host_id: string;
|
|
12
|
+
dept: string;
|
|
13
|
+
participants_count: number;
|
|
14
|
+
source: string;
|
|
15
|
+
topic: string;
|
|
16
|
+
total_minutes: number;
|
|
17
|
+
type: 0 | 1 | 2 | 3 | 4 | 7 | 8;
|
|
18
|
+
user_email: string;
|
|
19
|
+
user_name: string;
|
|
20
|
+
has_meeting_summary: boolean;
|
|
21
|
+
};
|
|
22
|
+
export default ZoomPastMeetingDetails;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomPastMeetingDetails.js","sourceRoot":"","sources":["../../src/types/ZoomPastMeetingDetails.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a participant in a Zoom past meeting.
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
*/
|
|
5
|
+
type ZoomPastMeetingParticipant = {
|
|
6
|
+
id?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
user_id?: string;
|
|
9
|
+
registrant_id?: string;
|
|
10
|
+
user_email?: string;
|
|
11
|
+
join_time?: string;
|
|
12
|
+
leave_time?: string;
|
|
13
|
+
duration?: number;
|
|
14
|
+
failover?: boolean;
|
|
15
|
+
status?: 'in_meeting' | 'in_waiting_room';
|
|
16
|
+
internal_user?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export default ZoomPastMeetingParticipant;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomPastMeetingParticipant.js","sourceRoot":"","sources":["../../src/types/ZoomPastMeetingParticipant.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import ZoomRecordingFile from './ZoomRecordingFile';
|
|
2
|
+
/**
|
|
3
|
+
* A single recording in an account
|
|
4
|
+
* @author Gabe Abrams
|
|
5
|
+
*/
|
|
6
|
+
type ZoomRecordingInAccount = {
|
|
7
|
+
duration: number;
|
|
8
|
+
host_id: string;
|
|
9
|
+
id: number;
|
|
10
|
+
recording_count: number;
|
|
11
|
+
recording_files: ZoomRecordingFile[];
|
|
12
|
+
start_time: string;
|
|
13
|
+
topic: string;
|
|
14
|
+
total_size: number;
|
|
15
|
+
type: number;
|
|
16
|
+
uuid: string;
|
|
17
|
+
rc_zone?: string;
|
|
18
|
+
instance_id?: string;
|
|
19
|
+
service_name?: string;
|
|
20
|
+
external_storage_addr?: string;
|
|
21
|
+
};
|
|
22
|
+
export default ZoomRecordingInAccount;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomRecordingInAccount.js","sourceRoot":"","sources":["../../src/types/ZoomRecordingInAccount.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zaccl",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
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",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc --project ./tsconfig.json && rm -rf ./docBuilder/template;cp -r ./node_modules/docdash ./docBuilder/template; node ./docBuilder/updateBuilder.js;rm -rf ./docs;./node_modules/.bin/jsdoc -c ./docBuilder/jsdocConfig.json",
|
|
9
|
-
"sandbox": "npm run build && npx ts-node sandbox.ts"
|
|
9
|
+
"dev:sandbox": "npm run build && npx ts-node sandbox.ts"
|
|
10
10
|
},
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|