@pipedream/zoom 0.3.5 → 0.4.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.
@@ -1,38 +1,52 @@
1
- // legacy_hash_id: a_WYie0m
2
- import { axios } from "@pipedream/platform";
1
+ import app from "../../zoom.app.mjs";
3
2
 
4
3
  export default {
5
4
  key: "zoom-get-webinar-details",
6
5
  name: "Get Webinar Details",
7
- description: "Gets details of a scheduled webinar.",
8
- version: "0.2.1",
6
+ description: "Gets details of a scheduled webinar. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/webinar).",
7
+ version: "0.3.0",
9
8
  type: "action",
10
9
  props: {
11
- zoom: {
12
- type: "app",
13
- app: "zoom",
10
+ app,
11
+ webinarId: {
12
+ propDefinition: [
13
+ app,
14
+ "webinarId",
15
+ ],
14
16
  },
15
- webinar_id: {
16
- type: "integer",
17
- description: "The webinar ID.",
18
- },
19
- occurrence_id: {
17
+ occurrenceId: {
20
18
  type: "string",
19
+ label: "Occurrence ID",
21
20
  description: "Unique Identifier that identifies an occurrence of a recurring webinar. Recurring webinars can have a maximum of 50 occurrences.",
22
21
  optional: true,
23
22
  },
24
23
  },
25
- async run({ $ }) {
26
- //See the API docs here: https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar
27
- const config = {
28
- url: `https://api.zoom.us/v2/webinars/${this.webinar_id}`,
24
+ methods: {
25
+ getWebinarDetails({
26
+ webinarId, ...args
27
+ } = {}) {
28
+ return this.app._makeRequest({
29
+ path: `/webinars/${webinarId}`,
30
+ ...args,
31
+ });
32
+ },
33
+ },
34
+ async run({ $: step }) {
35
+ const {
36
+ webinarId,
37
+ occurrenceId,
38
+ } = this;
39
+
40
+ const response = await this.getWebinarDetails({
41
+ step,
42
+ webinarId,
29
43
  params: {
30
- occurrence_id: this.occurrence_id,
44
+ occurrence_id: occurrenceId,
31
45
  },
32
- headers: {
33
- Authorization: `Bearer ${this.zoom.$auth.oauth_access_token}`,
34
- },
35
- };
36
- return await axios($, config);
46
+ });
47
+
48
+ step.export("$summary", `Successfully retrieved webinar details with ID \`${response.id}\``);
49
+
50
+ return response;
37
51
  },
38
52
  };
@@ -1,36 +1,38 @@
1
- // legacy_hash_id: a_YEik5g
2
- import { axios } from "@pipedream/platform";
1
+ import app from "../../zoom.app.mjs";
3
2
 
4
3
  export default {
5
4
  key: "zoom-list-past-meeting-participants",
6
5
  name: "List Past Meeting Participants",
7
- description: "Retrieve information on participants from a past meeting.",
8
- version: "0.1.1",
6
+ description: "Retrieve information on participants from a past meeting. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/pastMeetingParticipants).",
7
+ version: "0.2.0",
9
8
  type: "action",
10
9
  props: {
11
- zoom: {
12
- type: "app",
13
- app: "zoom",
10
+ app,
11
+ meetingId: {
12
+ propDefinition: [
13
+ app,
14
+ "meetingId",
15
+ ],
14
16
  },
15
- meeting_id: {
16
- type: "string",
17
+ },
18
+ methods: {
19
+ listPastMeetingParticipants({
20
+ meetingId, ...args
21
+ } = {}) {
22
+ return this.app._makeRequest({
23
+ path: `/past_meetings/${meetingId}/participants`,
24
+ ...args,
25
+ });
17
26
  },
18
27
  },
19
- async run({ $ }) {
20
- const config = {
21
- url: `https://api.zoom.us/v2/past_meetings/${this.meeting_id}/participants`,
22
- headers: {
23
- Authorization: `Bearer ${this.zoom.$auth.oauth_access_token}`,
24
- },
25
- };
28
+ async run({ $: step }) {
29
+ const { participants } = await this.listPastMeetingParticipants({
30
+ step,
31
+ meetingId: this.meetingId,
32
+ });
26
33
 
27
- const results = await axios($, config);
34
+ step.export("$summary", `Successfully retrieved ${participants.length} past meeting participants`);
28
35
 
29
- return results.participants.filter((element, index) => {
30
- const _element = JSON.stringify(element);
31
- return index === results.participants.findIndex((obj) => {
32
- return JSON.stringify(obj) === _element;
33
- });
34
- });
36
+ return participants;
35
37
  },
36
38
  };
@@ -0,0 +1,68 @@
1
+ import app from "../../zoom.app.mjs";
2
+ import utils from "../../common/utils.mjs";
3
+
4
+ export default {
5
+ key: "zoom-list-webinar-participants-report",
6
+ name: "List Webinar Participants Report",
7
+ description: "Retrieves detailed report on each webinar attendee. You can get webinar participant reports for the last 6 months. [See the docs here](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/reportWebinarParticipants).",
8
+ version: "0.0.1",
9
+ type: "action",
10
+ props: {
11
+ app,
12
+ webinarId: {
13
+ propDefinition: [
14
+ app,
15
+ "webinarId",
16
+ ],
17
+ },
18
+ nextPageToken: {
19
+ propDefinition: [
20
+ app,
21
+ "nextPageToken",
22
+ ],
23
+ },
24
+ max: {
25
+ propDefinition: [
26
+ app,
27
+ "max",
28
+ ],
29
+ },
30
+ },
31
+ methods: {
32
+ async listWebinarParticipantsReport({
33
+ webinarId, ...args
34
+ } = {}) {
35
+ return this.app._makeRequest({
36
+ path: `/report/webinars/${webinarId}/participants`,
37
+ ...args,
38
+ });
39
+ },
40
+ },
41
+ async run({ $: step }) {
42
+ const {
43
+ webinarId,
44
+ nextPageToken,
45
+ max,
46
+ } = this;
47
+
48
+ const stream = await this.app.getResourcesStream({
49
+ resourceFn: this.listWebinarParticipantsReport,
50
+ resourceFnArgs: {
51
+ step,
52
+ webinarId,
53
+ params: {
54
+ page_size: 300,
55
+ next_page_token: nextPageToken,
56
+ },
57
+ },
58
+ resourceName: "participants",
59
+ max,
60
+ });
61
+
62
+ const participants = await utils.streamIterator(stream);
63
+
64
+ step.export("$summary", `Successfully retrieved ${utils.summaryEnd(participants.length, "participant")}.`);
65
+
66
+ return participants;
67
+ },
68
+ };
@@ -0,0 +1,9 @@
1
+ const BASE_URL = "https://api.zoom.us";
2
+ const VERSION_PATH = "/v2";
3
+ const MAX_RESOURCES = 300;
4
+
5
+ export default {
6
+ BASE_URL,
7
+ VERSION_PATH,
8
+ MAX_RESOURCES,
9
+ };
@@ -0,0 +1,20 @@
1
+ async function streamIterator(stream) {
2
+ const resources = [];
3
+ for await (const resource of stream) {
4
+ resources.push(resource);
5
+ }
6
+ return resources;
7
+ }
8
+
9
+ function summaryEnd(count, singular, plural) {
10
+ if (!plural) {
11
+ plural = singular + "s";
12
+ }
13
+ const noun = count === 1 && singular || plural;
14
+ return `${count} ${noun}`;
15
+ }
16
+
17
+ export default {
18
+ streamIterator,
19
+ summaryEnd,
20
+ };
package/package.json CHANGED
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "@pipedream/zoom",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "description": "Pipedream Zoom Components",
5
- "main": "zoom.app.js",
5
+ "main": "zoom.app.mjs",
6
6
  "keywords": [
7
7
  "pipedream",
8
8
  "zoom"
9
9
  ],
10
10
  "homepage": "https://pipedream.com/apps/zoom",
11
11
  "author": "Pipedream <support@pipedream.com> (https://pipedream.com/)",
12
- "license": "MIT",
13
12
  "gitHead": "e12480b94cc03bed4808ebc6b13e7fdb3a1ba535",
14
13
  "publishConfig": {
15
14
  "access": "public"
16
15
  },
17
16
  "dependencies": {
18
- "@pipedream/platform": "^1.1.0"
17
+ "@pipedream/platform": "^1.3.0"
19
18
  }
20
19
  }
@@ -1,8 +1,8 @@
1
- import zoom from "../../zoom.app.mjs";
1
+ import app from "../../zoom.app.mjs";
2
2
 
3
3
  export default {
4
4
  props: {
5
- zoom,
5
+ app,
6
6
  },
7
7
  methods: {
8
8
  sortByDate(objects, field) {
@@ -1,108 +1,110 @@
1
- const CUSTOM_EVENT_TYPES = [
2
- "meeting.alert",
3
- "meeting.created.by_me",
4
- "meeting.created.for_me",
5
- "meeting.updated",
6
- "meeting.deleted.by_me",
7
- "meeting.deleted.for_me",
8
- "meeting.started",
9
- "meeting.ended",
10
- "meeting.registration_created",
11
- "meeting.registration_approved",
12
- "meeting.registration_cancelled",
13
- "meeting.registration_denied",
14
- "meeting.sharing_started.host",
15
- "meeting.sharing_started.participant",
16
- "meeting.sharing_ended.host",
17
- "meeting.sharing_ended.participant",
18
- "meeting.participant_jbh_joined",
19
- "meeting.participant_jbh_waiting",
20
- "meeting.participant_joined",
21
- "meeting.participant_left",
22
- "meeting.participant_joined_waiting_room",
23
- "meeting.participant_admitted",
24
- "meeting.participant_put_in_waiting_room",
25
- "meeting.participant_left_waiting_room",
26
- "recording.started",
27
- "recording.paused",
28
- "recording.resumed",
29
- "recording.stopped",
30
- "recording.completed",
31
- "recording.trashed.by_me",
32
- "recording.trashed.for_me",
33
- "recording.deleted.by_me",
34
- "recording.deleted.for_me",
35
- "recording.recovered.by_me",
36
- "recording.recovered.for_me",
37
- "recording.transcript_completed",
38
- "recording.registration_created",
39
- "recording.registration_approved",
40
- "recording.registration_denied",
41
- "user.updated",
42
- "user.settings_updated",
43
- "user.signed_in",
44
- "user.signed_out",
45
- "webinar.created.by_me",
46
- "webinar.created.for_me",
47
- "webinar.updated",
48
- "webinar.started",
49
- "webinar.ended",
50
- "webinar.alert",
51
- "webinar.sharing_started.host",
52
- "webinar.sharing_started.participant",
53
- "webinar.sharing_ended",
54
- "webinar.registration_created",
55
- "webinar.registration_approved",
56
- "webinar.registration_denied",
57
- "webinar.registration_cancelled",
58
- "webinar.participant_joined",
59
- "webinar.participant_left",
60
- ];
1
+ const CUSTOM_EVENT_TYPES = {
2
+ MEETING_ALERT: "meeting.alert",
3
+ MEETING_CREATED_BY_ME: "meeting.created.by_me",
4
+ MEETING_CREATED_FOR_ME: "meeting.created.for_me",
5
+ MEETING_UPDATED: "meeting.updated",
6
+ MEETING_DELETED_BY_ME: "meeting.deleted.by_me",
7
+ MEETING_DELETED_FOR_ME: "meeting.deleted.for_me",
8
+ MEETING_STARTED: "meeting.started",
9
+ MEETING_ENDED: "meeting.ended",
10
+ MEETING_REGISTRATION_CREATED: "meeting.registration_created",
11
+ MEETING_REGISTRATION_APPROVED: "meeting.registration_approved",
12
+ MEETING_REGISTRATION_CANCELLED: "meeting.registration_cancelled",
13
+ MEETING_REGISTRATION_DENIED: "meeting.registration_denied",
14
+ MEETING_SHARING_STARTED_HOST: "meeting.sharing_started.host",
15
+ MEETING_SHARING_STARTED_PARTICIPANT: "meeting.sharing_started.participant",
16
+ MEETING_SHARING_ENDED_HOST: "meeting.sharing_ended.host",
17
+ MEETING_SHARING_ENDED_PARTICIPANT: "meeting.sharing_ended.participant",
18
+ MEETING_PARTICIPANT_JBH_JOINED: "meeting.participant_jbh_joined",
19
+ MEETING_PARTICIPANT_JBH_WAITING: "meeting.participant_jbh_waiting",
20
+ MEETING_PARTICIPANT_JOINED: "meeting.participant_joined",
21
+ MEETING_PARTICIPANT_LEFT: "meeting.participant_left",
22
+ MEETING_PARTICIPANT_JOINED_WAITING_ROOM: "meeting.participant_joined_waiting_room",
23
+ MEETING_PARTICIPANT_ADMITTED: "meeting.participant_admitted",
24
+ MEETING_PARTICIPANT_PUT_IN_WAITING_ROOM: "meeting.participant_put_in_waiting_room",
25
+ MEETING_PARTICIPANT_LEFT_WAITING_ROOM: "meeting.participant_left_waiting_room",
26
+ RECORDING_STARTED: "recording.started",
27
+ RECORDING_PAUSED: "recording.paused",
28
+ RECORDING_RESUMED: "recording.resumed",
29
+ RECORDING_STOPPED: "recording.stopped",
30
+ RECORDING_COMPLETED: "recording.completed",
31
+ RECORDING_TRASHED_BY_ME: "recording.trashed.by_me",
32
+ RECORDING_TRASHED_FOR_ME: "recording.trashed.for_me",
33
+ RECORDING_DELETED_BY_ME: "recording.deleted.by_me",
34
+ RECORDING_DELETED_FOR_ME: "recording.deleted.for_me",
35
+ RECORDING_RECOVERED_BY_ME: "recording.recovered.by_me",
36
+ RECORDING_RECOVERED_FOR_ME: "recording.recovered.for_me",
37
+ RECORDING_TRANSCRIPT_COMPLETED: "recording.transcript_completed",
38
+ RECORDING_REGISTRATION_CREATED: "recording.registration_created",
39
+ RECORDING_REGISTRATION_APPROVED: "recording.registration_approved",
40
+ RECORDING_REGISTRATION_DENIED: "recording.registration_denied",
41
+ USER_UPDATED: "user.updated",
42
+ USER_SETTINGS_UPDATED: "user.settings_updated",
43
+ USER_SIGNED_IN: "user.signed_in",
44
+ USER_SIGNED_OUT: "user.signed_out",
45
+ WEBINAR_CREATED_BY_ME: "webinar.created.by_me",
46
+ WEBINAR_CREATED_FOR_ME: "webinar.created.for_me",
47
+ WEBINAR_UPDATED: "webinar.updated",
48
+ WEBINAR_STARTED: "webinar.started",
49
+ WEBINAR_ENDED: "webinar.ended",
50
+ WEBINAR_ALERT: "webinar.alert",
51
+ WEBINAR_SHARING_STARTED_HOST: "webinar.sharing_started.host",
52
+ WEBINAR_SHARING_STARTED_PARTICIPANT: "webinar.sharing_started.participant",
53
+ WEBINAR_SHARING_ENDED: "webinar.sharing_ended",
54
+ WEBINAR_REGISTRATION_CREATED: "webinar.registration_created",
55
+ WEBINAR_REGISTRATION_APPROVED: "webinar.registration_approved",
56
+ WEBINAR_REGISTRATION_DENIED: "webinar.registration_denied",
57
+ WEBINAR_REGISTRATION_CANCELLED: "webinar.registration_cancelled",
58
+ WEBINAR_PARTICIPANT_JOINED: "webinar.participant_joined",
59
+ WEBINAR_PARTICIPANT_LEFT: "webinar.participant_left",
60
+ WEBINAR_DELETED_BY_ME: "webinar.deleted.by_me",
61
+ WEBINAR_DELETED_FOR_ME: "webinar.deleted.for_me",
62
+ };
61
63
 
62
- const PHONE_EVENT_TYPES = [
63
- "phone.call_log_deleted",
64
- "phone.call_log_permanently_deleted",
65
- "phone.callee_answered",
66
- "phone.callee_call_log_completed",
67
- "phone.callee_ended",
68
- "phone.callee_hold",
69
- "phone.callee_meeting_inviting",
70
- "phone.callee_missed",
71
- "phone.callee_mute",
72
- "phone.callee_rejected",
73
- "phone.callee_ringing",
74
- "phone.callee_unhold",
75
- "phone.callee_unmute",
76
- "phone.caller_call_log_completed",
77
- "phone.caller_connected",
78
- "phone.caller_ended",
79
- "phone.caller_hold",
80
- "phone.caller_meeting_inviting",
81
- "phone.caller_mute",
82
- "phone.caller_ringing",
83
- "phone.caller_unhold",
84
- "phone.caller_unmute",
85
- "phone.device_registration",
86
- "phone.emergency_alert",
87
- "phone.generic_device_provision",
88
- "phone.peering_number_cnam_updated",
89
- "phone.peering_number_emergency_address_updated",
90
- "phone.recording_completed",
91
- "phone.recording_deleted",
92
- "phone.recording_paused",
93
- "phone.recording_permanently_deleted",
94
- "phone.recording_resumed",
95
- "phone.recording_started",
96
- "phone.recording_stopped",
97
- "phone.recording_transcript_completed",
98
- "phone.sms_received",
99
- "phone.sms_sent",
100
- "phone.voicemail_deleted",
101
- "phone.voicemail_permanently_deleted",
102
- "phone.voicemail_received",
103
- "phone.voicemail_transcript_completed",
104
- "phone.warm_transfer_accepted",
105
- ];
64
+ const PHONE_EVENT_TYPES = {
65
+ PHONE_CALL_LOG_DELETED: "phone.call_log_deleted",
66
+ PHONE_CALL_LOG_PERMANENTLY_DELETED: "phone.call_log_permanently_deleted",
67
+ PHONE_CALLEE_ANSWERED: "phone.callee_answered",
68
+ PHONE_CALLEE_CALL_LOG_COMPLETED: "phone.callee_call_log_completed",
69
+ PHONE_CALLEE_ENDED: "phone.callee_ended",
70
+ PHONE_CALLEE_HOLD: "phone.callee_hold",
71
+ PHONE_CALLEE_MEETING_INVITING: "phone.callee_meeting_inviting",
72
+ PHONE_CALLEE_MISSED: "phone.callee_missed",
73
+ PHONE_CALLEE_MUTE: "phone.callee_mute",
74
+ PHONE_CALLEE_REJECTED: "phone.callee_rejected",
75
+ PHONE_CALLEE_RINGING: "phone.callee_ringing",
76
+ PHONE_CALLEE_UNHOLD: "phone.callee_unhold",
77
+ PHONE_CALLEE_UNMUTE: "phone.callee_unmute",
78
+ PHONE_CALLER_CALL_LOG_COMPLETED: "phone.caller_call_log_completed",
79
+ PHONE_CALLER_CONNECTED: "phone.caller_connected",
80
+ PHONE_CALLER_ENDED: "phone.caller_ended",
81
+ PHONE_CALLER_HOLD: "phone.caller_hold",
82
+ PHONE_CALLER_MEETING_INVITING: "phone.caller_meeting_inviting",
83
+ PHONE_CALLER_MUTE: "phone.caller_mute",
84
+ PHONE_CALLER_RINGING: "phone.caller_ringing",
85
+ PHONE_CALLER_UNHOLD: "phone.caller_unhold",
86
+ PHONE_CALLER_UNMUTE: "phone.caller_unmute",
87
+ PHONE_DEVICE_REGISTRATION: "phone.device_registration",
88
+ PHONE_EMERGENCY_ALERT: "phone.emergency_alert",
89
+ PHONE_GENERIC_DEVICE_PROVISION: "phone.generic_device_provision",
90
+ PHONE_PEERING_NUMBER_CNAM_UPDATED: "phone.peering_number_cnam_updated",
91
+ PHONE_PEERING_NUMBER_EMERGENCY_ADDRESS_UPDATED: "phone.peering_number_emergency_address_updated",
92
+ PHONE_RECORDING_COMPLETED: "phone.recording_completed",
93
+ PHONE_RECORDING_DELETED: "phone.recording_deleted",
94
+ PHONE_RECORDING_PAUSED: "phone.recording_paused",
95
+ PHONE_RECORDING_PERMANENTLY_DELETED: "phone.recording_permanently_deleted",
96
+ PHONE_RECORDING_RESUMED: "phone.recording_resumed",
97
+ PHONE_RECORDING_STARTED: "phone.recording_started",
98
+ PHONE_RECORDING_STOPPED: "phone.recording_stopped",
99
+ PHONE_RECORDING_TRANSCRIPT_COMPLETED: "phone.recording_transcript_completed",
100
+ PHONE_SMS_RECEIVED: "phone.sms_received",
101
+ PHONE_SMS_SENT: "phone.sms_sent",
102
+ PHONE_VOICEMAIL_DELETED: "phone.voicemail_deleted",
103
+ PHONE_VOICEMAIL_PERMANENTLY_DELETED: "phone.voicemail_permanently_deleted",
104
+ PHONE_VOICEMAIL_RECEIVED: "phone.voicemail_received",
105
+ PHONE_VOICEMAIL_TRANSCRIPT_COMPLETED: "phone.voicemail_transcript_completed",
106
+ PHONE_WARM_TRANSFER_ACCEPTED: "phone.warm_transfer_accepted",
107
+ };
106
108
 
107
109
  export default {
108
110
  CUSTOM_EVENT_TYPES,
@@ -1,29 +1,32 @@
1
- import zoom from "../../zoom.app.mjs";
1
+ import common from "../common/common.mjs";
2
2
  import constants from "../common/constants.mjs";
3
3
 
4
4
  export default {
5
+ ...common,
5
6
  key: "zoom-custom-event",
6
7
  name: "Custom Events (Instant)",
7
- description: "Listen for any events tied to your Zoom user or resources you own",
8
- version: "0.0.6",
8
+ description: "Emit new events tied to your Zoom user or resources you own",
9
+ version: "0.1.0",
9
10
  type: "source",
11
+ dedupe: "unique",
10
12
  props: {
11
- zoom,
13
+ ...common.props,
12
14
  eventNameOptions: {
13
- label: "Zoom Events",
14
15
  type: "string[]",
15
- options: constants.CUSTOM_EVENT_TYPES,
16
+ label: "Zoom Events",
17
+ description: "Select the events you want to listen for",
18
+ options: Object.values(constants.CUSTOM_EVENT_TYPES),
16
19
  },
17
- zoomApphook: {
20
+ // eslint-disable-next-line pipedream/props-label, pipedream/props-description
21
+ apphook: {
18
22
  type: "$.interface.apphook",
19
- appProp: "zoom",
20
- async eventNames() {
23
+ appProp: "app",
24
+ eventNames() {
21
25
  return this.eventNameOptions;
22
26
  },
23
27
  },
24
28
  },
25
29
  async run(event) {
26
- console.log(event);
27
30
  this.$emit(event, {
28
31
  id: event.payload?.object?.id,
29
32
  summary: event.event,
@@ -1,28 +1,34 @@
1
1
  import common from "../common/common.mjs";
2
+ import constants from "../common/constants.mjs";
2
3
 
3
4
  export default {
4
5
  ...common,
5
6
  key: "zoom-meeting-created",
6
7
  name: "Meeting Created (Instant)",
7
8
  description: "Emit new event each time a meeting is created where you're the host",
8
- version: "0.0.4",
9
+ version: "0.1.0",
9
10
  type: "source",
10
- dedupe: "unique", // Dedupe based on meeting ID
11
+ dedupe: "unique",
11
12
  props: {
12
13
  ...common.props,
13
- zoomApphook: {
14
+ // eslint-disable-next-line pipedream/props-label, pipedream/props-description
15
+ apphook: {
14
16
  type: "$.interface.apphook",
15
- appProp: "zoom",
16
- eventNames: [
17
- "meeting.created.by_me",
18
- "meeting.created.for_me",
19
- ],
17
+ appProp: "app",
18
+ eventNames() {
19
+ return [
20
+ constants.CUSTOM_EVENT_TYPES.MEETING_CREATED_BY_ME,
21
+ constants.CUSTOM_EVENT_TYPES.MEETING_CREATED_FOR_ME,
22
+ ];
23
+ },
20
24
  },
21
25
  },
22
26
  hooks: {
23
27
  async deploy() {
24
- const { meetings } = await this.zoom.listMeetings({
25
- page_size: 25,
28
+ const { meetings } = await this.app.listMeetings({
29
+ params: {
30
+ page_size: 25,
31
+ },
26
32
  });
27
33
  if (!meetings || meetings.length === 0) {
28
34
  return;
@@ -1,25 +1,30 @@
1
1
  import common from "../common/common.mjs";
2
+ import constants from "../common/constants.mjs";
2
3
 
3
4
  export default {
4
5
  ...common,
5
6
  key: "zoom-meeting-deleted",
6
7
  name: "Meeting Deleted (Instant)",
7
8
  description: "Emit new event each time a meeting is deleted where you're the host",
8
- version: "0.0.4",
9
+ version: "0.1.0",
9
10
  type: "source",
10
- dedupe: "unique", // Dedupe based on meeting ID
11
+ dedupe: "unique",
11
12
  props: {
12
13
  ...common.props,
13
- zoomApphook: {
14
+ // eslint-disable-next-line pipedream/props-label, pipedream/props-description
15
+ apphook: {
14
16
  type: "$.interface.apphook",
15
- appProp: "zoom",
16
- eventNames: [
17
- "meeting.deleted.by_me",
18
- "meeting.deleted.for_me",
19
- ],
17
+ appProp: "app",
18
+ eventNames() {
19
+ return [
20
+ constants.CUSTOM_EVENT_TYPES.MEETING_DELETED_BY_ME,
21
+ constants.CUSTOM_EVENT_TYPES.MEETING_DELETED_FOR_ME,
22
+ ];
23
+ },
20
24
  },
21
25
  },
22
26
  methods: {
27
+ ...common.methods,
23
28
  emitEvent(payload, object) {
24
29
  const meta = this.generateMeta(object);
25
30
  this.$emit({