@pipedream/zoom 0.3.6 → 0.5.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 (36) hide show
  1. package/README.md +21 -64
  2. package/actions/add-meeting-registrant/add-meeting-registrant.mjs +157 -108
  3. package/actions/add-webinar-registrant/add-webinar-registrant.mjs +157 -108
  4. package/actions/create-meeting/create-meeting.mjs +1 -1
  5. package/actions/create-user/create-user.mjs +1 -1
  6. package/actions/delete-user/delete-user.mjs +1 -1
  7. package/actions/get-meeting-details/get-meeting-details.mjs +1 -1
  8. package/actions/get-webinar-details/get-webinar-details.mjs +36 -22
  9. package/actions/list-channels/list-channels.mjs +1 -1
  10. package/actions/list-past-meeting-participants/list-past-meeting-participants.mjs +25 -23
  11. package/actions/list-past-webinar-qa/list-past-webinar-qa.mjs +1 -1
  12. package/actions/list-user-call-logs/list-user-call-logs.mjs +31 -0
  13. package/actions/list-webinar-participants-report/list-webinar-participants-report.mjs +68 -0
  14. package/actions/send-chat-message/send-chat-message.mjs +1 -1
  15. package/actions/update-meeting/update-meeting.mjs +1 -1
  16. package/actions/update-webinar/update-webinar.mjs +1 -1
  17. package/actions/view-user/view-user.mjs +1 -1
  18. package/common/constants.mjs +9 -0
  19. package/common/utils.mjs +20 -0
  20. package/package.json +3 -3
  21. package/sources/common/common.mjs +2 -2
  22. package/sources/common/constants.mjs +106 -104
  23. package/sources/custom-event/custom-event.mjs +13 -10
  24. package/sources/meeting-created/meeting-created.mjs +16 -10
  25. package/sources/meeting-deleted/meeting-deleted.mjs +13 -8
  26. package/sources/meeting-ended/meeting-ended.mjs +20 -12
  27. package/sources/meeting-started/meeting-started.mjs +17 -11
  28. package/sources/meeting-updated/meeting-updated.mjs +16 -10
  29. package/sources/phone-event/phone-event.mjs +12 -10
  30. package/sources/recording-completed/recording-completed.mjs +28 -19
  31. package/sources/webinar-created/webinar-created.mjs +16 -10
  32. package/sources/webinar-deleted/webinar-deleted.mjs +14 -9
  33. package/sources/webinar-ended/webinar-ended.mjs +19 -13
  34. package/sources/webinar-started/webinar-started.mjs +16 -10
  35. package/sources/webinar-updated/webinar-updated.mjs +16 -10
  36. package/zoom.app.mjs +277 -42
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@pipedream/zoom",
3
- "version": "0.3.6",
3
+ "version": "0.5.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"
@@ -14,6 +14,6 @@
14
14
  "access": "public"
15
15
  },
16
16
  "dependencies": {
17
- "@pipedream/platform": "^1.1.0"
17
+ "@pipedream/platform": "^1.3.0"
18
18
  }
19
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.1",
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.1",
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.1",
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({
@@ -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-ended",
6
7
  name: "Meeting Ended (Instant)",
7
8
  description: "Emit new event each time a meeting ends where you're the host",
8
- version: "0.0.4",
9
+ version: "0.1.1",
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.ended",
18
- ],
17
+ appProp: "app",
18
+ eventNames() {
19
+ return [
20
+ constants.CUSTOM_EVENT_TYPES.MEETING_ENDED,
21
+ ];
22
+ },
19
23
  },
20
24
  },
21
25
  hooks: {
22
26
  async deploy() {
23
- const { meetings } = await this.zoom.listMeetings({
24
- page_size: 25,
25
- type: "previous_meetings",
27
+ const { meetings } = await this.app.listMeetings({
28
+ params: {
29
+ page_size: 25,
30
+ type: "previous_meetings",
31
+ },
26
32
  });
27
33
  if (!meetings || meetings.length === 0) {
28
34
  return;
@@ -30,7 +36,9 @@ export default {
30
36
  const detailedMeetings = [];
31
37
  for (const meeting of meetings) {
32
38
  try {
33
- const details = await this.zoom.getPastMeetingDetails(meeting.id);
39
+ const details = await this.app.getPastMeetingDetails({
40
+ meetingId: meeting.id,
41
+ });
34
42
  detailedMeetings.push(details);
35
43
  } catch {
36
44
  // catch error thrown by getPastMeetingDetails if meeting has not ended
@@ -50,7 +58,7 @@ export default {
50
58
  emitEvent(payload, object) {
51
59
  const meta = this.generateMeta(object);
52
60
  this.$emit({
53
- event: "meeting.ended",
61
+ event: constants.CUSTOM_EVENT_TYPES.MEETING_ENDED,
54
62
  payload,
55
63
  }, meta);
56
64
  },
@@ -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-started",
6
7
  name: "Meeting Started (Instant)",
7
8
  description: "Emit new event each time a meeting starts where you're the host",
8
- version: "0.0.4",
9
+ version: "0.1.2",
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.started",
18
- ],
17
+ appProp: "app",
18
+ eventNames() {
19
+ return [
20
+ constants.CUSTOM_EVENT_TYPES.MEETING_STARTED,
21
+ ];
22
+ },
19
23
  },
20
24
  },
21
25
  hooks: {
22
26
  async deploy() {
23
- const { meetings } = await this.zoom.listMeetings({
24
- page_size: 25,
25
- type: "previous_meetings",
27
+ const { meetings } = await this.app.listMeetings({
28
+ params: {
29
+ page_size: 25,
30
+ type: "previous_meetings",
31
+ },
26
32
  });
27
33
  if (!meetings || meetings.length === 0) {
28
34
  return;
@@ -44,7 +50,7 @@ export default {
44
50
  emitEvent(payload, object) {
45
51
  const meta = this.generateMeta(object);
46
52
  this.$emit({
47
- event: "meeting.started",
53
+ event: constants.CUSTOM_EVENT_TYPES.MEETING_STARTED,
48
54
  payload,
49
55
  }, meta);
50
56
  },
@@ -1,27 +1,33 @@
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-updated",
6
7
  name: "Meeting Updated (Instant)",
7
8
  description: "Emit new event each time a meeting is updated where you're the host",
8
- version: "0.0.4",
9
+ version: "0.1.1",
9
10
  type: "source",
10
- dedupe: "unique", // dedupe on the meeting ID + timestamp
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.updated",
18
- ],
17
+ appProp: "app",
18
+ eventNames() {
19
+ return [
20
+ constants.CUSTOM_EVENT_TYPES.MEETING_UPDATED,
21
+ ];
22
+ },
19
23
  },
20
24
  },
21
25
  hooks: {
22
26
  async deploy() {
23
- const { meetings } = await this.zoom.listMeetings({
24
- page_size: 25,
27
+ const { meetings } = await this.app.listMeetings({
28
+ params: {
29
+ page_size: 25,
30
+ },
25
31
  });
26
32
  if (!meetings || meetings.length === 0) {
27
33
  return;
@@ -40,7 +46,7 @@ export default {
40
46
  emitEvent(payload, object) {
41
47
  const meta = this.generateMeta(payload, object);
42
48
  this.$emit({
43
- event: "meeting.updated",
49
+ event: constants.CUSTOM_EVENT_TYPES.MEETING_UPDATED,
44
50
  payload,
45
51
  }, meta);
46
52
  },
@@ -1,29 +1,31 @@
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-phone-event",
6
7
  name: "Zoom Phone Events (Instant)",
7
- description: "Listen for any Zoom Phone events tied to your Zoom user or resources you own",
8
- version: "0.0.2",
8
+ description: "Emit new Zoom Phone event tied to your Zoom user or resources you own",
9
+ version: "0.1.1",
9
10
  type: "source",
10
11
  props: {
11
- zoom,
12
+ ...common.props,
12
13
  eventNameOptions: {
13
- label: "Zoom Events",
14
14
  type: "string[]",
15
- options: constants.PHONE_EVENT_TYPES,
15
+ label: "Zoom Events",
16
+ description: "Select the events you want to listen for",
17
+ options: Object.values(constants.PHONE_EVENT_TYPES),
16
18
  },
17
- zoomApphook: {
19
+ // eslint-disable-next-line pipedream/props-label, pipedream/props-description
20
+ apphook: {
18
21
  type: "$.interface.apphook",
19
- appProp: "zoom",
20
- async eventNames() {
22
+ appProp: "app",
23
+ eventNames() {
21
24
  return this.eventNameOptions;
22
25
  },
23
26
  },
24
27
  },
25
28
  async run(event) {
26
- console.log(event);
27
29
  this.$emit(event, {
28
30
  id: event.payload?.object?.id,
29
31
  summary: event.event,