@activepieces/piece-savvycal 0.0.2 → 0.1.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 (83) hide show
  1. package/package.json +5 -5
  2. package/src/i18n/de.json +73 -94
  3. package/src/i18n/es.json +73 -94
  4. package/src/i18n/fr.json +81 -75
  5. package/src/i18n/ja.json +73 -94
  6. package/src/i18n/nl.json +72 -93
  7. package/src/i18n/pt.json +73 -94
  8. package/src/i18n/ru.json +74 -0
  9. package/src/i18n/translation.json +45 -13
  10. package/src/i18n/vi.json +74 -0
  11. package/src/i18n/zh.json +40 -61
  12. package/src/index.d.ts +3 -2
  13. package/src/index.js +27 -36
  14. package/src/index.js.map +1 -1
  15. package/src/lib/actions/cancel-event.d.ts +3 -1
  16. package/src/lib/actions/cancel-event.js +3 -3
  17. package/src/lib/actions/cancel-event.js.map +1 -1
  18. package/src/lib/actions/create-event.d.ts +10 -2
  19. package/src/lib/actions/create-event.js +32 -17
  20. package/src/lib/actions/create-event.js.map +1 -1
  21. package/src/lib/actions/delete-scheduling-link.d.ts +10 -0
  22. package/src/lib/actions/delete-scheduling-link.js +67 -0
  23. package/src/lib/actions/delete-scheduling-link.js.map +1 -0
  24. package/src/lib/actions/duplicate-scheduling-link.d.ts +10 -0
  25. package/src/lib/actions/duplicate-scheduling-link.js +63 -0
  26. package/src/lib/actions/duplicate-scheduling-link.js.map +1 -0
  27. package/src/lib/actions/find-events-by-email.d.ts +3 -1
  28. package/src/lib/actions/find-events-by-email.js +3 -3
  29. package/src/lib/actions/find-events-by-email.js.map +1 -1
  30. package/src/lib/actions/get-current-user.d.ts +3 -1
  31. package/src/lib/actions/get-current-user.js +3 -3
  32. package/src/lib/actions/get-current-user.js.map +1 -1
  33. package/src/lib/actions/get-event.d.ts +3 -1
  34. package/src/lib/actions/get-event.js +3 -3
  35. package/src/lib/actions/get-event.js.map +1 -1
  36. package/src/lib/actions/get-link-slots.d.ts +10 -0
  37. package/src/lib/actions/get-link-slots.js +70 -0
  38. package/src/lib/actions/get-link-slots.js.map +1 -0
  39. package/src/lib/actions/get-scheduling-link.d.ts +10 -0
  40. package/src/lib/actions/get-scheduling-link.js +63 -0
  41. package/src/lib/actions/get-scheduling-link.js.map +1 -0
  42. package/src/lib/actions/get-workflow-rules.d.ts +7 -0
  43. package/src/lib/actions/get-workflow-rules.js +50 -0
  44. package/src/lib/actions/get-workflow-rules.js.map +1 -0
  45. package/src/lib/actions/list-events.d.ts +10 -3
  46. package/src/lib/actions/list-events.js +70 -24
  47. package/src/lib/actions/list-events.js.map +1 -1
  48. package/src/lib/actions/list-scheduling-links.d.ts +7 -1
  49. package/src/lib/actions/list-scheduling-links.js +30 -17
  50. package/src/lib/actions/list-scheduling-links.js.map +1 -1
  51. package/src/lib/actions/list-workflows.d.ts +3 -0
  52. package/src/lib/actions/list-workflows.js +35 -0
  53. package/src/lib/actions/list-workflows.js.map +1 -0
  54. package/src/lib/actions/toggle-scheduling-link.d.ts +10 -0
  55. package/src/lib/actions/toggle-scheduling-link.js +63 -0
  56. package/src/lib/actions/toggle-scheduling-link.js.map +1 -0
  57. package/src/lib/auth.d.ts +14 -0
  58. package/src/lib/auth.js +59 -0
  59. package/src/lib/auth.js.map +1 -0
  60. package/src/lib/common/index.d.ts +13 -0
  61. package/src/lib/common/index.js +98 -29
  62. package/src/lib/common/index.js.map +1 -1
  63. package/src/lib/triggers/new-event.d.ts +36 -4
  64. package/src/lib/triggers/new-event.js +85 -18
  65. package/src/lib/triggers/new-event.js.map +1 -1
  66. package/src/lib/triggers/new-poll-response.d.ts +18 -0
  67. package/src/lib/triggers/new-poll-response.js +81 -0
  68. package/src/lib/triggers/new-poll-response.js.map +1 -0
  69. package/src/lib/triggers/workflow-action-triggered.d.ts +10 -0
  70. package/src/lib/triggers/workflow-action-triggered.js +65 -0
  71. package/src/lib/triggers/workflow-action-triggered.js.map +1 -0
  72. package/src/lib/common/webhook-trigger-factory.d.ts +0 -7
  73. package/src/lib/common/webhook-trigger-factory.js +0 -96
  74. package/src/lib/common/webhook-trigger-factory.js.map +0 -1
  75. package/src/lib/triggers/booking-canceled.d.ts +0 -1
  76. package/src/lib/triggers/booking-canceled.js +0 -11
  77. package/src/lib/triggers/booking-canceled.js.map +0 -1
  78. package/src/lib/triggers/booking-rescheduled.d.ts +0 -1
  79. package/src/lib/triggers/booking-rescheduled.js +0 -11
  80. package/src/lib/triggers/booking-rescheduled.js.map +0 -1
  81. package/src/lib/triggers/new-booking.d.ts +0 -1
  82. package/src/lib/triggers/new-booking.js +0 -11
  83. package/src/lib/triggers/new-booking.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newPollResponseTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../auth");
9
+ const POLL_RESPONSE_TYPES = [
10
+ { label: 'Poll Response Created', value: 'poll.response.created' },
11
+ { label: 'Poll Response Updated', value: 'poll.response.updated' },
12
+ ];
13
+ const SAMPLE_DATA = {
14
+ event_type: 'poll.response.created',
15
+ id: 'pr_abc123',
16
+ respondent_email: 'jane@example.com',
17
+ };
18
+ exports.newPollResponseTrigger = (0, pieces_framework_1.createTrigger)({
19
+ auth: auth_1.savvyCalAuth,
20
+ name: 'new_poll_response',
21
+ displayName: 'New Poll Response',
22
+ description: 'Triggers when a poll response is created or updated in SavvyCal.',
23
+ props: {
24
+ event_types: pieces_framework_1.Property.StaticMultiSelectDropdown({
25
+ displayName: 'Poll Response Types',
26
+ description: 'Select which poll response types to trigger on. Leave empty to trigger on all poll response types.',
27
+ required: false,
28
+ options: { options: POLL_RESPONSE_TYPES },
29
+ }),
30
+ },
31
+ sampleData: SAMPLE_DATA,
32
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
33
+ onEnable(context) {
34
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ const response = yield (0, common_1.savvyCalApiCall)({
36
+ token: (0, auth_1.getToken)(context.auth),
37
+ method: pieces_common_1.HttpMethod.POST,
38
+ path: '/webhooks',
39
+ body: { url: context.webhookUrl },
40
+ });
41
+ yield context.store.put('webhookId', response.body.id);
42
+ yield context.store.put('webhookSecret', response.body.secret);
43
+ });
44
+ },
45
+ onDisable(context) {
46
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
+ const webhookId = yield context.store.get('webhookId');
48
+ if (webhookId) {
49
+ yield (0, common_1.savvyCalApiCall)({
50
+ token: (0, auth_1.getToken)(context.auth),
51
+ method: pieces_common_1.HttpMethod.DELETE,
52
+ path: `/webhooks/${webhookId}`,
53
+ });
54
+ }
55
+ });
56
+ },
57
+ run(context) {
58
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
+ const secret = yield context.store.get('webhookSecret');
60
+ const signature = context.payload.headers['x-savvycal-signature'];
61
+ if (secret && (!signature || !(0, common_1.verifyWebhookSignature)(secret, signature, context.payload.rawBody))) {
62
+ return [];
63
+ }
64
+ const body = context.payload.body;
65
+ if (!(body === null || body === void 0 ? void 0 : body.payload))
66
+ return [];
67
+ if (!POLL_RESPONSE_TYPES.some((t) => t.value === body.type))
68
+ return [];
69
+ const selectedTypes = context.propsValue.event_types;
70
+ if (selectedTypes && selectedTypes.length > 0 && !selectedTypes.includes(body.type))
71
+ return [];
72
+ return [Object.assign({ event_type: body.type }, body.payload)];
73
+ });
74
+ },
75
+ test(_context) {
76
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
+ return [SAMPLE_DATA];
78
+ });
79
+ },
80
+ });
81
+ //# sourceMappingURL=new-poll-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-poll-response.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-poll-response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const workflowActionTriggeredTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
3
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
4
+ }>)[], {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>)[], {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
7
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
8
+ }>)[], {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
9
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
10
+ }>)[], {}>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workflowActionTriggeredTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const auth_1 = require("../auth");
9
+ const SAMPLE_DATA = {
10
+ event_type: 'workflow.action.triggered',
11
+ id: 'wf_abc123',
12
+ action: 'send_email',
13
+ };
14
+ exports.workflowActionTriggeredTrigger = (0, pieces_framework_1.createTrigger)({
15
+ auth: auth_1.savvyCalAuth,
16
+ name: 'workflow_action_triggered',
17
+ displayName: 'Workflow Action Triggered',
18
+ description: 'Triggers when a workflow action is triggered in SavvyCal.',
19
+ props: {},
20
+ sampleData: SAMPLE_DATA,
21
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
22
+ onEnable(context) {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ const response = yield (0, common_1.savvyCalApiCall)({
25
+ token: (0, auth_1.getToken)(context.auth),
26
+ method: pieces_common_1.HttpMethod.POST,
27
+ path: '/webhooks',
28
+ body: { url: context.webhookUrl },
29
+ });
30
+ yield context.store.put('webhookId', response.body.id);
31
+ yield context.store.put('webhookSecret', response.body.secret);
32
+ });
33
+ },
34
+ onDisable(context) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ const webhookId = yield context.store.get('webhookId');
37
+ if (webhookId) {
38
+ yield (0, common_1.savvyCalApiCall)({
39
+ token: (0, auth_1.getToken)(context.auth),
40
+ method: pieces_common_1.HttpMethod.DELETE,
41
+ path: `/webhooks/${webhookId}`,
42
+ });
43
+ }
44
+ });
45
+ },
46
+ run(context) {
47
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
+ const secret = yield context.store.get('webhookSecret');
49
+ const signature = context.payload.headers['x-savvycal-signature'];
50
+ if (secret && (!signature || !(0, common_1.verifyWebhookSignature)(secret, signature, context.payload.rawBody))) {
51
+ return [];
52
+ }
53
+ const body = context.payload.body;
54
+ if (!(body === null || body === void 0 ? void 0 : body.payload) || body.type !== 'workflow.action.triggered')
55
+ return [];
56
+ return [Object.assign({ event_type: body.type }, body.payload)];
57
+ });
58
+ },
59
+ test(_context) {
60
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
+ return [SAMPLE_DATA];
62
+ });
63
+ },
64
+ });
65
+ //# sourceMappingURL=workflow-action-triggered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-action-triggered.js","sourceRoot":"","sources":["../../../../src/lib/triggers/workflow-action-triggered.ts"],"names":[],"mappings":";;;;AAAA,qEAAgF;AAChF,+DAAyD;AACzD,sCAAoE;AACpE,kCAAiD;AAEjD,MAAM,WAAW,GAAG;IAClB,UAAU,EAAE,2BAA2B;IACvC,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,YAAY;CACrB,CAAC;AAEW,QAAA,8BAA8B,GAAG,IAAA,gCAAa,EAAC;IAC1D,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,2BAA2B;IACxC,WAAW,EAAE,2DAA2D;IACxE,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,WAAW;IACvB,IAAI,EAAE,kCAAe,CAAC,OAAO;IAEvB,QAAQ,CAAC,OAAO;;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAiC;gBACrE,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;aAClC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,SAAS,CAAC,OAAO;;YACrB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC;YAC/D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAA,wBAAe,EAAC;oBACpB,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;oBAC7B,MAAM,EAAE,0BAAU,CAAC,MAAM;oBACzB,IAAI,EAAE,aAAa,SAAS,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAEK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAS,eAAe,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAuB,CAAC;YACxF,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAA,+BAAsB,EAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAClG,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAA0D,CAAC;YACxF,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,IAAI,IAAI,CAAC,IAAI,KAAK,2BAA2B;gBAAE,OAAO,EAAE,CAAC;YAE3E,OAAO,iBAAG,UAAU,EAAE,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,OAAO,EAAG,CAAC;QACtD,CAAC;KAAA;IAEK,IAAI,CAAC,QAAQ;;YACjB,OAAO,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare function createEventTrigger({ name, displayName, description, eventType, }: {
3
- name: string;
4
- displayName: string;
5
- description: string;
6
- eventType: string;
7
- }): import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEventTrigger = createEventTrigger;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const _1 = require(".");
8
- const __1 = require("../../");
9
- const SAMPLE_EVENT = {
10
- id: 'evt_abc123',
11
- summary: '30 Minute Meeting with Jane Doe',
12
- description: null,
13
- state: 'confirmed',
14
- start_at: '2024-06-01T10:00:00Z',
15
- end_at: '2024-06-01T10:30:00Z',
16
- duration_minutes: 30,
17
- url: 'https://savvycal.com/events/evt_abc123',
18
- location: null,
19
- is_group_session: false,
20
- created_at: '2024-05-20T08:00:00Z',
21
- canceled_at: null,
22
- cancel_reason: null,
23
- rescheduled_at: null,
24
- reschedule_reason: null,
25
- original_start_at: null,
26
- original_end_at: null,
27
- scheduling_link_id: 'lnk_xyz789',
28
- scheduling_link_name: '30-Minute Meeting',
29
- scheduling_link_slug: '30min',
30
- attendee_display_name: 'Jane Doe',
31
- attendee_first_name: 'Jane',
32
- attendee_last_name: 'Doe',
33
- attendee_email: 'jane@example.com',
34
- attendee_phone: null,
35
- attendee_time_zone: 'America/Chicago',
36
- conferencing_type: 'zoom',
37
- conferencing_join_url: 'https://zoom.us/j/123456789',
38
- conferencing_meeting_id: '123456789',
39
- payment_state: null,
40
- payment_amount_total_cents: null,
41
- };
42
- function createEventTrigger({ name, displayName, description, eventType, }) {
43
- return (0, pieces_framework_1.createTrigger)({
44
- auth: __1.savvyCalAuth,
45
- name,
46
- displayName,
47
- description,
48
- props: {},
49
- sampleData: Object.assign({ event_type: eventType }, SAMPLE_EVENT),
50
- type: pieces_framework_1.TriggerStrategy.WEBHOOK,
51
- onEnable(context) {
52
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- const response = yield (0, _1.savvyCalApiCall)({
54
- token: context.auth.secret_text,
55
- method: pieces_common_1.HttpMethod.POST,
56
- path: '/webhooks',
57
- body: { url: context.webhookUrl },
58
- });
59
- yield context.store.put('webhookId', response.body.id);
60
- yield context.store.put('webhookSecret', response.body.secret);
61
- });
62
- },
63
- onDisable(context) {
64
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
- const webhookId = yield context.store.get('webhookId');
66
- if (webhookId) {
67
- yield (0, _1.savvyCalApiCall)({
68
- token: context.auth.secret_text,
69
- method: pieces_common_1.HttpMethod.DELETE,
70
- path: `/webhooks/${webhookId}`,
71
- });
72
- }
73
- });
74
- },
75
- run(context) {
76
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
- const body = context.payload.body;
78
- if ((body === null || body === void 0 ? void 0 : body.type) !== eventType || !(body === null || body === void 0 ? void 0 : body.payload))
79
- return [];
80
- return [Object.assign({ event_type: body.type }, (0, _1.flattenEvent)(body.payload))];
81
- });
82
- },
83
- test(context) {
84
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
85
- const response = yield (0, _1.savvyCalApiCall)({
86
- token: context.auth.secret_text,
87
- method: pieces_common_1.HttpMethod.GET,
88
- path: '/events',
89
- queryParams: { limit: '5' },
90
- });
91
- return response.body.entries.map((e) => (Object.assign({ event_type: eventType }, (0, _1.flattenEvent)(e))));
92
- });
93
- },
94
- });
95
- }
96
- //# sourceMappingURL=webhook-trigger-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook-trigger-factory.js","sourceRoot":"","sources":["../../../../src/lib/common/webhook-trigger-factory.ts"],"names":[],"mappings":";;AAuCA,gDA0DC;;AAjGD,qEAAgF;AAChF,+DAAyD;AACzD,wBAAiE;AACjE,8BAAsC;AAEtC,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,YAAY;IAChB,OAAO,EAAE,iCAAiC;IAC1C,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,sBAAsB;IAC9B,gBAAgB,EAAE,EAAE;IACpB,GAAG,EAAE,wCAAwC;IAC7C,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,sBAAsB;IAClC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,YAAY;IAChC,oBAAoB,EAAE,mBAAmB;IACzC,oBAAoB,EAAE,OAAO;IAC7B,qBAAqB,EAAE,UAAU;IACjC,mBAAmB,EAAE,MAAM;IAC3B,kBAAkB,EAAE,KAAK;IACzB,cAAc,EAAE,kBAAkB;IAClC,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,iBAAiB;IACrC,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,6BAA6B;IACpD,uBAAuB,EAAE,WAAW;IACpC,aAAa,EAAE,IAAI;IACnB,0BAA0B,EAAE,IAAI;CACjC,CAAC;AAEF,SAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,WAAW,EACX,WAAW,EACX,SAAS,GAMV;IACC,OAAO,IAAA,gCAAa,EAAC;QACnB,IAAI,EAAE,gBAAY;QAClB,IAAI;QACJ,WAAW;QACX,WAAW;QACX,KAAK,EAAE,EAAE;QACT,UAAU,kBAAI,UAAU,EAAE,SAAS,IAAK,YAAY,CAAE;QACtD,IAAI,EAAE,kCAAe,CAAC,OAAO;QAEvB,QAAQ,CAAC,OAAO;;gBACpB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAe,EAAiC;oBACrE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;oBAC/B,MAAM,EAAE,0BAAU,CAAC,IAAI;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;iBAClC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvD,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;SAAA;QAEK,SAAS,CAAC,OAAO;;gBACrB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC;gBAC/D,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAA,kBAAe,EAAC;wBACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;wBAC/B,MAAM,EAAE,0BAAU,CAAC,MAAM;wBACzB,IAAI,EAAE,aAAa,SAAS,EAAE;qBAC/B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SAAA;QAEK,GAAG,CAAC,OAAO;;gBACf,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAgD,CAAC;gBAC9E,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;oBAAE,OAAO,EAAE,CAAC;gBAC1D,OAAO,iBAAG,UAAU,EAAE,IAAI,CAAC,IAAI,IAAK,IAAA,eAAY,EAAC,IAAI,CAAC,OAAO,CAAC,EAAG,CAAC;YACpE,CAAC;SAAA;QAEK,IAAI,CAAC,OAAO;;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAe,EAA+B;oBACnE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;oBAC/B,MAAM,EAAE,0BAAU,CAAC,GAAG;oBACtB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;iBAC5B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAG,UAAU,EAAE,SAAS,IAAK,IAAA,eAAY,EAAC,CAAC,CAAC,EAAG,CAAC,CAAC;YAC3F,CAAC;SAAA;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- export declare const bookingCanceledTrigger: import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bookingCanceledTrigger = void 0;
4
- const webhook_trigger_factory_1 = require("../common/webhook-trigger-factory");
5
- exports.bookingCanceledTrigger = (0, webhook_trigger_factory_1.createEventTrigger)({
6
- name: 'booking_canceled',
7
- displayName: 'Booking Canceled',
8
- description: 'Triggers when a scheduled meeting is canceled.',
9
- eventType: 'event.canceled',
10
- });
11
- //# sourceMappingURL=booking-canceled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"booking-canceled.js","sourceRoot":"","sources":["../../../../src/lib/triggers/booking-canceled.ts"],"names":[],"mappings":";;;AAAA,+EAAuE;AAE1D,QAAA,sBAAsB,GAAG,IAAA,4CAAkB,EAAC;IACvD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,gDAAgD;IAC7D,SAAS,EAAE,gBAAgB;CAC5B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare const bookingRescheduledTrigger: import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bookingRescheduledTrigger = void 0;
4
- const webhook_trigger_factory_1 = require("../common/webhook-trigger-factory");
5
- exports.bookingRescheduledTrigger = (0, webhook_trigger_factory_1.createEventTrigger)({
6
- name: 'booking_rescheduled',
7
- displayName: 'Booking Rescheduled',
8
- description: 'Triggers when a scheduled meeting is rescheduled to a new time.',
9
- eventType: 'event.rescheduled',
10
- });
11
- //# sourceMappingURL=booking-rescheduled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"booking-rescheduled.js","sourceRoot":"","sources":["../../../../src/lib/triggers/booking-rescheduled.ts"],"names":[],"mappings":";;;AAAA,+EAAuE;AAE1D,QAAA,yBAAyB,GAAG,IAAA,4CAAkB,EAAC;IAC1D,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,iEAAiE;IAC9E,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare const newBookingTrigger: import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}> | import("@activepieces/pieces-framework").ITrigger<import("@activepieces/shared").TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newBookingTrigger = void 0;
4
- const webhook_trigger_factory_1 = require("../common/webhook-trigger-factory");
5
- exports.newBookingTrigger = (0, webhook_trigger_factory_1.createEventTrigger)({
6
- name: 'new_booking',
7
- displayName: 'New Booking',
8
- description: 'Triggers when a new meeting is booked on any scheduling link.',
9
- eventType: 'event.created',
10
- });
11
- //# sourceMappingURL=new-booking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-booking.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-booking.ts"],"names":[],"mappings":";;;AAAA,+EAAuE;AAE1D,QAAA,iBAAiB,GAAG,IAAA,4CAAkB,EAAC;IAClD,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,+DAA+D;IAC5E,SAAS,EAAE,eAAe;CAC3B,CAAC,CAAC"}