@pipedream/zoom 0.3.6 → 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.
- package/actions/add-meeting-registrant/add-meeting-registrant.mjs +157 -108
- package/actions/add-webinar-registrant/add-webinar-registrant.mjs +157 -108
- package/actions/get-webinar-details/get-webinar-details.mjs +36 -22
- package/actions/list-past-meeting-participants/list-past-meeting-participants.mjs +25 -23
- package/actions/list-webinar-participants-report/list-webinar-participants-report.mjs +68 -0
- package/common/constants.mjs +9 -0
- package/common/utils.mjs +20 -0
- package/package.json +3 -3
- package/sources/common/common.mjs +2 -2
- package/sources/common/constants.mjs +106 -104
- package/sources/custom-event/custom-event.mjs +13 -10
- package/sources/meeting-created/meeting-created.mjs +16 -10
- package/sources/meeting-deleted/meeting-deleted.mjs +13 -8
- package/sources/meeting-ended/meeting-ended.mjs +20 -12
- package/sources/meeting-started/meeting-started.mjs +17 -11
- package/sources/meeting-updated/meeting-updated.mjs +16 -10
- package/sources/phone-event/phone-event.mjs +12 -10
- package/sources/recording-completed/recording-completed.mjs +28 -19
- package/sources/webinar-created/webinar-created.mjs +16 -10
- package/sources/webinar-deleted/webinar-deleted.mjs +14 -9
- package/sources/webinar-ended/webinar-ended.mjs +19 -13
- package/sources/webinar-started/webinar-started.mjs +16 -10
- package/sources/webinar-updated/webinar-updated.mjs +16 -10
- package/zoom.app.mjs +238 -42
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
|
|
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.
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
app,
|
|
11
|
+
meetingId: {
|
|
12
|
+
propDefinition: [
|
|
13
|
+
app,
|
|
14
|
+
"meetingId",
|
|
15
|
+
],
|
|
14
16
|
},
|
|
15
|
-
|
|
16
|
-
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
};
|
|
28
|
+
async run({ $: step }) {
|
|
29
|
+
const { participants } = await this.listPastMeetingParticipants({
|
|
30
|
+
step,
|
|
31
|
+
meetingId: this.meetingId,
|
|
32
|
+
});
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
step.export("$summary", `Successfully retrieved ${participants.length} past meeting participants`);
|
|
28
35
|
|
|
29
|
-
return
|
|
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
|
+
};
|
package/common/utils.mjs
ADDED
|
@@ -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,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pipedream/zoom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Pipedream Zoom Components",
|
|
5
|
-
"main": "zoom.app.
|
|
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.
|
|
17
|
+
"@pipedream/platform": "^1.3.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -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
|
|
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: "
|
|
8
|
-
version: "0.0
|
|
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
|
-
|
|
13
|
+
...common.props,
|
|
12
14
|
eventNameOptions: {
|
|
13
|
-
label: "Zoom Events",
|
|
14
15
|
type: "string[]",
|
|
15
|
-
|
|
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
|
-
|
|
20
|
+
// eslint-disable-next-line pipedream/props-label, pipedream/props-description
|
|
21
|
+
apphook: {
|
|
18
22
|
type: "$.interface.apphook",
|
|
19
|
-
appProp: "
|
|
20
|
-
|
|
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
|
|
9
|
+
version: "0.1.0",
|
|
9
10
|
type: "source",
|
|
10
|
-
dedupe: "unique",
|
|
11
|
+
dedupe: "unique",
|
|
11
12
|
props: {
|
|
12
13
|
...common.props,
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line pipedream/props-label, pipedream/props-description
|
|
15
|
+
apphook: {
|
|
14
16
|
type: "$.interface.apphook",
|
|
15
|
-
appProp: "
|
|
16
|
-
eventNames
|
|
17
|
-
|
|
18
|
-
|
|
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.
|
|
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
|
|
9
|
+
version: "0.1.0",
|
|
9
10
|
type: "source",
|
|
10
|
-
dedupe: "unique",
|
|
11
|
+
dedupe: "unique",
|
|
11
12
|
props: {
|
|
12
13
|
...common.props,
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line pipedream/props-label, pipedream/props-description
|
|
15
|
+
apphook: {
|
|
14
16
|
type: "$.interface.apphook",
|
|
15
|
-
appProp: "
|
|
16
|
-
eventNames
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
9
|
+
version: "0.1.0",
|
|
9
10
|
type: "source",
|
|
10
|
-
dedupe: "unique",
|
|
11
|
+
dedupe: "unique",
|
|
11
12
|
props: {
|
|
12
13
|
...common.props,
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line pipedream/props-label, pipedream/props-description
|
|
15
|
+
apphook: {
|
|
14
16
|
type: "$.interface.apphook",
|
|
15
|
-
appProp: "
|
|
16
|
-
eventNames
|
|
17
|
-
|
|
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.
|
|
24
|
-
|
|
25
|
-
|
|
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.
|
|
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:
|
|
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
|
|
9
|
+
version: "0.1.0",
|
|
9
10
|
type: "source",
|
|
10
|
-
dedupe: "unique",
|
|
11
|
+
dedupe: "unique",
|
|
11
12
|
props: {
|
|
12
13
|
...common.props,
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line pipedream/props-label, pipedream/props-description
|
|
15
|
+
apphook: {
|
|
14
16
|
type: "$.interface.apphook",
|
|
15
|
-
appProp: "
|
|
16
|
-
eventNames
|
|
17
|
-
|
|
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.
|
|
24
|
-
|
|
25
|
-
|
|
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:
|
|
53
|
+
event: constants.CUSTOM_EVENT_TYPES.MEETING_STARTED,
|
|
48
54
|
payload,
|
|
49
55
|
}, meta);
|
|
50
56
|
},
|