diff --git a/components/zoom_admin/package.json b/components/zoom_admin/package.json index 738ee3499ae3e..430c56576cf9e 100644 --- a/components/zoom_admin/package.json +++ b/components/zoom_admin/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/zoom_admin", - "version": "0.11.0", + "version": "0.12.0", "description": "Pipedream Zoom_admin Components", "main": "zoom_admin.app.mjs", "keywords": [ diff --git a/components/zoom_admin/sources/account-created/account-created.mjs b/components/zoom_admin/sources/account-created/account-created.mjs index 3783a948c2320..d1e40298c83ad 100644 --- a/components/zoom_admin/sources/account-created/account-created.mjs +++ b/components/zoom_admin/sources/account-created/account-created.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Account Created", description: "Emits an event each time a sub-account is created in your master account", - version: "0.1.6", + version: "0.1.8", dedupe: "unique", // Dedupe based on account ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs b/components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs index 5a2c96f873539..86087619b0e82 100644 --- a/components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs +++ b/components/zoom_admin/sources/account-settings-updated/account-settings-updated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Account Settings Updated", description: "Emits an event each time your master account or sub-account settings are updated", - version: "0.1.6", + version: "0.1.7", props: { zoomAdmin, zoomApphook: { diff --git a/components/zoom_admin/sources/account-updated/account-updated.mjs b/components/zoom_admin/sources/account-updated/account-updated.mjs index a7ae444dc914a..bda4a5e26a882 100644 --- a/components/zoom_admin/sources/account-updated/account-updated.mjs +++ b/components/zoom_admin/sources/account-updated/account-updated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Account Updated", description: "Emits an event each time your master account or sub-account profile is updated", - version: "0.1.6", + version: "0.1.7", props: { zoomAdmin, zoomApphook: { diff --git a/components/zoom_admin/sources/custom-events/custom-events.mjs b/components/zoom_admin/sources/custom-events/custom-events.mjs index d7a319b2b4694..c0cd57e28af03 100644 --- a/components/zoom_admin/sources/custom-events/custom-events.mjs +++ b/components/zoom_admin/sources/custom-events/custom-events.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Custom Events", description: "Listen for any events tied to your Zoom account", - version: "0.1.6", + version: "0.1.7", props: { zoomAdmin, eventNameOptions: { diff --git a/components/zoom_admin/sources/meeting-created/meeting-created.mjs b/components/zoom_admin/sources/meeting-created/meeting-created.mjs index cadc895841e1b..3cf72473b6924 100644 --- a/components/zoom_admin/sources/meeting-created/meeting-created.mjs +++ b/components/zoom_admin/sources/meeting-created/meeting-created.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Meeting Created", description: "Emits an event each time a meeting is created in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on meeting ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs b/components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs index b64c329d44217..ba4e22c7b7ef4 100644 --- a/components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs +++ b/components/zoom_admin/sources/meeting-deleted/meeting-deleted.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Meeting Deleted", description: "Emits an event each time a meeting is deleted in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on meeting ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/meeting-ended/meeting-ended.mjs b/components/zoom_admin/sources/meeting-ended/meeting-ended.mjs index aeaf1f6f8dcb4..4882d27a59bb8 100644 --- a/components/zoom_admin/sources/meeting-ended/meeting-ended.mjs +++ b/components/zoom_admin/sources/meeting-ended/meeting-ended.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Meeting Ended", description: "Emits an event each time a meeting ends in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on meeting ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/meeting-started/meeting-started.mjs b/components/zoom_admin/sources/meeting-started/meeting-started.mjs index c7249cd23cc6b..58079e9f28635 100644 --- a/components/zoom_admin/sources/meeting-started/meeting-started.mjs +++ b/components/zoom_admin/sources/meeting-started/meeting-started.mjs @@ -6,7 +6,7 @@ export default { type: "source", name: "Meeting Started", description: "Emits an event each time a meeting starts in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on meeting ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/meeting-updated/meeting-updated.mjs b/components/zoom_admin/sources/meeting-updated/meeting-updated.mjs index d725d9bbbd3f1..44841ce16d824 100644 --- a/components/zoom_admin/sources/meeting-updated/meeting-updated.mjs +++ b/components/zoom_admin/sources/meeting-updated/meeting-updated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Meeting Updated", description: "Emits an event each time a meeting is updated in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // dedupe on the meeting ID + timestamp props: { zoomAdmin, diff --git a/components/zoom_admin/sources/new-recording-transcript-completed/new-recording-transcript-completed.mjs b/components/zoom_admin/sources/new-recording-transcript-completed/new-recording-transcript-completed.mjs index d4e817907892d..25c0e30b7adc5 100644 --- a/components/zoom_admin/sources/new-recording-transcript-completed/new-recording-transcript-completed.mjs +++ b/components/zoom_admin/sources/new-recording-transcript-completed/new-recording-transcript-completed.mjs @@ -4,7 +4,7 @@ export default { key: "zoom_admin-new-recording-transcript-completed", name: "New Recording Transcript Completed (Instant)", description: "Emit new event each time a recording transcript is completed", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", props: { diff --git a/components/zoom_admin/sources/recording-completed/recording-completed.mjs b/components/zoom_admin/sources/recording-completed/recording-completed.mjs index d23d85e36b152..a1994d08e8117 100644 --- a/components/zoom_admin/sources/recording-completed/recording-completed.mjs +++ b/components/zoom_admin/sources/recording-completed/recording-completed.mjs @@ -6,7 +6,7 @@ export default { type: "source", name: "Recording Completed", description: "Emits an event each time a recording is ready for viewing in your Zoom account", - version: "0.1.7", + version: "0.1.8", dedupe: "unique", // Dedupe events based on the ID of the recording file props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-activated/user-activated.mjs b/components/zoom_admin/sources/user-activated/user-activated.mjs index 4589d3ed082fb..b70fa87116965 100644 --- a/components/zoom_admin/sources/user-activated/user-activated.mjs +++ b/components/zoom_admin/sources/user-activated/user-activated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "New User Activated", description: "Emit new event each time a user is activated in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-created/user-created.mjs b/components/zoom_admin/sources/user-created/user-created.mjs index 76f8b1a508723..81dbe7f78fce0 100644 --- a/components/zoom_admin/sources/user-created/user-created.mjs +++ b/components/zoom_admin/sources/user-created/user-created.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "User Created", description: "Emits an event each time a user is created in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-deactivated/user-deactivated.mjs b/components/zoom_admin/sources/user-deactivated/user-deactivated.mjs index d13a64a590582..fb97222e03a8a 100644 --- a/components/zoom_admin/sources/user-deactivated/user-deactivated.mjs +++ b/components/zoom_admin/sources/user-deactivated/user-deactivated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "User Deactivated", description: "Emits an event each time a user is deactivated in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-deleted/user-deleted.mjs b/components/zoom_admin/sources/user-deleted/user-deleted.mjs index df926ca056f7f..86d5df0e5744c 100644 --- a/components/zoom_admin/sources/user-deleted/user-deleted.mjs +++ b/components/zoom_admin/sources/user-deleted/user-deleted.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "User Deleted", description: "Emits an event each time a user is deleted in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs b/components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs index 69ace1b515e16..d5e0709df4b12 100644 --- a/components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs +++ b/components/zoom_admin/sources/user-invitation-accepted/user-invitation-accepted.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "User Invitation Accepted", description: "Emits an event each time a user accepts an invite to your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/user-updated/user-updated.mjs b/components/zoom_admin/sources/user-updated/user-updated.mjs index 7b6886f4ad8bf..966165636e63b 100644 --- a/components/zoom_admin/sources/user-updated/user-updated.mjs +++ b/components/zoom_admin/sources/user-updated/user-updated.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "User Updated", description: "Emits an event each time a user's settings are updated in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on user ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs b/components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs index 195c8e7cadb49..d44944f7680b4 100644 --- a/components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs +++ b/components/zoom_admin/sources/webinar-changes-to-panelists/webinar-changes-to-panelists.mjs @@ -8,7 +8,7 @@ export default { type: "source", name: "Changes to Webinar Panelists", key: "zoom_admin-webinar-changes-to-panelists", - version: "0.1.6", + version: "0.1.7", description: "Emit new event every time a panelist is added or removed from a webinar, or any time their details change", dedupe: "unique", props: { diff --git a/components/zoom_admin/sources/webinar-created/webinar-created.mjs b/components/zoom_admin/sources/webinar-created/webinar-created.mjs index 327e520d086df..c46cf66cf7b5f 100644 --- a/components/zoom_admin/sources/webinar-created/webinar-created.mjs +++ b/components/zoom_admin/sources/webinar-created/webinar-created.mjs @@ -6,7 +6,7 @@ export default { name: "Webinar Created", description: "Emits an event each time a webinar is created in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on webinar ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs b/components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs index 06390446cd74f..12e4c1cb3461b 100644 --- a/components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs +++ b/components/zoom_admin/sources/webinar-deleted/webinar-deleted.mjs @@ -5,7 +5,7 @@ export default { name: "Webinar Deleted", description: "Emits an event each time a webinar is deleted in your Zoom account", - version: "0.1.6", + version: "0.1.7", type: "source", dedupe: "unique", // Dedupe based on webinar ID props: { diff --git a/components/zoom_admin/sources/webinar-ended/webinar-ended.mjs b/components/zoom_admin/sources/webinar-ended/webinar-ended.mjs index 715167b983652..bbf3fb123bf55 100644 --- a/components/zoom_admin/sources/webinar-ended/webinar-ended.mjs +++ b/components/zoom_admin/sources/webinar-ended/webinar-ended.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Webinar Ended", description: "Emits an event each time a webinar ends in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on webinar ID props: { zoomAdmin, @@ -16,20 +16,76 @@ export default { "webinar.ended", ], }, + webinar: { + type: "string", + label: "Webinar", + description: + "Select a specific webinar to monitor. For recurring webinars, all occurrences will trigger events. Leave empty to monitor all webinars.", + optional: true, + async options({ + page, + prevContext, + }) { + if (!prevContext.nextPageToken && page > 0) { + return []; + } + const { + webinars, + next_page_token: nextPageToken, + } = + await this.zoomAdmin.listWebinars(30, prevContext.nextPageToken); + + if (!webinars?.length) { + return []; + } + + return { + options: webinars.map((w) => ({ + label: w.topic, + value: w.id, + })), + context: { + nextPageToken, + }, + }; + }, + }, + }, + methods: { + isRelevant(object) { + if (!this.webinar) { + return true; + } + + if (object.id !== this.webinar) { + console.log(`Webinar ID ${object.id} does not match filter. Skipping.`); + return false; + } + + return true; + }, + emitEvent(payload, object) { + this.$emit( + { + event: "webinar.ended", + payload, + }, + { + summary: `Webinar ${object.topic} ended`, + id: object.uuid, + ts: +new Date(object.start_time), + }, + ); + }, }, async run(event) { const { payload } = event; const { object } = payload; - this.$emit( - { - event: "webinar.ended", - payload, - }, - { - summary: `Webinar ${object.topic} ended`, - id: object.uuid, - ts: +new Date(object.start_time), - }, - ); + + if (!this.isRelevant(object)) { + return; + } + + this.emitEvent(payload, object); }, }; diff --git a/components/zoom_admin/sources/webinar-started/webinar-started.mjs b/components/zoom_admin/sources/webinar-started/webinar-started.mjs index 07ac687a723db..21251e64e87d8 100644 --- a/components/zoom_admin/sources/webinar-started/webinar-started.mjs +++ b/components/zoom_admin/sources/webinar-started/webinar-started.mjs @@ -5,7 +5,7 @@ export default { type: "source", name: "Webinar Started", description: "Emits an event each time a webinar starts in your Zoom account", - version: "0.1.8", + version: "0.1.9", dedupe: "unique", // Dedupe based on webinar ID props: { zoomAdmin, diff --git a/components/zoom_admin/sources/webinar-updated/webinar-updated.mjs b/components/zoom_admin/sources/webinar-updated/webinar-updated.mjs index f208a8f2e39cb..b4d311e556ee3 100644 --- a/components/zoom_admin/sources/webinar-updated/webinar-updated.mjs +++ b/components/zoom_admin/sources/webinar-updated/webinar-updated.mjs @@ -6,7 +6,7 @@ export default { name: "Webinar Updated", description: "Emits an event each time a webinar is updated in your Zoom account", - version: "0.1.6", + version: "0.1.7", dedupe: "unique", // Dedupe based on webinar ID props: { zoomAdmin,