Skip to content
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_Xzi12a
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-get-meeting-details",
name: "Get Meeting Details",
description: "Retrieves the details of a meeting.",
version: "0.3.5",
version: "0.3.6",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -13,15 +14,15 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
meeting_id: {

Check warning on line 21 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop meeting_id must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "integer",
description: "The meeting ID.",
},
occurrence_id: {

Check warning on line 25 in components/zoom/actions/get-meeting-details/get-meeting-details.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop occurrence_id must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "string",
description: "Meeting occurrence ID.",
optional: true,
Expand All @@ -30,7 +31,7 @@
async run({ $ }) {
//See the API docs here: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting
const config = {
url: `https://api.zoom.us/v2/meetings/${this.meeting_id}`,
url: `https://api.zoom.us/v2/meetings/${utils.doubleEncode(this.meeting_id)}`,
params: {
occurrence_id: this.occurrence_id,
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_67iQp1
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-list-past-webinar-qa",
name: "List Past Webinar Q&A",
description: "The feature for Webinars allows attendees to ask questions during the Webinar and for the panelists, co-hosts and host to answer their questions. Use this API to list Q&A of a specific Webinar.",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -13,7 +14,7 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/list-past-webinar-qa/list-past-webinar-qa.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/list-past-webinar-qa/list-past-webinar-qa.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
Expand All @@ -25,7 +26,7 @@
},
async run({ $ }) {
const config = {
url: `https://api.zoom.us/v2/past_webinars/${this.webinarID}/qa`,
url: `https://api.zoom.us/v2/past_webinars/${utils.doubleEncode(this.webinarID)}/qa`,
headers: {
Authorization: `Bearer ${this.zoom.$auth.oauth_access_token}`,
},
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/actions/update-meeting/update-meeting.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_52iXNQ
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-update-meeting",
name: "Update Meeting",
description: "Updates an existing Zoom meeting",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand All @@ -13,7 +14,7 @@
},
type: "action",
props: {
zoom: {

Check warning on line 17 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a description. See https://pipedream.com/docs/components/guidelines/#props

Check warning on line 17 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop zoom must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "app",
app: "zoom",
},
Expand All @@ -22,12 +23,12 @@
label: "Meeting ID",
description: "The Zoom Meeting ID of the meeting you'd like to update.",
},
topic: {

Check warning on line 26 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop topic must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "string",
description: "Meeting topic",
optional: true,
},
type: {

Check warning on line 31 in components/zoom/actions/update-meeting/update-meeting.mjs

View workflow job for this annotation

GitHub Actions / Lint Code Base

Component prop type must have a label. See https://pipedream.com/docs/components/guidelines/#props
type: "integer",
description: "Meeting type:\n1 - Instant meeting.\n2 - Scheduled meeting.\n3 - Recurring meeting with no fixed time.\n8 - Recurring meeting with fixed time.",
optional: true,
Expand Down Expand Up @@ -77,7 +78,7 @@
// API docs: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingupdate
const config = {
method: "PATCH",
url: `https://api.zoom.us/v2/meetings/${this.meetingId}`,
url: `https://api.zoom.us/v2/meetings/${utils.doubleEncode(this.meetingId)}`,
data: {
topic: this.topic,
type: this.type,
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/actions/update-webinar/update-webinar.mjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// legacy_hash_id: a_Q3irlY
import { axios } from "@pipedream/platform";
import utils from "../../common/utils.mjs";

export default {
key: "zoom-update-webinar",
name: "Update Webinar",
description: "Update a webinar's topic, start time, or other settings",
version: "0.1.5",
version: "0.1.6",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -77,7 +78,7 @@ export default {
// API docs: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingupdate
const config = {
method: "PATCH",
url: `https://api.zoom.us/v2/webinars/${this.webinarID}`,
url: `https://api.zoom.us/v2/webinars/${utils.doubleEncode(this.webinarID)}`,
data: {
topic: this.topic,
type: this.type,
Expand Down
8 changes: 8 additions & 0 deletions components/zoom/common/utils.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,15 @@ function summaryEnd(count, singular, plural) {
return `${count} ${noun}`;
}

function doubleEncode(value) {
if (value.startsWith("/") || value.includes("//")) {
return encodeURIComponent(encodeURIComponent(value));
}
return value;
}

export default {
streamIterator,
summaryEnd,
doubleEncode,
};
2 changes: 1 addition & 1 deletion components/zoom/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipedream/zoom",
"version": "0.7.0",
"version": "0.7.1",
"description": "Pipedream Zoom Components",
"main": "zoom.app.mjs",
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion components/zoom/sources/meeting-ended/meeting-ended.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "zoom-meeting-ended",
name: "Meeting Ended (Instant)",
description: "Emit new event each time a meeting ends where you're the host",
version: "0.1.3",
version: "0.1.4",
type: "source",
dedupe: "unique",
props: {
Expand Down
5 changes: 3 additions & 2 deletions components/zoom/zoom.app.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { axios } from "@pipedream/platform";
import constants from "./common/constants.mjs";
import utils from "./common/utils.mjs";

export default {
type: "app",
Expand Down Expand Up @@ -31,7 +32,7 @@ export default {
},
},
meetingId: {
type: "integer",
type: "string",
label: "Meeting ID",
description: "The meeting ID to get details for.",
async options({ prevContext }) {
Expand Down Expand Up @@ -246,7 +247,7 @@ export default {
meetingId, ...args
} = {}) {
return this._makeRequest({
path: `/past_meetings/${meetingId}`,
path: `/past_meetings/${utils.doubleEncode(meetingId)}`,
...args,
});
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import isArray from "lodash/isArray.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Add meeting registrant",
description: "Register a participant for a meeting. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantcreate)",
key: "zoom_admin-add-meeting-registrant",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -59,7 +60,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "POST",
path: `/meetings/${get(this.meeting, "value", this.meeting)}/registrants`,
path: `/meetings/${doubleEncode(get(this.meeting, "value", this.meeting))}/registrants`,
params: {
occurrence_ids: isArray(this.occurrence)
? this.occurrence.map((occurrence) => get(occurrence, "value", occurrence)).join(",")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Add webinar panelist",
description: "Register a panelist for a webinar. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarpanelistcreate)",
key: "zoom_admin-add-webinar-panelist",
version: "0.1.8",
version: "0.1.9",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -35,7 +36,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "POST",
path: `/webinars/${get(this.webinar, "value", this.webinar)}/panelists`,
path: `/webinars/${doubleEncode(get(this.webinar, "value", this.webinar))}/panelists`,
data: {
panelists: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import isArray from "lodash/isArray.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Add webinar registrant",
description: "Register a participant for a webinar. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrantcreate)",
key: "zoom_admin-add-webinar-registrant",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -53,7 +54,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "POST",
path: `/webinars/${get(this.webinar, "value", this.webinar)}/registrants`,
path: `/webinars/${doubleEncode(get(this.webinar, "value", this.webinar))}/registrants`,
params: {
occurrence_ids: isArray(this.occurrence)
? this.occurrence.map((occurrence) => get(occurrence, "value", occurrence)).join(",")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { axios } from "@pipedream/platform";
import isObject from "lodash/isObject.js";
import consts from "../../consts.mjs";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Delete Cloud Recording",
description: "Remove a recording from a meeting or webinar. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingdeleteone)",
key: "zoom_admin-delete-cloud-recording",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -37,7 +38,7 @@ export default {

const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "DELETE",
path: `/meetings/${cloudRecording.value.meetingId}/recordings/${cloudRecording.value.id}`,
path: `/meetings/${doubleEncode(cloudRecording.value.meetingId)}/recordings/${cloudRecording.value.id}`,
params: {
action: this.action,
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Delete meeting",
description: "Delete a meeting. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingdelete)",
key: "zoom_admin-delete-meeting",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -47,7 +48,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "DELETE",
path: `/meetings/${get(this.meeting, "value", this.meeting)}`,
path: `/meetings/${doubleEncode(get(this.meeting, "value", this.meeting))}`,
params: {
occurrence_id: get(this.occurrence, "value", this.occurrence),
schedule_for_reminder: this.scheduleForReminder,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Delete webinar panelist",
description: "Remove a panelist from a webinar. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarpanelistdelete)",
key: "zoom_admin-delete-webinar-panelist",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -34,7 +35,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "DELETE",
path: `/webinars/${get(this.webinar, "value", this.webinar)}/panelists/${get(this.panelist, "value", this.panelist)}`,
path: `/webinars/${doubleEncode(get(this.webinar, "value", this.webinar))}/panelists/${get(this.panelist, "value", this.panelist)}`,
}));

$.export("$summary", `"${get(this.panelist, "label", this.panelist)}" was successfully removed as a panelist of "${get(this.webinar, "label", this.webinar)}" webinar.`);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Delete webinar",
description: "Delete a webinar. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinardelete)",
key: "zoom_admin-delete-webinar",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down Expand Up @@ -42,7 +43,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "DELETE",
path: `/webinars/${get(this.webinar, "value", this.webinar)}`,
path: `/webinars/${doubleEncode(get(this.webinar, "value", this.webinar))}`,
params: {
occurrence_id: get(this.occurrence, "value", this.occurrence),
cancel_meeting_reminder: this.cancelMeetingReminder,
Expand Down
5 changes: 3 additions & 2 deletions components/zoom_admin/actions/end-meeting/end-meeting.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "End meeting",
description: "End a meeting for a user. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingstatus)",
key: "zoom_admin-end-meeting",
version: "0.1.7",
version: "0.1.8",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand All @@ -25,7 +26,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "PUT",
path: `/meetings/${get(this.meeting, "value", this.meeting)}/status`,
path: `/meetings/${doubleEncode(get(this.meeting, "value", this.meeting))}/status`,
data: {
action: "end",
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
description:
"Get all recordings of a meeting. [See the documentation](https://developers.zoom.us/docs/api/meetings/#tag/cloud-recording/GET/meetings/{meetingId}/recordings)",
key: "zoom_admin-get-meeting-recordings",
version: "0.0.3",
version: "0.0.4",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
5 changes: 3 additions & 2 deletions components/zoom_admin/actions/get-meeting/get-meeting.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { axios } from "@pipedream/platform";
import get from "lodash/get.js";
import { doubleEncode } from "../../utils.mjs";
import zoomAdmin from "../../zoom_admin.app.mjs";

export default {
name: "Get Meeting",
description: "Retrieve the details of a meeting. [See the documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting)",
key: "zoom_admin-get-meeting",
version: "0.1.8",
version: "0.1.9",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -40,7 +41,7 @@ export default {
async run ({ $ }) {
const res = await axios($, this.zoomAdmin._getAxiosParams({
method: "GET",
path: `/meetings/${get(this.meeting, "value", this.meeting)}`,
path: `/meetings/${doubleEncode(get(this.meeting, "value", this.meeting))}`,
params: {
occurrence_id: get(this.occurrence, "value", this.occurrence),
show_previous_occurrences: this.showPreviousOccurrences,
Expand Down
Loading
Loading