@dereekb/zoom 12.1.5 → 12.1.7

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 (51) hide show
  1. package/index.cjs.js +29 -0
  2. package/index.esm.js +27 -1
  3. package/nestjs/CHANGELOG.md +8 -0
  4. package/nestjs/package.json +1 -1
  5. package/nestjs/src/lib/index.d.ts +1 -0
  6. package/nestjs/src/lib/index.js +1 -0
  7. package/nestjs/src/lib/index.js.map +1 -1
  8. package/nestjs/src/lib/webhook/index.d.ts +11 -0
  9. package/nestjs/src/lib/webhook/index.js +15 -0
  10. package/nestjs/src/lib/webhook/index.js.map +1 -0
  11. package/nestjs/src/lib/webhook/webhook.zoom.config.d.ts +12 -0
  12. package/nestjs/src/lib/webhook/webhook.zoom.config.js +17 -0
  13. package/nestjs/src/lib/webhook/webhook.zoom.config.js.map +1 -0
  14. package/nestjs/src/lib/webhook/webhook.zoom.controller.d.ts +8 -0
  15. package/nestjs/src/lib/webhook/webhook.zoom.controller.js +38 -0
  16. package/nestjs/src/lib/webhook/webhook.zoom.controller.js.map +1 -0
  17. package/nestjs/src/lib/webhook/webhook.zoom.d.ts +23 -0
  18. package/nestjs/src/lib/webhook/webhook.zoom.js +38 -0
  19. package/nestjs/src/lib/webhook/webhook.zoom.js.map +1 -0
  20. package/nestjs/src/lib/webhook/webhook.zoom.module.d.ts +8 -0
  21. package/nestjs/src/lib/webhook/webhook.zoom.module.js +41 -0
  22. package/nestjs/src/lib/webhook/webhook.zoom.module.js.map +1 -0
  23. package/nestjs/src/lib/webhook/webhook.zoom.service.d.ts +24 -0
  24. package/nestjs/src/lib/webhook/webhook.zoom.service.js +60 -0
  25. package/nestjs/src/lib/webhook/webhook.zoom.service.js.map +1 -0
  26. package/nestjs/src/lib/webhook/webhook.zoom.type.common.d.ts +43 -0
  27. package/nestjs/src/lib/webhook/webhook.zoom.type.common.js +3 -0
  28. package/nestjs/src/lib/webhook/webhook.zoom.type.common.js.map +1 -0
  29. package/nestjs/src/lib/webhook/webhook.zoom.type.d.ts +2 -0
  30. package/nestjs/src/lib/webhook/webhook.zoom.type.js +3 -0
  31. package/nestjs/src/lib/webhook/webhook.zoom.type.js.map +1 -0
  32. package/nestjs/src/lib/webhook/webhook.zoom.type.meeting.d.ts +41 -0
  33. package/nestjs/src/lib/webhook/webhook.zoom.type.meeting.js +18 -0
  34. package/nestjs/src/lib/webhook/webhook.zoom.type.meeting.js.map +1 -0
  35. package/nestjs/src/lib/webhook/webhook.zoom.type.validate.d.ts +9 -0
  36. package/nestjs/src/lib/webhook/webhook.zoom.type.validate.js +5 -0
  37. package/nestjs/src/lib/webhook/webhook.zoom.type.validate.js.map +1 -0
  38. package/nestjs/src/lib/webhook/webhook.zoom.validate.d.ts +17 -0
  39. package/nestjs/src/lib/webhook/webhook.zoom.validate.js +25 -0
  40. package/nestjs/src/lib/webhook/webhook.zoom.validate.js.map +1 -0
  41. package/nestjs/src/lib/webhook/webhook.zoom.verify.d.ts +20 -0
  42. package/nestjs/src/lib/webhook/webhook.zoom.verify.js +27 -0
  43. package/nestjs/src/lib/webhook/webhook.zoom.verify.js.map +1 -0
  44. package/nestjs/src/lib/zoom/zoom.api.d.ts +3 -0
  45. package/nestjs/src/lib/zoom/zoom.api.js +10 -0
  46. package/nestjs/src/lib/zoom/zoom.api.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/lib/zoom/zoom.api.meeting.d.ts +22 -2
  49. package/src/lib/zoom/zoom.api.meeting.type.d.ts +449 -63
  50. package/src/lib/zoom.config.d.ts +4 -0
  51. package/src/lib/zoom.type.d.ts +6 -0
package/index.cjs.js CHANGED
@@ -1682,13 +1682,39 @@ function deleteMeeting(context) {
1682
1682
  const silenceDoesNotExistError = silenceZoomErrorWithCodesFunction(DELETE_MEETING_DOES_NOT_EXIST_ERROR_CODE);
1683
1683
  return input => context.fetchJson(`/meetings/${input.meetingId}?${fetch.makeUrlSearchParams(input, omitSilenceZoomErrorKeys())}`, 'DELETE').catch(silenceDoesNotExistError(input.silenceError));
1684
1684
  }
1685
+ /**
1686
+ * https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}
1687
+ */
1688
+ function getPastMeeting(context) {
1689
+ return input => context.fetchJson(`/past_meetings/${input.meetingId}`, 'GET');
1690
+ }
1691
+ /**
1692
+ * https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}/participants
1693
+ */
1694
+ function getPastMeetingParticipants(context) {
1695
+ return input => context.fetchJson(`/past_meetings/${input.meetingId}/participants`, 'GET').then(mapToZoomPageResult('participants'));
1696
+ }
1697
+ function getPastMeetingParticipantsPageFactory(context) {
1698
+ return zoomFetchPageFactory(getPastMeetingParticipants(context));
1699
+ }
1685
1700
 
1701
+ /**
1702
+ * The type of meeting:
1703
+ * - `1` - An instant meeting.
1704
+ * - `2` - A scheduled meeting.
1705
+ * - `3` - A recurring meeting with no fixed time.
1706
+ * - `4` - A PMI Meeting.
1707
+ * - `8` - A recurring meeting with fixed time.
1708
+ * - `10` - A screen share only meeting.
1709
+ */
1686
1710
  exports.ZoomMeetingType = void 0;
1687
1711
  (function (ZoomMeetingType) {
1688
1712
  ZoomMeetingType[ZoomMeetingType["INSTANT"] = 1] = "INSTANT";
1689
1713
  ZoomMeetingType[ZoomMeetingType["SCHEDULED"] = 2] = "SCHEDULED";
1690
1714
  ZoomMeetingType[ZoomMeetingType["RECURRING_NO_FIXED_TIME"] = 3] = "RECURRING_NO_FIXED_TIME";
1715
+ ZoomMeetingType[ZoomMeetingType["PMI"] = 4] = "PMI";
1691
1716
  ZoomMeetingType[ZoomMeetingType["RECURRING_FIXED_TIME"] = 8] = "RECURRING_FIXED_TIME";
1717
+ ZoomMeetingType[ZoomMeetingType["SCREEN_SHARE_ONLY"] = 10] = "SCREEN_SHARE_ONLY";
1692
1718
  })(exports.ZoomMeetingType || (exports.ZoomMeetingType = {}));
1693
1719
  exports.ZoomRecurrenceType = void 0;
1694
1720
  (function (ZoomRecurrenceType) {
@@ -2206,6 +2232,9 @@ exports.ZoomTooManyRequestsError = ZoomTooManyRequestsError;
2206
2232
  exports.createMeetingForUser = createMeetingForUser;
2207
2233
  exports.deleteMeeting = deleteMeeting;
2208
2234
  exports.getMeeting = getMeeting;
2235
+ exports.getPastMeeting = getPastMeeting;
2236
+ exports.getPastMeetingParticipants = getPastMeetingParticipants;
2237
+ exports.getPastMeetingParticipantsPageFactory = getPastMeetingParticipantsPageFactory;
2209
2238
  exports.getUser = getUser;
2210
2239
  exports.handleZoomErrorFetch = handleZoomErrorFetch;
2211
2240
  exports.handleZoomErrorFetchFactory = handleZoomErrorFetchFactory;
package/index.esm.js CHANGED
@@ -1680,13 +1680,39 @@ function deleteMeeting(context) {
1680
1680
  const silenceDoesNotExistError = silenceZoomErrorWithCodesFunction(DELETE_MEETING_DOES_NOT_EXIST_ERROR_CODE);
1681
1681
  return input => context.fetchJson(`/meetings/${input.meetingId}?${makeUrlSearchParams(input, omitSilenceZoomErrorKeys())}`, 'DELETE').catch(silenceDoesNotExistError(input.silenceError));
1682
1682
  }
1683
+ /**
1684
+ * https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}
1685
+ */
1686
+ function getPastMeeting(context) {
1687
+ return input => context.fetchJson(`/past_meetings/${input.meetingId}`, 'GET');
1688
+ }
1689
+ /**
1690
+ * https://developers.zoom.us/docs/api/meetings/#tag/meetings/GET/past_meetings/{meetingId}/participants
1691
+ */
1692
+ function getPastMeetingParticipants(context) {
1693
+ return input => context.fetchJson(`/past_meetings/${input.meetingId}/participants`, 'GET').then(mapToZoomPageResult('participants'));
1694
+ }
1695
+ function getPastMeetingParticipantsPageFactory(context) {
1696
+ return zoomFetchPageFactory(getPastMeetingParticipants(context));
1697
+ }
1683
1698
 
1699
+ /**
1700
+ * The type of meeting:
1701
+ * - `1` - An instant meeting.
1702
+ * - `2` - A scheduled meeting.
1703
+ * - `3` - A recurring meeting with no fixed time.
1704
+ * - `4` - A PMI Meeting.
1705
+ * - `8` - A recurring meeting with fixed time.
1706
+ * - `10` - A screen share only meeting.
1707
+ */
1684
1708
  var ZoomMeetingType;
1685
1709
  (function (ZoomMeetingType) {
1686
1710
  ZoomMeetingType[ZoomMeetingType["INSTANT"] = 1] = "INSTANT";
1687
1711
  ZoomMeetingType[ZoomMeetingType["SCHEDULED"] = 2] = "SCHEDULED";
1688
1712
  ZoomMeetingType[ZoomMeetingType["RECURRING_NO_FIXED_TIME"] = 3] = "RECURRING_NO_FIXED_TIME";
1713
+ ZoomMeetingType[ZoomMeetingType["PMI"] = 4] = "PMI";
1689
1714
  ZoomMeetingType[ZoomMeetingType["RECURRING_FIXED_TIME"] = 8] = "RECURRING_FIXED_TIME";
1715
+ ZoomMeetingType[ZoomMeetingType["SCREEN_SHARE_ONLY"] = 10] = "SCREEN_SHARE_ONLY";
1690
1716
  })(ZoomMeetingType || (ZoomMeetingType = {}));
1691
1717
  var ZoomRecurrenceType;
1692
1718
  (function (ZoomRecurrenceType) {
@@ -2181,4 +2207,4 @@ function zoomOAuthZoomAccessTokenFactory(config) {
2181
2207
  };
2182
2208
  }
2183
2209
 
2184
- export { DEFAULT_ZOOM_API_RATE_LIMIT, DEFAULT_ZOOM_API_RATE_LIMIT_RESET_PERIOD, DEFAULT_ZOOM_RATE_LIMITED_TOO_MANY_REQUETS_LOG_FUNCTION, DELETE_MEETING_DOES_NOT_EXIST_ERROR_CODE, ZOOM_ACCOUNTS_INVALID_GRANT_ERROR_CODE, ZOOM_API_URL, ZOOM_OAUTH_API_URL, ZOOM_RATE_LIMIT_CATEGORY_HEADER, ZOOM_RATE_LIMIT_LIMIT_HEADER, ZOOM_RATE_LIMIT_REMAINING_HEADER, ZOOM_RATE_LIMIT_RETRY_AFTER_HEADER, ZOOM_RATE_LIMIT_TYPE_HEADER, ZOOM_SUCCESS_CODE, ZOOM_TOO_MANY_REQUESTS_ERROR_CODE, ZOOM_TOO_MANY_REQUESTS_HTTP_STATUS_CODE, ZoomApprovalType, ZoomMeetingType, ZoomMonthlyWeek, ZoomMonthlyWeekDay, ZoomOAuthAccessTokenError, ZoomOAuthAuthFailureError, ZoomRecurrenceType, ZoomRegistrationType, ZoomServerError, ZoomServerFetchResponseError, ZoomTooManyRequestsError, ZoomUserType, createMeetingForUser, deleteMeeting, getMeeting, getUser, handleZoomErrorFetch, handleZoomErrorFetchFactory, handleZoomOAuthErrorFetch, listMeetingsForUser, listMeetingsForUserPageFactory, listUsers, listUsersPageFactory, logZoomErrorToConsole, logZoomOAuthErrorToConsole, logZoomServerErrorFunction, mapToZoomPageResult, omitSilenceZoomErrorKeys, parseZoomApiError, parseZoomApiServerErrorResponseData, parseZoomOAuthError, parseZoomOAuthServerErrorResponseData, parseZoomServerErrorData, serverAccessToken, silenceZoomErrorWithCodesFunction, userAccessToken, zoomAccessTokenStringFactory, zoomFactory, zoomFetchPageFactory, zoomOAuthApiFetchJsonInput, zoomOAuthFactory, zoomOAuthServerBasicAuthorizationHeaderValue, zoomOAuthZoomAccessTokenFactory, zoomRateLimitHeaderDetails, zoomRateLimitedFetchHandler };
2210
+ export { DEFAULT_ZOOM_API_RATE_LIMIT, DEFAULT_ZOOM_API_RATE_LIMIT_RESET_PERIOD, DEFAULT_ZOOM_RATE_LIMITED_TOO_MANY_REQUETS_LOG_FUNCTION, DELETE_MEETING_DOES_NOT_EXIST_ERROR_CODE, ZOOM_ACCOUNTS_INVALID_GRANT_ERROR_CODE, ZOOM_API_URL, ZOOM_OAUTH_API_URL, ZOOM_RATE_LIMIT_CATEGORY_HEADER, ZOOM_RATE_LIMIT_LIMIT_HEADER, ZOOM_RATE_LIMIT_REMAINING_HEADER, ZOOM_RATE_LIMIT_RETRY_AFTER_HEADER, ZOOM_RATE_LIMIT_TYPE_HEADER, ZOOM_SUCCESS_CODE, ZOOM_TOO_MANY_REQUESTS_ERROR_CODE, ZOOM_TOO_MANY_REQUESTS_HTTP_STATUS_CODE, ZoomApprovalType, ZoomMeetingType, ZoomMonthlyWeek, ZoomMonthlyWeekDay, ZoomOAuthAccessTokenError, ZoomOAuthAuthFailureError, ZoomRecurrenceType, ZoomRegistrationType, ZoomServerError, ZoomServerFetchResponseError, ZoomTooManyRequestsError, ZoomUserType, createMeetingForUser, deleteMeeting, getMeeting, getPastMeeting, getPastMeetingParticipants, getPastMeetingParticipantsPageFactory, getUser, handleZoomErrorFetch, handleZoomErrorFetchFactory, handleZoomOAuthErrorFetch, listMeetingsForUser, listMeetingsForUserPageFactory, listUsers, listUsersPageFactory, logZoomErrorToConsole, logZoomOAuthErrorToConsole, logZoomServerErrorFunction, mapToZoomPageResult, omitSilenceZoomErrorKeys, parseZoomApiError, parseZoomApiServerErrorResponseData, parseZoomOAuthError, parseZoomOAuthServerErrorResponseData, parseZoomServerErrorData, serverAccessToken, silenceZoomErrorWithCodesFunction, userAccessToken, zoomAccessTokenStringFactory, zoomFactory, zoomFetchPageFactory, zoomOAuthApiFetchJsonInput, zoomOAuthFactory, zoomOAuthServerBasicAuthorizationHeaderValue, zoomOAuthZoomAccessTokenFactory, zoomRateLimitHeaderDetails, zoomRateLimitedFetchHandler };
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [12.1.7](https://github.com/dereekb/dbx-components/compare/v12.1.6...v12.1.7) (2025-06-04)
6
+
7
+
8
+
9
+ ## [12.1.6](https://github.com/dereekb/dbx-components/compare/v12.1.5-dev...v12.1.6) (2025-06-04)
10
+
11
+
12
+
5
13
  ## [12.1.5](https://github.com/dereekb/dbx-components/compare/v12.1.4-dev...v12.1.5) (2025-05-30)
6
14
 
7
15
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/zoom/nestjs",
3
- "version": "12.1.5",
3
+ "version": "12.1.7",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "main": "./src/index.js"
@@ -1,2 +1,3 @@
1
1
  export * from './oauth';
2
+ export * from './webhook';
2
3
  export * from './zoom';
@@ -2,5 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./oauth"), exports);
5
+ tslib_1.__exportStar(require("./webhook"), exports);
5
6
  tslib_1.__exportStar(require("./zoom"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/zoom/nestjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/zoom/nestjs/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB"}
@@ -0,0 +1,11 @@
1
+ export * from './webhook.zoom.config';
2
+ export * from './webhook.zoom.controller';
3
+ export * from './webhook.zoom.module';
4
+ export * from './webhook.zoom.service';
5
+ export * from './webhook.zoom';
6
+ export * from './webhook.zoom.type';
7
+ export * from './webhook.zoom.type.common';
8
+ export * from './webhook.zoom.type.meeting';
9
+ export * from './webhook.zoom.type.validate';
10
+ export * from './webhook.zoom.verify';
11
+ export * from './webhook.zoom.validate';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./webhook.zoom.config"), exports);
5
+ tslib_1.__exportStar(require("./webhook.zoom.controller"), exports);
6
+ tslib_1.__exportStar(require("./webhook.zoom.module"), exports);
7
+ tslib_1.__exportStar(require("./webhook.zoom.service"), exports);
8
+ tslib_1.__exportStar(require("./webhook.zoom"), exports);
9
+ tslib_1.__exportStar(require("./webhook.zoom.type"), exports);
10
+ tslib_1.__exportStar(require("./webhook.zoom.type.common"), exports);
11
+ tslib_1.__exportStar(require("./webhook.zoom.type.meeting"), exports);
12
+ tslib_1.__exportStar(require("./webhook.zoom.type.validate"), exports);
13
+ tslib_1.__exportStar(require("./webhook.zoom.verify"), exports);
14
+ tslib_1.__exportStar(require("./webhook.zoom.validate"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,oEAA0C;AAC1C,gEAAsC;AACtC,iEAAuC;AACvC,yDAA+B;AAC/B,8DAAoC;AACpC,qEAA2C;AAC3C,sEAA4C;AAC5C,uEAA6C;AAC7C,gEAAsC;AACtC,kEAAwC"}
@@ -0,0 +1,12 @@
1
+ import { ZoomSecretToken } from '@dereekb/zoom';
2
+ export declare const ZOOM_SECRET_TOKEN_ENV_VAR = "ZOOM_SECRET_TOKEN";
3
+ export interface ZoomWebhookConfig {
4
+ readonly zoomSecretToken: ZoomSecretToken;
5
+ }
6
+ /**
7
+ * Configuration for ZoomService
8
+ */
9
+ export declare abstract class ZoomWebhookServiceConfig {
10
+ readonly webhookConfig: ZoomWebhookConfig;
11
+ static assertValidConfig(config: ZoomWebhookServiceConfig): void;
12
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZoomWebhookServiceConfig = exports.ZOOM_SECRET_TOKEN_ENV_VAR = void 0;
4
+ exports.ZOOM_SECRET_TOKEN_ENV_VAR = 'ZOOM_SECRET_TOKEN';
5
+ /**
6
+ * Configuration for ZoomService
7
+ */
8
+ class ZoomWebhookServiceConfig {
9
+ webhookConfig;
10
+ static assertValidConfig(config) {
11
+ if (!config.webhookConfig.zoomSecretToken) {
12
+ throw new Error('No zoom secret token specified.');
13
+ }
14
+ }
15
+ }
16
+ exports.ZoomWebhookServiceConfig = ZoomWebhookServiceConfig;
17
+ //# sourceMappingURL=webhook.zoom.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.config.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.config.ts"],"names":[],"mappings":";;;AAEa,QAAA,yBAAyB,GAAG,mBAAmB,CAAC;AAM7D;;GAEG;AACH,MAAsB,wBAAwB;IACnC,aAAa,CAAqB;IAE3C,MAAM,CAAC,iBAAiB,CAAC,MAAgC;QACvD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF;AARD,4DAQC"}
@@ -0,0 +1,8 @@
1
+ import { RawBodyBuffer } from '@dereekb/nestjs';
2
+ import { Request, Response } from 'express';
3
+ import { ZoomWebhookService } from './webhook.zoom.service';
4
+ export declare class ZoomWebhookController {
5
+ readonly zoomWebhookService: ZoomWebhookService;
6
+ constructor(zoomWebhookService: ZoomWebhookService);
7
+ handleZoomWebhook(res: Response, req: Request, rawBody: RawBodyBuffer): Promise<void>;
8
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZoomWebhookController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const nestjs_1 = require("@dereekb/nestjs");
6
+ const common_1 = require("@nestjs/common");
7
+ const webhook_zoom_service_1 = require("./webhook.zoom.service");
8
+ let ZoomWebhookController = class ZoomWebhookController {
9
+ zoomWebhookService;
10
+ constructor(zoomWebhookService) {
11
+ this.zoomWebhookService = zoomWebhookService;
12
+ }
13
+ async handleZoomWebhook(res, req, rawBody) {
14
+ const { valid, validationEventResponse } = await this.zoomWebhookService.updateForWebhook(req, rawBody);
15
+ const response = res.status(200); // always return a 200 status code
16
+ if (valid && validationEventResponse) {
17
+ response.json(validationEventResponse);
18
+ }
19
+ else {
20
+ response.json({});
21
+ }
22
+ }
23
+ };
24
+ exports.ZoomWebhookController = ZoomWebhookController;
25
+ tslib_1.__decorate([
26
+ (0, common_1.Post)(),
27
+ tslib_1.__param(0, (0, common_1.Res)()),
28
+ tslib_1.__param(1, (0, common_1.Req)()),
29
+ tslib_1.__param(2, (0, nestjs_1.RawBody)()),
30
+ tslib_1.__metadata("design:type", Function),
31
+ tslib_1.__metadata("design:paramtypes", [Object, Object, Object]),
32
+ tslib_1.__metadata("design:returntype", Promise)
33
+ ], ZoomWebhookController.prototype, "handleZoomWebhook", null);
34
+ exports.ZoomWebhookController = ZoomWebhookController = tslib_1.__decorate([
35
+ (0, common_1.Controller)('/webhook/zoom'),
36
+ tslib_1.__metadata("design:paramtypes", [webhook_zoom_service_1.ZoomWebhookService])
37
+ ], ZoomWebhookController);
38
+ //# sourceMappingURL=webhook.zoom.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.controller.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.controller.ts"],"names":[],"mappings":";;;;AAAA,4CAAyD;AACzD,2CAA4D;AAE5D,iEAA4D;AAGrD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACvB,kBAAkB,CAAqB;IAEhD,YAAY,kBAAsC;QAChD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CAAQ,GAAa,EAAS,GAAY,EAAa,OAAsB;QAClG,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExG,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC;QAEpE,IAAI,KAAK,IAAI,uBAAuB,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF,CAAA;AAnBY,sDAAqB;AAQ1B;IADL,IAAA,aAAI,GAAE;IACkB,mBAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,mBAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,mBAAA,IAAA,gBAAO,GAAE,CAAA;;;;8DAU5E;gCAlBU,qBAAqB;IADjC,IAAA,mBAAU,EAAC,eAAe,CAAC;6CAIM,yCAAkB;GAHvC,qBAAqB,CAmBjC"}
@@ -0,0 +1,23 @@
1
+ import { HandlerBindAccessor, HandlerMappedSetFunction, Handler } from '@dereekb/util';
2
+ import { ZoomWebhookEventType } from './webhook.zoom.type';
3
+ import { ZoomWebhookEvent, UntypedZoomWebhookEvent } from './webhook.zoom.type.common';
4
+ import { ZoomWebhookMeetingCreatedEventPayload, ZoomWebhookMeetingDeletedEventPayload, ZoomWebhookMeetingEndedEventPayload, ZoomWebhookMeetingPermanentlyDeletedEventPayload, ZoomWebhookMeetingStartedEventPayload, ZoomWebhookMeetingUpdatedEventPayload } from './webhook.zoom.type.meeting';
5
+ /**
6
+ * Creates a ZoomWebhookEvent and treats the data as the input type.
7
+ *
8
+ * @param event
9
+ * @returns
10
+ */
11
+ export declare function zoomWebhookEvent<T>(event: UntypedZoomWebhookEvent): ZoomWebhookEvent<T>;
12
+ export type ZoomEventHandler = Handler<UntypedZoomWebhookEvent, ZoomWebhookEventType>;
13
+ export declare const zoomEventHandlerFactory: import("@dereekb/util").HandlerFactory<UntypedZoomWebhookEvent, string>;
14
+ export type ZoomHandlerMappedSetFunction<T> = HandlerMappedSetFunction<ZoomWebhookEvent<T>>;
15
+ export interface ZoomEventHandlerConfigurer extends HandlerBindAccessor<UntypedZoomWebhookEvent, ZoomWebhookEventType> {
16
+ handleMeetingCreated: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingCreatedEventPayload>;
17
+ handleMeetingUpdated: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingUpdatedEventPayload>;
18
+ handleMeetingDeleted: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingDeletedEventPayload>;
19
+ handleMeetingStarted: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingStartedEventPayload>;
20
+ handleMeetingEnded: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingEndedEventPayload>;
21
+ handleMeetingPermanentlyDeleted: ZoomHandlerMappedSetFunction<ZoomWebhookMeetingPermanentlyDeletedEventPayload>;
22
+ }
23
+ export declare const zoomEventHandlerConfigurerFactory: import("@dereekb/util").HandlerConfigurerFactory<ZoomEventHandlerConfigurer, UntypedZoomWebhookEvent, string>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zoomEventHandlerConfigurerFactory = exports.zoomEventHandlerFactory = void 0;
4
+ exports.zoomWebhookEvent = zoomWebhookEvent;
5
+ const util_1 = require("@dereekb/util");
6
+ const webhook_zoom_type_meeting_1 = require("./webhook.zoom.type.meeting");
7
+ /**
8
+ * Creates a ZoomWebhookEvent and treats the data as the input type.
9
+ *
10
+ * @param event
11
+ * @returns
12
+ */
13
+ function zoomWebhookEvent(event) {
14
+ return {
15
+ event: event.event,
16
+ event_ts: event.event_ts,
17
+ payload: event.payload
18
+ };
19
+ }
20
+ exports.zoomEventHandlerFactory = (0, util_1.handlerFactory)((x) => x.event);
21
+ exports.zoomEventHandlerConfigurerFactory = (0, util_1.handlerConfigurerFactory)({
22
+ configurerForAccessor: (accessor) => {
23
+ // eslint-disable-next-line
24
+ const fnWithKey = (0, util_1.handlerMappedSetFunctionFactory)(accessor, zoomWebhookEvent);
25
+ const configurer = {
26
+ ...accessor,
27
+ // Meetings
28
+ handleMeetingCreated: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE),
29
+ handleMeetingUpdated: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE),
30
+ handleMeetingDeleted: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE),
31
+ handleMeetingStarted: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE),
32
+ handleMeetingEnded: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE),
33
+ handleMeetingPermanentlyDeleted: fnWithKey(webhook_zoom_type_meeting_1.ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE)
34
+ };
35
+ return configurer;
36
+ }
37
+ });
38
+ //# sourceMappingURL=webhook.zoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.ts"],"names":[],"mappings":";;;AAwBA,4CAMC;AA9BD,wCAAkK;AAGlK,2EAaqC;AAErC;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAI,KAA8B;IAChE,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAuB;KACvC,CAAC;AACJ,CAAC;AAIY,QAAA,uBAAuB,GAAG,IAAA,qBAAc,EAA0B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAclF,QAAA,iCAAiC,GAAG,IAAA,+BAAwB,EAAsD;IAC7H,qBAAqB,EAAE,CAAC,QAA4E,EAAE,EAAE;QACtG,2BAA2B;QAC3B,MAAM,SAAS,GAAG,IAAA,sCAA+B,EAA6B,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAE1G,MAAM,UAAU,GAA+B;YAC7C,GAAG,QAAQ;YACX,WAAW;YACX,oBAAoB,EAAE,SAAS,CAAC,mEAAuC,CAAC;YACxE,oBAAoB,EAAE,SAAS,CAAC,mEAAuC,CAAC;YACxE,oBAAoB,EAAE,SAAS,CAAC,mEAAuC,CAAC;YACxE,oBAAoB,EAAE,SAAS,CAAC,mEAAuC,CAAC;YACxE,kBAAkB,EAAE,SAAS,CAAC,iEAAqC,CAAC;YACpE,+BAA+B,EAAE,SAAS,CAAC,+EAAmD,CAAC;SAChG,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import { ZoomWebhookServiceConfig } from './webhook.zoom.config';
3
+ export declare function zoomWebhookServiceConfigFactory(configService: ConfigService): ZoomWebhookServiceConfig;
4
+ /**
5
+ * Configures webhooks for the service.
6
+ */
7
+ export declare class ZoomWebhookModule {
8
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZoomWebhookModule = void 0;
4
+ exports.zoomWebhookServiceConfigFactory = zoomWebhookServiceConfigFactory;
5
+ const tslib_1 = require("tslib");
6
+ const webhook_zoom_controller_1 = require("./webhook.zoom.controller");
7
+ const common_1 = require("@nestjs/common");
8
+ const webhook_zoom_service_1 = require("./webhook.zoom.service");
9
+ const config_1 = require("@nestjs/config");
10
+ const webhook_zoom_config_1 = require("./webhook.zoom.config");
11
+ function zoomWebhookServiceConfigFactory(configService) {
12
+ const config = {
13
+ webhookConfig: {
14
+ zoomSecretToken: configService.get(webhook_zoom_config_1.ZOOM_SECRET_TOKEN_ENV_VAR)
15
+ }
16
+ };
17
+ webhook_zoom_config_1.ZoomWebhookServiceConfig.assertValidConfig(config);
18
+ return config;
19
+ }
20
+ /**
21
+ * Configures webhooks for the service.
22
+ */
23
+ let ZoomWebhookModule = class ZoomWebhookModule {
24
+ };
25
+ exports.ZoomWebhookModule = ZoomWebhookModule;
26
+ exports.ZoomWebhookModule = ZoomWebhookModule = tslib_1.__decorate([
27
+ (0, common_1.Module)({
28
+ imports: [config_1.ConfigModule],
29
+ controllers: [webhook_zoom_controller_1.ZoomWebhookController],
30
+ exports: [webhook_zoom_service_1.ZoomWebhookService],
31
+ providers: [
32
+ {
33
+ provide: webhook_zoom_config_1.ZoomWebhookServiceConfig,
34
+ inject: [config_1.ConfigService],
35
+ useFactory: zoomWebhookServiceConfigFactory
36
+ },
37
+ webhook_zoom_service_1.ZoomWebhookService
38
+ ]
39
+ })
40
+ ], ZoomWebhookModule);
41
+ //# sourceMappingURL=webhook.zoom.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.module.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.module.ts"],"names":[],"mappings":";;;AAMA,0EASC;;AAfD,uEAAkE;AAClE,2CAAwC;AACxC,iEAA4D;AAC5D,2CAA6D;AAC7D,+DAA4F;AAE5F,SAAgB,+BAA+B,CAAC,aAA4B;IAC1E,MAAM,MAAM,GAA6B;QACvC,aAAa,EAAE;YACb,eAAe,EAAE,aAAa,CAAC,GAAG,CAAS,+CAAyB,CAAW;SAChF;KACF,CAAC;IAEF,8CAAwB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AAcI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,8CAAiB;4BAAjB,iBAAiB;IAb7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,CAAC;QACvB,WAAW,EAAE,CAAC,+CAAqB,CAAC;QACpC,OAAO,EAAE,CAAC,yCAAkB,CAAC;QAC7B,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,8CAAwB;gBACjC,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,+BAA+B;aAC5C;YACD,yCAAkB;SACnB;KACF,CAAC;GACW,iBAAiB,CAAG"}
@@ -0,0 +1,24 @@
1
+ import { Request } from 'express';
2
+ import { Handler, Maybe } from '@dereekb/util';
3
+ import { ZoomWebhookServiceConfig } from './webhook.zoom.config';
4
+ import { UntypedZoomWebhookEvent } from './webhook.zoom.type.common';
5
+ import { ZoomWebhookValidationResponse } from './webhook.zoom.validate';
6
+ export interface UpdateForWebhookResponse {
7
+ readonly valid: boolean;
8
+ readonly handled: boolean;
9
+ readonly event: UntypedZoomWebhookEvent;
10
+ readonly validationEventResponse?: Maybe<ZoomWebhookValidationResponse>;
11
+ }
12
+ /**
13
+ * Service that makes system changes based on Zoom webhook events.
14
+ */
15
+ export declare class ZoomWebhookService {
16
+ private readonly logger;
17
+ private readonly _verifier;
18
+ private readonly _validator;
19
+ readonly handler: Handler<UntypedZoomWebhookEvent>;
20
+ readonly configure: import("@dereekb/util").HandlerConfigurer<import("./webhook.zoom").ZoomEventHandlerConfigurer, UntypedZoomWebhookEvent, string>;
21
+ constructor(config: ZoomWebhookServiceConfig);
22
+ updateForWebhook(req: Request, rawBody: Buffer): Promise<UpdateForWebhookResponse>;
23
+ updateForZoomEvent(event: UntypedZoomWebhookEvent): Promise<boolean>;
24
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZoomWebhookService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const webhook_zoom_1 = require("./webhook.zoom");
7
+ const webhook_zoom_config_1 = require("./webhook.zoom.config");
8
+ const webhook_zoom_verify_1 = require("./webhook.zoom.verify");
9
+ const webhook_zoom_type_validate_1 = require("./webhook.zoom.type.validate");
10
+ const webhook_zoom_validate_1 = require("./webhook.zoom.validate");
11
+ /**
12
+ * Service that makes system changes based on Zoom webhook events.
13
+ */
14
+ let ZoomWebhookService = class ZoomWebhookService {
15
+ logger = new common_1.Logger('ZoomWebhookService');
16
+ _verifier;
17
+ _validator;
18
+ handler = (0, webhook_zoom_1.zoomEventHandlerFactory)();
19
+ configure = (0, webhook_zoom_1.zoomEventHandlerConfigurerFactory)(this.handler);
20
+ constructor(config) {
21
+ this._verifier = (0, webhook_zoom_verify_1.zoomWebhookEventVerifier)(config.webhookConfig.zoomSecretToken);
22
+ this._validator = (0, webhook_zoom_validate_1.zoomWebhookEventValidationFunction)(config.webhookConfig.zoomSecretToken);
23
+ }
24
+ async updateForWebhook(req, rawBody) {
25
+ const { valid, event } = this._verifier(req, rawBody);
26
+ let handled = false;
27
+ let validationEventResponse;
28
+ if (!valid) {
29
+ this.logger.warn('Received invalid zoom event: ', event);
30
+ }
31
+ else if (event.event === webhook_zoom_type_validate_1.ZOOM_WEBHOOK_URL_VALIDATION_EVENT_TYPE) {
32
+ validationEventResponse = this._validator(event);
33
+ handled = true;
34
+ }
35
+ else {
36
+ handled = await this.updateForZoomEvent(event);
37
+ }
38
+ const result = {
39
+ valid,
40
+ handled,
41
+ event,
42
+ validationEventResponse
43
+ };
44
+ return result;
45
+ }
46
+ async updateForZoomEvent(event) {
47
+ const handled = await this.handler(event);
48
+ if (!handled) {
49
+ this.logger.warn('Received unexpected/unhandled zoom event: ', event);
50
+ }
51
+ return handled;
52
+ }
53
+ };
54
+ exports.ZoomWebhookService = ZoomWebhookService;
55
+ exports.ZoomWebhookService = ZoomWebhookService = tslib_1.__decorate([
56
+ (0, common_1.Injectable)(),
57
+ tslib_1.__param(0, (0, common_1.Inject)(webhook_zoom_config_1.ZoomWebhookServiceConfig)),
58
+ tslib_1.__metadata("design:paramtypes", [webhook_zoom_config_1.ZoomWebhookServiceConfig])
59
+ ], ZoomWebhookService);
60
+ //# sourceMappingURL=webhook.zoom.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.service.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,iDAA4F;AAE5F,+DAAiE;AACjE,+DAA2F;AAE3F,6EAAqH;AACrH,mEAAgJ;AAShJ;;GAEG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACZ,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAoB,CAAC,CAAC;IAE1C,SAAS,CAA2B;IACpC,UAAU,CAAqC;IAEvD,OAAO,GAAqC,IAAA,sCAAuB,GAAE,CAAC;IACtE,SAAS,GAAG,IAAA,gDAAiC,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErE,YAA8C,MAAgC;QAC5E,IAAI,CAAC,SAAS,GAAG,IAAA,8CAAwB,EAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,IAAA,0DAAkC,EAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC7F,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,GAAY,EAAE,OAAe;QACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,GAAY,KAAK,CAAC;QAC7B,IAAI,uBAAkE,CAAC;QAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,mEAAsC,EAAE,CAAC;YAClE,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAsC,CAAC,CAAC;YAClF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAA6B;YACvC,KAAK;YACL,OAAO;YACP,KAAK;YACL,uBAAuB;SACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AA/CY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAUE,mBAAA,IAAA,eAAM,EAAC,8CAAwB,CAAC,CAAA;6CAAS,8CAAwB;GATnE,kBAAkB,CA+C9B"}
@@ -0,0 +1,43 @@
1
+ import { EmailAddress } from '@dereekb/util';
2
+ import { ZoomAccountId, ZoomUserId, ZoomWebhookEventTypeString, ZoomWebhookTimestamp } from '@dereekb/zoom';
3
+ /**
4
+ * A parsed RawZoomWebhookEvent that contains the relevant data and the original event.
5
+ */
6
+ export interface ZoomWebhookEvent<T, ET extends ZoomWebhookEventTypeString = ZoomWebhookEventTypeString> {
7
+ readonly event: ET;
8
+ readonly event_ts: ZoomWebhookTimestamp;
9
+ readonly payload: T;
10
+ }
11
+ export type UntypedZoomWebhookEvent = ZoomWebhookEvent<any>;
12
+ export interface ZoomWebhookAccountIdAndObjectPayloadData<T = unknown> {
13
+ readonly account_id: ZoomAccountId;
14
+ readonly object: T;
15
+ }
16
+ export interface ZoomWebhookOperatorAndObjectPayloadData<T = unknown> extends ZoomWebhookAccountIdAndObjectPayloadData<T> {
17
+ /**
18
+ * User id of the person who performed the action.
19
+ */
20
+ readonly operator_id: ZoomUserId;
21
+ /**
22
+ * Email address of the person who performed the action.
23
+ */
24
+ readonly operator: EmailAddress;
25
+ }
26
+ /**
27
+ * "The type of operation performed.
28
+ * all - The change was applied to all meetings.
29
+ * single - The change was applied only to a single meeting.
30
+ */
31
+ export type ZoomWebhookOperationType = 'all' | 'single';
32
+ export interface ZoomWebhookOperationAndObjectPayloadData<T = unknown> extends ZoomWebhookOperatorAndObjectPayloadData<T> {
33
+ /**
34
+ * The type of operation performed.
35
+ */
36
+ readonly operation: ZoomWebhookOperationType;
37
+ }
38
+ export interface ZoomWebhookTimestampRef {
39
+ readonly time_stamp: ZoomWebhookTimestamp;
40
+ }
41
+ export interface ZoomWebhookOldObjectRef<T = unknown> {
42
+ readonly old_object: T;
43
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=webhook.zoom.type.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.type.common.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.type.common.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { ZoomWebhookMeetingEventType } from './webhook.zoom.type.meeting';
2
+ export type ZoomWebhookEventType = ZoomWebhookMeetingEventType | string;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=webhook.zoom.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.type.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { PastZoomMeeting, ZoomMeeting, ZoomMeetingIssue } from '@dereekb/zoom';
2
+ import { ZoomWebhookAccountIdAndObjectPayloadData, ZoomWebhookEvent, ZoomWebhookOldObjectRef, ZoomWebhookOperationAndObjectPayloadData, ZoomWebhookTimestampRef } from './webhook.zoom.type.common';
3
+ export type ZoomWebhookMeetingEventType = ZoomWebhookMeetingAlertEventType | ZoomWebhookMeetingCreatedEventType | ZoomWebhookMeetingUpdatedEventType | ZoomWebhookMeetingDeletedEventType | ZoomWebhookMeetingStartedEventType | ZoomWebhookMeetingEndedEventType | ZoomWebhookMeetingPermanentlyDeletedEventType;
4
+ export type BasicZoomWebhookMeetingZoomEventPayloadObject = Pick<ZoomMeeting, 'id' | 'uuid' | 'host_id' | 'topic' | 'type' | 'start_time' | 'duration' | 'timezone'>;
5
+ export declare const ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE = "meeting.alert";
6
+ export type ZoomWebhookMeetingAlertEventType = typeof ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE;
7
+ export type ZoomWebhookMeetingAlertEventPayloadObject = BasicZoomWebhookMeetingZoomEventPayloadObject & {
8
+ readonly issues: ZoomMeetingIssue[];
9
+ };
10
+ export type ZoomWebhookMeetingAlertEventPayload = ZoomWebhookAccountIdAndObjectPayloadData<ZoomWebhookMeetingAlertEventPayloadObject>;
11
+ export type ZoomWebhookMeetingAlertEvent = ZoomWebhookEvent<ZoomWebhookMeetingAlertEventPayload, ZoomWebhookMeetingAlertEventType>;
12
+ export declare const ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE = "meeting.created";
13
+ export type ZoomWebhookMeetingCreatedEventType = typeof ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE;
14
+ export type ZoomWebhookMeetingCreatedEventPayloadObject = BasicZoomWebhookMeetingZoomEventPayloadObject & Pick<ZoomMeeting, 'join_url' | 'password' | 'pmi' | 'occurrences' | 'settings' | 'recurrence' | 'tracking_fields'>;
15
+ export type ZoomWebhookMeetingCreatedEventPayload = ZoomWebhookOperationAndObjectPayloadData<ZoomWebhookMeetingCreatedEventPayloadObject>;
16
+ export type ZoomWebhookMeetingCreatedEvent = ZoomWebhookEvent<ZoomWebhookMeetingCreatedEventPayload, ZoomWebhookMeetingCreatedEventType>;
17
+ export declare const ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE = "meeting.updated";
18
+ export type ZoomWebhookMeetingUpdatedEventType = typeof ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE;
19
+ export type ZoomWebhookMeetingUpdatedEventPayloadObject = BasicZoomWebhookMeetingZoomEventPayloadObject & Pick<ZoomMeeting, 'join_url' | 'agenda' | 'registration_url' | 'occurrences' | 'settings' | 'recurrence' | 'tracking_fields'>;
20
+ export type ZoomWebhookMeetingUpdatedEventPayload = ZoomWebhookOperationAndObjectPayloadData<ZoomWebhookMeetingUpdatedEventPayloadObject> & ZoomWebhookTimestampRef & ZoomWebhookOldObjectRef<ZoomWebhookMeetingUpdatedEventPayloadObject>;
21
+ export type ZoomWebhookMeetingUpdatedEvent = ZoomWebhookEvent<ZoomWebhookMeetingUpdatedEventPayload, ZoomWebhookMeetingUpdatedEventType>;
22
+ export declare const ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE = "meeting.deleted";
23
+ export type ZoomWebhookMeetingDeletedEventType = typeof ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE;
24
+ export type ZoomWebhookMeetingDeletedEventPayloadObject = BasicZoomWebhookMeetingZoomEventPayloadObject & Pick<ZoomMeeting, 'occurrences'>;
25
+ export type ZoomWebhookMeetingDeletedEventPayload = ZoomWebhookOperationAndObjectPayloadData<ZoomWebhookMeetingDeletedEventPayloadObject>;
26
+ export type ZoomWebhookMeetingDeletedEvent = ZoomWebhookEvent<ZoomWebhookMeetingDeletedEventPayload, ZoomWebhookMeetingDeletedEventType>;
27
+ export declare const ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE = "meeting.started";
28
+ export type ZoomWebhookMeetingStartedEventType = typeof ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE;
29
+ export type ZoomWebhookMeetingStartedEventPayloadObject = Pick<ZoomMeeting, 'uuid' | 'id' | 'host_id' | 'topic' | 'type' | 'start_time' | 'timezone'>;
30
+ export type ZoomWebhookMeetingStartedEventPayload = ZoomWebhookAccountIdAndObjectPayloadData<ZoomWebhookMeetingStartedEventPayloadObject>;
31
+ export type ZoomWebhookMeetingStartedEvent = ZoomWebhookEvent<ZoomWebhookMeetingStartedEventPayload, ZoomWebhookMeetingStartedEventType>;
32
+ export declare const ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE = "meeting.ended";
33
+ export type ZoomWebhookMeetingEndedEventType = typeof ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE;
34
+ export type ZoomWebhookMeetingEndedEventPayloadObject = BasicZoomWebhookMeetingZoomEventPayloadObject & Pick<PastZoomMeeting, 'end_time'>;
35
+ export type ZoomWebhookMeetingEndedEventPayload = ZoomWebhookAccountIdAndObjectPayloadData<ZoomWebhookMeetingEndedEventPayloadObject>;
36
+ export type ZoomWebhookMeetingEndedEvent = ZoomWebhookEvent<ZoomWebhookMeetingEndedEventPayload, ZoomWebhookMeetingEndedEventType>;
37
+ export declare const ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE = "meeting.permanently_deleted";
38
+ export type ZoomWebhookMeetingPermanentlyDeletedEventType = typeof ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE;
39
+ export type ZoomWebhookMeetingPermanentlyDeletedEventPayloadObject = ZoomWebhookMeetingDeletedEventPayloadObject;
40
+ export type ZoomWebhookMeetingPermanentlyDeletedEventPayload = ZoomWebhookAccountIdAndObjectPayloadData<ZoomWebhookMeetingPermanentlyDeletedEventPayloadObject>;
41
+ export type ZoomWebhookMeetingPermanentlyDeletedEvent = ZoomWebhookEvent<ZoomWebhookMeetingPermanentlyDeletedEventPayload, ZoomWebhookMeetingPermanentlyDeletedEventType>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE = exports.ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE = void 0;
4
+ // MARK: Meeting Alert
5
+ exports.ZOOM_WEBHOOK_MEETING_ALERT_EVENT_TYPE = 'meeting.alert';
6
+ // MARK: Meeting Created
7
+ exports.ZOOM_WEBHOOK_MEETING_CREATED_EVENT_TYPE = 'meeting.created';
8
+ // MARK: Meeting Updated
9
+ exports.ZOOM_WEBHOOK_MEETING_UPDATED_EVENT_TYPE = 'meeting.updated';
10
+ // MARK: Meeting Deleted
11
+ exports.ZOOM_WEBHOOK_MEETING_DELETED_EVENT_TYPE = 'meeting.deleted';
12
+ // MARK: Meeting Started
13
+ exports.ZOOM_WEBHOOK_MEETING_STARTED_EVENT_TYPE = 'meeting.started';
14
+ // MARK: Meeting Ended
15
+ exports.ZOOM_WEBHOOK_MEETING_ENDED_EVENT_TYPE = 'meeting.ended';
16
+ // MARK: Meeting Permanently Deleted
17
+ exports.ZOOM_WEBHOOK_MEETING_PERMANENTLY_DELETED_EVENT_TYPE = 'meeting.permanently_deleted';
18
+ //# sourceMappingURL=webhook.zoom.type.meeting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.zoom.type.meeting.js","sourceRoot":"","sources":["../../../../../../../packages/zoom/nestjs/src/lib/webhook/webhook.zoom.type.meeting.ts"],"names":[],"mappings":";;;AAOA,sBAAsB;AACT,QAAA,qCAAqC,GAAG,eAAe,CAAC;AAQrE,wBAAwB;AACX,QAAA,uCAAuC,GAAG,iBAAiB,CAAC;AAMzE,wBAAwB;AACX,QAAA,uCAAuC,GAAG,iBAAiB,CAAC;AAMzE,wBAAwB;AACX,QAAA,uCAAuC,GAAG,iBAAiB,CAAC;AAMzE,wBAAwB;AACX,QAAA,uCAAuC,GAAG,iBAAiB,CAAC;AAMzE,sBAAsB;AACT,QAAA,qCAAqC,GAAG,eAAe,CAAC;AAMrE,oCAAoC;AACvB,QAAA,mDAAmD,GAAG,6BAA6B,CAAC"}