@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,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLinkSlotsAction = 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
+ exports.getLinkSlotsAction = (0, pieces_framework_1.createAction)({
10
+ auth: auth_1.savvyCalAuth,
11
+ name: 'get_link_slots',
12
+ displayName: 'Get Available Slots',
13
+ description: 'Returns available time slots for booking on a scheduling link. Useful for displaying availability or for picking a slot before calling Create Event.',
14
+ props: {
15
+ team_id: pieces_framework_1.Property.Dropdown({
16
+ auth: auth_1.savvyCalAuth,
17
+ displayName: 'Team',
18
+ description: 'Filter scheduling links by team. Leave empty to show all teams.',
19
+ refreshers: [],
20
+ required: false,
21
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
22
+ if (!auth)
23
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
24
+ try {
25
+ const options = yield (0, common_1.buildTeamOptions)((0, auth_1.getToken)(auth));
26
+ return { disabled: false, options };
27
+ }
28
+ catch (_b) {
29
+ return { disabled: true, options: [], placeholder: 'Failed to load teams.' };
30
+ }
31
+ }),
32
+ }),
33
+ link_id: pieces_framework_1.Property.Dropdown({
34
+ auth: auth_1.savvyCalAuth,
35
+ displayName: 'Scheduling Link',
36
+ description: 'Select the scheduling link to query slots for.',
37
+ refreshers: ['team_id'],
38
+ required: true,
39
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, team_id }) {
40
+ if (!auth)
41
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
42
+ try {
43
+ const options = yield (0, common_1.buildLinkOptions)((0, auth_1.getToken)(auth), team_id);
44
+ return { disabled: false, options };
45
+ }
46
+ catch (_b) {
47
+ return { disabled: true, options: [], placeholder: 'Failed to load scheduling links.' };
48
+ }
49
+ }),
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ var _a;
55
+ const response = yield (0, common_1.savvyCalApiCall)({
56
+ token: (0, auth_1.getToken)(context.auth),
57
+ method: pieces_common_1.HttpMethod.GET,
58
+ path: `/links/${context.propsValue.link_id}/slots`,
59
+ });
60
+ const slots = Array.isArray(response.body) ? response.body : (_a = response.body.entries) !== null && _a !== void 0 ? _a : [];
61
+ return slots.map((slot) => ({
62
+ start_at: slot.start_at,
63
+ end_at: slot.end_at,
64
+ duration_minutes: slot.duration,
65
+ rank: slot.rank,
66
+ }));
67
+ });
68
+ },
69
+ });
70
+ //# sourceMappingURL=get-link-slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-link-slots.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-link-slots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const getSchedulingLinkAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {
4
+ team_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>)[]>;
7
+ link_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
8
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
9
+ }>)[]>;
10
+ }>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSchedulingLinkAction = 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
+ exports.getSchedulingLinkAction = (0, pieces_framework_1.createAction)({
10
+ auth: auth_1.savvyCalAuth,
11
+ name: 'get_scheduling_link',
12
+ displayName: 'Get Scheduling Link',
13
+ description: 'Retrieves the details of a specific scheduling link by its ID.',
14
+ props: {
15
+ team_id: pieces_framework_1.Property.Dropdown({
16
+ auth: auth_1.savvyCalAuth,
17
+ displayName: 'Team',
18
+ description: 'Filter scheduling links by team. Leave empty to show all teams.',
19
+ refreshers: [],
20
+ required: false,
21
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
22
+ if (!auth)
23
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
24
+ try {
25
+ const options = yield (0, common_1.buildTeamOptions)((0, auth_1.getToken)(auth));
26
+ return { disabled: false, options };
27
+ }
28
+ catch (_b) {
29
+ return { disabled: true, options: [], placeholder: 'Failed to load teams.' };
30
+ }
31
+ }),
32
+ }),
33
+ link_id: pieces_framework_1.Property.Dropdown({
34
+ auth: auth_1.savvyCalAuth,
35
+ displayName: 'Scheduling Link',
36
+ description: 'Select the scheduling link to retrieve.',
37
+ refreshers: ['team_id'],
38
+ required: true,
39
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, team_id }) {
40
+ if (!auth)
41
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
42
+ try {
43
+ const options = yield (0, common_1.buildLinkOptions)((0, auth_1.getToken)(auth), team_id);
44
+ return { disabled: false, options };
45
+ }
46
+ catch (_b) {
47
+ return { disabled: true, options: [], placeholder: 'Failed to load scheduling links.' };
48
+ }
49
+ }),
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const response = yield (0, common_1.savvyCalApiCall)({
55
+ token: (0, auth_1.getToken)(context.auth),
56
+ method: pieces_common_1.HttpMethod.GET,
57
+ path: `/links/${context.propsValue.link_id}`,
58
+ });
59
+ return (0, common_1.flattenLink)(response.body);
60
+ });
61
+ },
62
+ });
63
+ //# sourceMappingURL=get-scheduling-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-scheduling-link.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-scheduling-link.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAMmB;AACnB,kCAAiD;AAEpC,QAAA,uBAAuB,GAAG,IAAA,+BAAY,EAAC;IAClD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,gEAAgE;IAC7E,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,iEAAiE;YAC9E,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAgB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;oBACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAA;SACF,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,yCAAyC;YACtD,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAA0B,EAAE,oDAArB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/B,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAgB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,OAAwB,CAAC,CAAC;oBACjF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAyB;gBAC7D,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,UAAU,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;aAC7C,CAAC,CAAC;YACH,OAAO,IAAA,oBAAW,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const getWorkflowRulesAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {
4
+ workflow_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>)[]>;
7
+ }>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkflowRulesAction = 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
+ exports.getWorkflowRulesAction = (0, pieces_framework_1.createAction)({
10
+ auth: auth_1.savvyCalAuth,
11
+ name: 'get_workflow_rules',
12
+ displayName: 'Get Workflow Rules',
13
+ description: 'Returns the rules configured for a specific workflow.',
14
+ props: {
15
+ workflow_id: pieces_framework_1.Property.Dropdown({
16
+ auth: auth_1.savvyCalAuth,
17
+ displayName: 'Workflow',
18
+ description: 'Select the workflow whose rules you want to retrieve.',
19
+ refreshers: [],
20
+ required: true,
21
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
22
+ if (!auth)
23
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
24
+ try {
25
+ const options = yield (0, common_1.buildWorkflowOptions)((0, auth_1.getToken)(auth));
26
+ return { disabled: false, options };
27
+ }
28
+ catch (_b) {
29
+ return { disabled: true, options: [], placeholder: 'Failed to load workflows.' };
30
+ }
31
+ }),
32
+ }),
33
+ },
34
+ run(context) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ var _a;
37
+ const response = yield (0, common_1.savvyCalApiCall)({
38
+ token: (0, auth_1.getToken)(context.auth),
39
+ method: pieces_common_1.HttpMethod.GET,
40
+ path: `/workflows/${context.propsValue.workflow_id}/rules`,
41
+ });
42
+ const rules = Array.isArray(response.body) ? response.body : (_a = response.body.entries) !== null && _a !== void 0 ? _a : [];
43
+ return {
44
+ workflow_id: context.propsValue.workflow_id,
45
+ rules,
46
+ };
47
+ });
48
+ },
49
+ });
50
+ //# sourceMappingURL=get-workflow-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow-rules.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-workflow-rules.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAAkE;AAClE,kCAAiD;AAUpC,QAAA,sBAAsB,GAAG,IAAA,+BAAY,EAAC;IACjD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,uDAAuD;IACpE,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,uDAAuD;YACpE,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;oBAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;gBACnF,CAAC;YACH,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAA+D;gBACnG,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,cAAc,OAAO,CAAC,UAAU,CAAC,WAAW,QAAQ;aAC3D,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC;YACzF,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;gBAC3C,KAAK;aACN,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,7 +1,14 @@
1
- export declare const listEventsAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- state: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
1
+ export declare const listEventsAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {
4
+ states: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
3
5
  start_after: import("@activepieces/pieces-framework").DateTimeProperty<false>;
4
6
  start_before: import("@activepieces/pieces-framework").DateTimeProperty<false>;
5
- link_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
7
+ team_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
8
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
9
+ }>)[]>;
10
+ link_ids: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
11
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
12
+ }>)[]>;
6
13
  limit: import("@activepieces/pieces-framework").NumberProperty<false>;
7
14
  }>;
@@ -5,20 +5,19 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const common_1 = require("../common");
8
- const __1 = require("../../");
8
+ const auth_1 = require("../auth");
9
9
  exports.listEventsAction = (0, pieces_framework_1.createAction)({
10
- auth: __1.savvyCalAuth,
10
+ auth: auth_1.savvyCalAuth,
11
11
  name: 'list_events',
12
12
  displayName: 'List Events',
13
13
  description: 'Returns a list of scheduled meetings from your SavvyCal account.',
14
14
  props: {
15
- state: pieces_framework_1.Property.StaticDropdown({
15
+ states: pieces_framework_1.Property.StaticMultiSelectDropdown({
16
16
  displayName: 'State',
17
- description: 'Filter events by their current status.',
17
+ description: 'Filter events by their current status. Leave empty to return all statuses.',
18
18
  required: false,
19
19
  options: {
20
20
  options: [
21
- { label: 'All', value: '' },
22
21
  { label: 'Confirmed', value: 'confirmed' },
23
22
  { label: 'Canceled', value: 'canceled' },
24
23
  ],
@@ -34,24 +33,36 @@ exports.listEventsAction = (0, pieces_framework_1.createAction)({
34
33
  description: 'Only return events that start before this date and time.',
35
34
  required: false,
36
35
  }),
37
- link_id: pieces_framework_1.Property.Dropdown({
38
- auth: __1.savvyCalAuth,
39
- displayName: 'Scheduling Link',
40
- description: 'Only return events booked through a specific scheduling link. Leave empty for all links.',
36
+ team_id: pieces_framework_1.Property.Dropdown({
37
+ auth: auth_1.savvyCalAuth,
38
+ displayName: 'Team',
39
+ description: 'Filter scheduling links by team. Leave empty to show all teams.',
41
40
  refreshers: [],
42
41
  required: false,
43
42
  options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
44
43
  if (!auth)
45
44
  return { disabled: true, options: [], placeholder: 'Please connect your account first' };
46
45
  try {
47
- const links = yield (0, common_1.savvyCalPaginatedCall)({
48
- token: auth,
49
- path: '/links',
50
- });
51
- return {
52
- disabled: false,
53
- options: links.map((l) => ({ label: `${l.name} (${l.slug})`, value: l.id })),
54
- };
46
+ const options = yield (0, common_1.buildTeamOptions)((0, auth_1.getToken)(auth));
47
+ return { disabled: false, options };
48
+ }
49
+ catch (_b) {
50
+ return { disabled: true, options: [], placeholder: 'Failed to load teams.' };
51
+ }
52
+ }),
53
+ }),
54
+ link_ids: pieces_framework_1.Property.MultiSelectDropdown({
55
+ auth: auth_1.savvyCalAuth,
56
+ displayName: 'Scheduling Links',
57
+ description: 'Only return events booked through the selected scheduling links. Leave empty for all links.',
58
+ refreshers: ['team_id'],
59
+ required: false,
60
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, team_id }) {
61
+ if (!auth)
62
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
63
+ try {
64
+ const options = yield (0, common_1.buildLinkOptions)((0, auth_1.getToken)(auth), team_id);
65
+ return { disabled: false, options };
55
66
  }
56
67
  catch (_b) {
57
68
  return { disabled: true, options: [], placeholder: 'Failed to load scheduling links.' };
@@ -66,17 +77,49 @@ exports.listEventsAction = (0, pieces_framework_1.createAction)({
66
77
  },
67
78
  run(context) {
68
79
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
- const token = context.auth.secret_text;
70
- const { state, start_after, start_before, link_id, limit } = context.propsValue;
80
+ var _a, _b;
81
+ const token = (0, auth_1.getToken)(context.auth);
82
+ const { states, start_after, start_before, link_ids, limit } = context.propsValue;
83
+ const selectedStates = states;
84
+ const selectedLinkIds = link_ids;
85
+ const hasLinkFilter = selectedLinkIds && selectedLinkIds.length > 0;
86
+ const needsClientFilter = (hasLinkFilter && selectedLinkIds.length > 1) || (selectedStates && selectedStates.length > 1);
71
87
  const queryParams = {};
72
- if (state)
73
- queryParams['state'] = state;
74
88
  if (start_after)
75
89
  queryParams['start_after'] = start_after;
76
90
  if (start_before)
77
91
  queryParams['start_before'] = start_before;
78
- if (link_id)
79
- queryParams['link_id'] = link_id;
92
+ if (selectedStates && selectedStates.length === 1) {
93
+ queryParams['state'] = selectedStates[0];
94
+ }
95
+ if (hasLinkFilter && selectedLinkIds.length === 1) {
96
+ queryParams['link_id'] = selectedLinkIds[0];
97
+ }
98
+ if (limit && needsClientFilter) {
99
+ // Paginate page by page and stop as soon as we have enough post-filter results,
100
+ // so we never fetch unbounded pages when a limit is set alongside a client-side filter.
101
+ let after = null;
102
+ const collected = [];
103
+ do {
104
+ const params = Object.assign({ limit: '100' }, queryParams);
105
+ if (after)
106
+ params['after'] = after;
107
+ const response = yield (0, common_1.savvyCalApiCall)({
108
+ token,
109
+ method: pieces_common_1.HttpMethod.GET,
110
+ path: '/events',
111
+ queryParams: params,
112
+ });
113
+ for (const event of response.body.entries) {
114
+ const matchesState = !selectedStates || selectedStates.length === 0 || selectedStates.includes(event.state);
115
+ const matchesLink = !hasLinkFilter || selectedLinkIds.includes((_b = (_a = event.link) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '');
116
+ if (matchesState && matchesLink)
117
+ collected.push(event);
118
+ }
119
+ after = collected.length >= limit ? null : response.body.metadata.after;
120
+ } while (after);
121
+ return collected.slice(0, limit).map(common_1.flattenEvent);
122
+ }
80
123
  if (limit) {
81
124
  queryParams['limit'] = String(limit);
82
125
  const response = yield (0, common_1.savvyCalApiCall)({
@@ -88,7 +131,10 @@ exports.listEventsAction = (0, pieces_framework_1.createAction)({
88
131
  return response.body.entries.map(common_1.flattenEvent);
89
132
  }
90
133
  const events = yield (0, common_1.savvyCalPaginatedCall)({ token, path: '/events', queryParams });
91
- return events.map(common_1.flattenEvent);
134
+ return events
135
+ .filter((e) => !selectedStates || selectedStates.length === 0 || selectedStates.includes(e.state))
136
+ .filter((e) => { var _a, _b; return !hasLinkFilter || selectedLinkIds.includes((_b = (_a = e.link) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : ''); })
137
+ .map(common_1.flattenEvent);
92
138
  });
93
139
  },
94
140
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list-events.js","sourceRoot":"","sources":["../../../../src/lib/actions/list-events.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAAwH;AACxH,8BAAsC;AAEzB,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,gBAAY;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,kEAAkE;IAC/E,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC7B,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC3B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;oBAC1C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;iBACzC;aACF;SACF,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAC,gBAAY;YACjB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,0FAA0F;YACvG,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAqB,EAAyB;wBAChE,KAAK,EAAE,IAAyB;wBAChC,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;oBACH,OAAO;wBACL,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;qBAC7E,CAAC;gBACJ,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAA;SACF,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACvC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAEhF,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,IAAI,KAAK;gBAAE,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACxC,IAAI,WAAW;gBAAE,WAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YAC1D,IAAI,YAAY;gBAAE,WAAW,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;YAC7D,IAAI,OAAO;gBAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAE9C,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAA+B;oBACnE,KAAK;oBACL,MAAM,EAAE,0BAAU,CAAC,GAAG;oBACtB,IAAI,EAAE,SAAS;oBACf,WAAW;iBACZ,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YACnG,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;QAClC,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"list-events.js","sourceRoot":"","sources":["../../../../src/lib/actions/list-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1,7 @@
1
- export declare const listSchedulingLinksAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {}>;
1
+ export declare const listSchedulingLinksAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {
4
+ team_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>)[]>;
7
+ }>;
@@ -4,32 +4,45 @@ exports.listSchedulingLinksAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const common_1 = require("../common");
7
- const __1 = require("../../");
7
+ const auth_1 = require("../auth");
8
8
  exports.listSchedulingLinksAction = (0, pieces_framework_1.createAction)({
9
- auth: __1.savvyCalAuth,
9
+ auth: auth_1.savvyCalAuth,
10
10
  name: 'list_scheduling_links',
11
11
  displayName: 'List Scheduling Links',
12
12
  description: 'Returns all scheduling links configured in your SavvyCal account.',
13
- props: {},
13
+ props: {
14
+ team_id: pieces_framework_1.Property.Dropdown({
15
+ auth: auth_1.savvyCalAuth,
16
+ displayName: 'Team',
17
+ description: 'Filter scheduling links by team. Leave empty to show all teams.',
18
+ refreshers: [],
19
+ required: false,
20
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
21
+ if (!auth)
22
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
23
+ try {
24
+ const options = yield (0, common_1.buildTeamOptions)((0, auth_1.getToken)(auth));
25
+ return { disabled: false, options };
26
+ }
27
+ catch (_b) {
28
+ return { disabled: true, options: [], placeholder: 'Failed to load teams.' };
29
+ }
30
+ }),
31
+ }),
32
+ },
14
33
  run(context) {
15
34
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
35
  const links = yield (0, common_1.savvyCalPaginatedCall)({
17
- token: context.auth.secret_text,
36
+ token: (0, auth_1.getToken)(context.auth),
18
37
  path: '/links',
19
38
  });
20
- return links.map((link) => {
21
- var _a, _b, _c;
22
- return ({
23
- id: link.id,
24
- name: link.name,
25
- slug: link.slug,
26
- url: (_a = link.url) !== null && _a !== void 0 ? _a : null,
27
- active: (_b = link.active) !== null && _b !== void 0 ? _b : null,
28
- duration_minutes: (_c = link.duration) !== null && _c !== void 0 ? _c : null,
29
- created_at: link.created_at,
30
- updated_at: link.updated_at,
31
- });
32
- });
39
+ const { team_id } = context.propsValue;
40
+ const filtered = team_id
41
+ ? team_id === 'personal'
42
+ ? links.filter((l) => l.scope === null)
43
+ : links.filter((l) => { var _a; return ((_a = l.scope) === null || _a === void 0 ? void 0 : _a.id) === team_id; })
44
+ : links;
45
+ return filtered.map(common_1.flattenLink);
33
46
  });
34
47
  },
35
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list-scheduling-links.js","sourceRoot":"","sources":["../../../../src/lib/actions/list-scheduling-links.ts"],"names":[],"mappings":";;;;AAAA,qEAA8D;AAC9D,sCAA0E;AAC1E,8BAAsC;AAEzB,QAAA,yBAAyB,GAAG,IAAA,+BAAY,EAAC;IACpD,IAAI,EAAE,gBAAY;IAClB,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,mEAAmE;IAChF,KAAK,EAAE,EAAE;IACH,GAAG,CAAC,OAAO;;YACf,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAqB,EAAyB;gBAChE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;gBAC/B,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,IAAI;oBACrB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI;oBAC3B,gBAAgB,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI;oBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAA;aAAA,CAAC,CAAC;QACN,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"list-scheduling-links.js","sourceRoot":"","sources":["../../../../src/lib/actions/list-scheduling-links.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAAyG;AACzG,kCAAiD;AAEpC,QAAA,yBAAyB,GAAG,IAAA,+BAAY,EAAC;IACpD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,mEAAmE;IAChF,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,iEAAiE;YAC9E,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAgB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;oBACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAqB,EAAyB;gBAChE,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YAEH,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO;gBACtB,CAAC,CAAC,OAAO,KAAK,UAAU;oBACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;oBACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,EAAE,MAAK,OAAO,CAAA,EAAA,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC;YAEV,OAAO,QAAQ,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAC;QACnC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const listWorkflowsAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {}>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listWorkflowsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const auth_1 = require("../auth");
8
+ exports.listWorkflowsAction = (0, pieces_framework_1.createAction)({
9
+ auth: auth_1.savvyCalAuth,
10
+ name: 'list_workflows',
11
+ displayName: 'List Workflows',
12
+ description: 'Returns all workflows configured in your SavvyCal account.',
13
+ props: {},
14
+ run(context) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ const workflows = yield (0, common_1.savvyCalPaginatedCall)({
17
+ token: (0, auth_1.getToken)(context.auth),
18
+ path: '/workflows',
19
+ });
20
+ return workflows.map((workflow) => {
21
+ var _a, _b, _c, _d, _e, _f, _g;
22
+ return ({
23
+ id: workflow.id,
24
+ name: workflow.name,
25
+ active: (_a = workflow.active) !== null && _a !== void 0 ? _a : null,
26
+ team_id: (_c = (_b = workflow.scope) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : null,
27
+ team_name: (_e = (_d = workflow.scope) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : null,
28
+ created_at: (_f = workflow.created_at) !== null && _f !== void 0 ? _f : null,
29
+ updated_at: (_g = workflow.updated_at) !== null && _g !== void 0 ? _g : null,
30
+ });
31
+ });
32
+ });
33
+ },
34
+ });
35
+ //# sourceMappingURL=list-workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-workflows.js","sourceRoot":"","sources":["../../../../src/lib/actions/list-workflows.ts"],"names":[],"mappings":";;;;AAAA,qEAA8D;AAC9D,sCAAkD;AAClD,kCAAiD;AAWpC,QAAA,mBAAmB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,4DAA4D;IACzE,KAAK,EAAE,EAAE;IACH,GAAG,CAAC,OAAO;;YACf,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAqB,EAAmB;gBAC9D,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAClC,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,MAAA,QAAQ,CAAC,MAAM,mCAAI,IAAI;oBAC/B,OAAO,EAAE,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,EAAE,mCAAI,IAAI;oBACnC,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,mCAAI,IAAI;oBACvC,UAAU,EAAE,MAAA,QAAQ,CAAC,UAAU,mCAAI,IAAI;oBACvC,UAAU,EAAE,MAAA,QAAQ,CAAC,UAAU,mCAAI,IAAI;iBACxC,CAAC,CAAA;aAAA,CAAC,CAAC;QACN,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const toggleSchedulingLinkAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
3
+ }>)[], {
4
+ team_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>)[]>;
7
+ link_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
8
+ token: import("@activepieces/pieces-framework").SecretTextProperty<true>;
9
+ }>)[]>;
10
+ }>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toggleSchedulingLinkAction = 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
+ exports.toggleSchedulingLinkAction = (0, pieces_framework_1.createAction)({
10
+ auth: auth_1.savvyCalAuth,
11
+ name: 'toggle_scheduling_link',
12
+ displayName: 'Toggle Scheduling Link',
13
+ description: 'Switches a scheduling link between active and disabled states.',
14
+ props: {
15
+ team_id: pieces_framework_1.Property.Dropdown({
16
+ auth: auth_1.savvyCalAuth,
17
+ displayName: 'Team',
18
+ description: 'Filter scheduling links by team. Leave empty to show all teams.',
19
+ refreshers: [],
20
+ required: false,
21
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
22
+ if (!auth)
23
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
24
+ try {
25
+ const options = yield (0, common_1.buildTeamOptions)((0, auth_1.getToken)(auth));
26
+ return { disabled: false, options };
27
+ }
28
+ catch (_b) {
29
+ return { disabled: true, options: [], placeholder: 'Failed to load teams.' };
30
+ }
31
+ }),
32
+ }),
33
+ link_id: pieces_framework_1.Property.Dropdown({
34
+ auth: auth_1.savvyCalAuth,
35
+ displayName: 'Scheduling Link',
36
+ description: 'Select the scheduling link to toggle.',
37
+ refreshers: ['team_id'],
38
+ required: true,
39
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, team_id }) {
40
+ if (!auth)
41
+ return { disabled: true, options: [], placeholder: 'Please connect your account first' };
42
+ try {
43
+ const options = yield (0, common_1.buildLinkOptions)((0, auth_1.getToken)(auth), team_id);
44
+ return { disabled: false, options };
45
+ }
46
+ catch (_b) {
47
+ return { disabled: true, options: [], placeholder: 'Failed to load scheduling links.' };
48
+ }
49
+ }),
50
+ }),
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const response = yield (0, common_1.savvyCalApiCall)({
55
+ token: (0, auth_1.getToken)(context.auth),
56
+ method: pieces_common_1.HttpMethod.POST,
57
+ path: `/links/${context.propsValue.link_id}/toggle`,
58
+ });
59
+ return (0, common_1.flattenLink)(response.body);
60
+ });
61
+ },
62
+ });
63
+ //# sourceMappingURL=toggle-scheduling-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-scheduling-link.js","sourceRoot":"","sources":["../../../../src/lib/actions/toggle-scheduling-link.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAMmB;AACnB,kCAAiD;AAEpC,QAAA,0BAA0B,GAAG,IAAA,+BAAY,EAAC;IACrD,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,gEAAgE;IAC7E,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,iEAAiE;YAC9E,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAgB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;oBACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC,CAAA;SACF,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,mBAAY;YAClB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,uCAAuC;YACpD,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAA0B,EAAE,oDAArB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/B,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAgB,EAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,OAAwB,CAAC,CAAC;oBACjF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAe,EAAyB;gBAC7D,KAAK,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,IAAI,EAAE,UAAU,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS;aACpD,CAAC,CAAC;YACH,OAAO,IAAA,oBAAW,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;KAAA;CACF,CAAC,CAAC"}