@activepieces/piece-greenhouse 0.0.1

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 (65) hide show
  1. package/package.json +17 -0
  2. package/src/index.d.ts +2 -0
  3. package/src/index.d.ts.map +1 -0
  4. package/src/index.js +50 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/actions/create-candidate-note.d.ts +8 -0
  7. package/src/lib/actions/create-candidate-note.d.ts.map +1 -0
  8. package/src/lib/actions/create-candidate-note.js +92 -0
  9. package/src/lib/actions/create-candidate-note.js.map +1 -0
  10. package/src/lib/actions/create-candidate.d.ts +14 -0
  11. package/src/lib/actions/create-candidate.d.ts.map +1 -0
  12. package/src/lib/actions/create-candidate.js +117 -0
  13. package/src/lib/actions/create-candidate.js.map +1 -0
  14. package/src/lib/actions/create-prospect.d.ts +14 -0
  15. package/src/lib/actions/create-prospect.d.ts.map +1 -0
  16. package/src/lib/actions/create-prospect.js +121 -0
  17. package/src/lib/actions/create-prospect.js.map +1 -0
  18. package/src/lib/actions/find-candidate.d.ts +4 -0
  19. package/src/lib/actions/find-candidate.d.ts.map +1 -0
  20. package/src/lib/actions/find-candidate.js +38 -0
  21. package/src/lib/actions/find-candidate.js.map +1 -0
  22. package/src/lib/actions/find-due-scorecard.d.ts +4 -0
  23. package/src/lib/actions/find-due-scorecard.d.ts.map +1 -0
  24. package/src/lib/actions/find-due-scorecard.js +54 -0
  25. package/src/lib/actions/find-due-scorecard.js.map +1 -0
  26. package/src/lib/actions/find-or-create-candidate.d.ts +14 -0
  27. package/src/lib/actions/find-or-create-candidate.d.ts.map +1 -0
  28. package/src/lib/actions/find-or-create-candidate.js +126 -0
  29. package/src/lib/actions/find-or-create-candidate.js.map +1 -0
  30. package/src/lib/actions/update-candidate.d.ts +15 -0
  31. package/src/lib/actions/update-candidate.d.ts.map +1 -0
  32. package/src/lib/actions/update-candidate.js +127 -0
  33. package/src/lib/actions/update-candidate.js.map +1 -0
  34. package/src/lib/auth.d.ts +2 -0
  35. package/src/lib/auth.d.ts.map +1 -0
  36. package/src/lib/auth.js +30 -0
  37. package/src/lib/auth.js.map +1 -0
  38. package/src/lib/common/index.d.ts +58 -0
  39. package/src/lib/common/index.d.ts.map +1 -0
  40. package/src/lib/common/index.js +44 -0
  41. package/src/lib/common/index.js.map +1 -0
  42. package/src/lib/triggers/candidate-hired.d.ts +3 -0
  43. package/src/lib/triggers/candidate-hired.d.ts.map +1 -0
  44. package/src/lib/triggers/candidate-hired.js +90 -0
  45. package/src/lib/triggers/candidate-hired.js.map +1 -0
  46. package/src/lib/triggers/job-updated.d.ts +3 -0
  47. package/src/lib/triggers/job-updated.d.ts.map +1 -0
  48. package/src/lib/triggers/job-updated.js +93 -0
  49. package/src/lib/triggers/job-updated.js.map +1 -0
  50. package/src/lib/triggers/new-candidate-application.d.ts +3 -0
  51. package/src/lib/triggers/new-candidate-application.d.ts.map +1 -0
  52. package/src/lib/triggers/new-candidate-application.js +103 -0
  53. package/src/lib/triggers/new-candidate-application.js.map +1 -0
  54. package/src/lib/triggers/new-job-post.d.ts +3 -0
  55. package/src/lib/triggers/new-job-post.d.ts.map +1 -0
  56. package/src/lib/triggers/new-job-post.js +99 -0
  57. package/src/lib/triggers/new-job-post.js.map +1 -0
  58. package/src/lib/triggers/new-scheduled-interview.d.ts +11 -0
  59. package/src/lib/triggers/new-scheduled-interview.d.ts.map +1 -0
  60. package/src/lib/triggers/new-scheduled-interview.js +99 -0
  61. package/src/lib/triggers/new-scheduled-interview.js.map +1 -0
  62. package/src/lib/triggers/new-scorecard-due.d.ts +3 -0
  63. package/src/lib/triggers/new-scorecard-due.d.ts.map +1 -0
  64. package/src/lib/triggers/new-scorecard-due.js +87 -0
  65. package/src/lib/triggers/new-scorecard-due.js.map +1 -0
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jobUpdatedTrigger = 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 auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const polling = {
10
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
11
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ const updatedAfter = lastFetchEpochMS > 0
13
+ ? new Date(lastFetchEpochMS).toISOString()
14
+ : new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
15
+ const response = yield (0, common_1.greenhouseApiCall)({
16
+ accessToken: auth.access_token,
17
+ method: pieces_common_1.HttpMethod.GET,
18
+ endpoint: '/jobs',
19
+ queryParams: {
20
+ 'updated_at[gte]': updatedAfter,
21
+ per_page: '500',
22
+ },
23
+ });
24
+ const jobs = Array.isArray(response.body) ? response.body : [];
25
+ return jobs.map((job) => {
26
+ var _a, _b, _c;
27
+ return ({
28
+ epochMilliSeconds: new Date(job.updated_at).getTime(),
29
+ data: {
30
+ id: job.id,
31
+ name: job.name,
32
+ requisition_id: job.requisition_id,
33
+ status: job.status,
34
+ confidential: job.confidential,
35
+ is_template: job.is_template,
36
+ created_at: job.created_at,
37
+ opened_at: job.opened_at,
38
+ closed_at: job.closed_at,
39
+ updated_at: job.updated_at,
40
+ department_id: job.department_id,
41
+ office_ids: ((_a = job.office_ids) !== null && _a !== void 0 ? _a : []).join(', '),
42
+ open_openings: ((_b = job.openings) !== null && _b !== void 0 ? _b : []).filter((o) => o.open).length,
43
+ total_openings: ((_c = job.openings) !== null && _c !== void 0 ? _c : []).length,
44
+ },
45
+ });
46
+ });
47
+ }),
48
+ };
49
+ exports.jobUpdatedTrigger = (0, pieces_framework_1.createTrigger)({
50
+ auth: auth_1.greenhouseAuth,
51
+ name: 'job_updated',
52
+ displayName: 'Job Updated',
53
+ description: 'Triggers when an existing job is updated.',
54
+ props: {},
55
+ sampleData: {
56
+ id: 6404,
57
+ name: 'Senior Software Engineer',
58
+ requisition_id: 'ENG-2024-001',
59
+ status: 'open',
60
+ confidential: false,
61
+ is_template: false,
62
+ created_at: '2024-01-15T14:42:58.000Z',
63
+ opened_at: '2024-01-20T14:42:58.000Z',
64
+ closed_at: null,
65
+ updated_at: '2024-03-10T16:22:15.000Z',
66
+ department_id: 12345,
67
+ office_ids: '47012',
68
+ open_openings: 2,
69
+ total_openings: 3,
70
+ },
71
+ type: pieces_framework_1.TriggerStrategy.POLLING,
72
+ test(context) {
73
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
74
+ return yield pieces_common_1.pollingHelper.test(polling, context);
75
+ });
76
+ },
77
+ onEnable(context) {
78
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
80
+ });
81
+ },
82
+ onDisable(context) {
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
85
+ });
86
+ },
87
+ run(context) {
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
90
+ });
91
+ },
92
+ });
93
+ //# sourceMappingURL=job-updated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-updated.js","sourceRoot":"","sources":["../../../../src/lib/triggers/job-updated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newCandidateApplicationTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
3
+ //# sourceMappingURL=new-candidate-application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-candidate-application.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-candidate-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAqFxC,eAAO,MAAM,8BAA8B,kwBAwCzC,CAAC"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newCandidateApplicationTrigger = 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 auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const polling = {
10
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
11
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ const createdAfter = lastFetchEpochMS > 0
13
+ ? new Date(lastFetchEpochMS).toISOString()
14
+ : new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
15
+ const response = yield (0, common_1.greenhouseApiCall)({
16
+ accessToken: auth.access_token,
17
+ method: pieces_common_1.HttpMethod.GET,
18
+ endpoint: '/applications',
19
+ queryParams: {
20
+ 'created_at[gte]': createdAfter,
21
+ per_page: '500',
22
+ },
23
+ });
24
+ const applications = Array.isArray(response.body) ? response.body : [];
25
+ return applications.map((app) => {
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
27
+ return ({
28
+ epochMilliSeconds: new Date(app.created_at).getTime(),
29
+ data: {
30
+ id: app.id,
31
+ candidate_id: app.candidate_id,
32
+ job_id: app.job_id,
33
+ job_post_id: app.job_post_id,
34
+ prospect: app.prospect,
35
+ status: app.status,
36
+ created_at: app.created_at,
37
+ rejected_at: app.rejected_at,
38
+ last_activity_at: app.last_activity_at,
39
+ location_address: app.location_address,
40
+ source_id: app.source_id,
41
+ referrer_id: app.referrer_id,
42
+ rejection_reason_id: app.rejection_reason_id,
43
+ stage_id: app.stage_id,
44
+ prospect_office_id: (_b = (_a = app.prospect_details) === null || _a === void 0 ? void 0 : _a.office_id) !== null && _b !== void 0 ? _b : null,
45
+ prospect_department_id: (_d = (_c = app.prospect_details) === null || _c === void 0 ? void 0 : _c.department_id) !== null && _d !== void 0 ? _d : null,
46
+ prospect_pool_id: (_f = (_e = app.prospect_details) === null || _e === void 0 ? void 0 : _e.pool_id) !== null && _f !== void 0 ? _f : null,
47
+ prospect_pool_stage_id: (_h = (_g = app.prospect_details) === null || _g === void 0 ? void 0 : _g.pool_stage_id) !== null && _h !== void 0 ? _h : null,
48
+ prospect_owner_id: (_k = (_j = app.prospect_details) === null || _j === void 0 ? void 0 : _j.prospect_owner_id) !== null && _k !== void 0 ? _k : null,
49
+ },
50
+ });
51
+ });
52
+ }),
53
+ };
54
+ exports.newCandidateApplicationTrigger = (0, pieces_framework_1.createTrigger)({
55
+ auth: auth_1.greenhouseAuth,
56
+ name: 'new_candidate_application',
57
+ displayName: 'New Candidate Application',
58
+ description: 'Triggers when a new application is submitted by a candidate.',
59
+ props: {},
60
+ sampleData: {
61
+ id: 985314,
62
+ candidate_id: 123456,
63
+ job_id: 144371,
64
+ job_post_id: null,
65
+ prospect: false,
66
+ status: 'active',
67
+ created_at: '2024-03-15T09:30:00.000Z',
68
+ rejected_at: null,
69
+ last_activity_at: '2024-03-15T09:30:00.000Z',
70
+ location_address: 'New York, New York, USA',
71
+ source_id: 12,
72
+ referrer_id: null,
73
+ rejection_reason_id: null,
74
+ stage_id: 77,
75
+ prospect_office_id: null,
76
+ prospect_department_id: null,
77
+ prospect_pool_id: null,
78
+ prospect_pool_stage_id: null,
79
+ prospect_owner_id: null,
80
+ },
81
+ type: pieces_framework_1.TriggerStrategy.POLLING,
82
+ test(context) {
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ return yield pieces_common_1.pollingHelper.test(polling, context);
85
+ });
86
+ },
87
+ onEnable(context) {
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
90
+ });
91
+ },
92
+ onDisable(context) {
93
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
94
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
95
+ });
96
+ },
97
+ run(context) {
98
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
99
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
100
+ });
101
+ },
102
+ });
103
+ //# sourceMappingURL=new-candidate-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-candidate-application.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-candidate-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newJobPostTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
3
+ //# sourceMappingURL=new-job-post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-job-post.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-job-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AA2ExC,eAAO,MAAM,iBAAiB,kwBAsC5B,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newJobPostTrigger = 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 auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const polling = {
10
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
11
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ const createdAfter = lastFetchEpochMS > 0
13
+ ? new Date(lastFetchEpochMS).toISOString()
14
+ : new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
15
+ const response = yield (0, common_1.greenhouseApiCall)({
16
+ accessToken: auth.access_token,
17
+ method: pieces_common_1.HttpMethod.GET,
18
+ endpoint: '/job_posts',
19
+ queryParams: {
20
+ 'created_at[gte]': createdAfter,
21
+ per_page: '500',
22
+ },
23
+ });
24
+ const jobPosts = Array.isArray(response.body) ? response.body : [];
25
+ return jobPosts.map((post) => {
26
+ var _a, _b, _c, _d, _e, _f;
27
+ return ({
28
+ epochMilliSeconds: new Date(post.created_at).getTime(),
29
+ data: {
30
+ id: post.id,
31
+ title: post.title,
32
+ job_id: post.job_id,
33
+ job_board_id: post.job_board_id,
34
+ location_name: (_b = (_a = post.location) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null,
35
+ location_type: (_d = (_c = post.location) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null,
36
+ location_id: (_f = (_e = post.location) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : null,
37
+ internal: post.internal,
38
+ active: post.active,
39
+ live: post.live,
40
+ featured: post.featured,
41
+ public_url: post.public_url,
42
+ language: post.language,
43
+ first_published_at: post.first_published_at,
44
+ demographic_question_set_id: post.demographic_question_set_id,
45
+ created_at: post.created_at,
46
+ updated_at: post.updated_at,
47
+ },
48
+ });
49
+ });
50
+ }),
51
+ };
52
+ exports.newJobPostTrigger = (0, pieces_framework_1.createTrigger)({
53
+ auth: auth_1.greenhouseAuth,
54
+ name: 'new_job_post',
55
+ displayName: 'New Job Post',
56
+ description: 'Triggers when a new job post is created.',
57
+ props: {},
58
+ sampleData: {
59
+ id: 123,
60
+ title: 'Software Engineer',
61
+ job_id: 1234,
62
+ job_board_id: 56,
63
+ location_name: 'New York, NY',
64
+ location_type: 'free_text',
65
+ location_id: null,
66
+ internal: false,
67
+ active: true,
68
+ live: true,
69
+ featured: false,
70
+ public_url: 'https://boards.greenhouse.io/acme/jobs/123',
71
+ language: 'en',
72
+ first_published_at: '2024-03-15T10:00:00.000Z',
73
+ demographic_question_set_id: null,
74
+ created_at: '2024-03-15T09:00:00.000Z',
75
+ updated_at: '2024-03-15T10:00:00.000Z',
76
+ },
77
+ type: pieces_framework_1.TriggerStrategy.POLLING,
78
+ test(context) {
79
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
+ return yield pieces_common_1.pollingHelper.test(polling, context);
81
+ });
82
+ },
83
+ onEnable(context) {
84
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
85
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
86
+ });
87
+ },
88
+ onDisable(context) {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
91
+ });
92
+ },
93
+ run(context) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
96
+ });
97
+ },
98
+ });
99
+ //# sourceMappingURL=new-job-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-job-post.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-job-post.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newScheduledInterviewTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
+ days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
5
+ days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
6
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
7
+ days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
8
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
9
+ days_ahead: import("@activepieces/pieces-framework").NumberProperty<true>;
10
+ }>;
11
+ //# sourceMappingURL=new-scheduled-interview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-scheduled-interview.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scheduled-interview.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AA2ExC,eAAO,MAAM,4BAA4B;;;;;;;;EA0CvC,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newScheduledInterviewTrigger = 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 auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const polling = {
10
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
11
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
12
+ var _b;
13
+ const daysAhead = (_b = propsValue.days_ahead) !== null && _b !== void 0 ? _b : 7;
14
+ const createdAfter = lastFetchEpochMS > 0
15
+ ? new Date(lastFetchEpochMS).toISOString()
16
+ : new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
17
+ const startsBefore = new Date(Date.now() + daysAhead * 24 * 60 * 60 * 1000).toISOString();
18
+ const response = yield (0, common_1.greenhouseApiCall)({
19
+ accessToken: auth.access_token,
20
+ method: pieces_common_1.HttpMethod.GET,
21
+ endpoint: '/interviews',
22
+ queryParams: {
23
+ 'created_at[gte]': createdAfter,
24
+ 'starts_at[lte]': startsBefore,
25
+ per_page: '500',
26
+ },
27
+ });
28
+ const interviews = Array.isArray(response.body) ? response.body : [];
29
+ return interviews.map((interview) => ({
30
+ epochMilliSeconds: new Date(interview.created_at).getTime(),
31
+ data: {
32
+ id: interview.id,
33
+ application_id: interview.application_id,
34
+ external_event_id: interview.external_event_id,
35
+ status: interview.status,
36
+ starts_at: interview.starts_at,
37
+ ends_at: interview.ends_at,
38
+ all_day_start_on: interview.all_day_start_on,
39
+ all_day_end_on: interview.all_day_end_on,
40
+ location: interview.location,
41
+ video_conferencing_url: interview.video_conferencing_url,
42
+ organizer_id: interview.organizer_id,
43
+ created_at: interview.created_at,
44
+ updated_at: interview.updated_at,
45
+ },
46
+ }));
47
+ }),
48
+ };
49
+ exports.newScheduledInterviewTrigger = (0, pieces_framework_1.createTrigger)({
50
+ auth: auth_1.greenhouseAuth,
51
+ name: 'new_scheduled_interview',
52
+ displayName: 'New Scheduled Interview',
53
+ description: 'Triggers when a new scheduled interview is created within the configured time window.',
54
+ props: {
55
+ days_ahead: pieces_framework_1.Property.Number({
56
+ displayName: 'Time Window (Days)',
57
+ description: 'Only trigger for interviews scheduled to start within this many days from now. For example, `7` means only interviews starting within the next week will fire this trigger.',
58
+ required: true,
59
+ defaultValue: 7,
60
+ }),
61
+ },
62
+ sampleData: {
63
+ id: 109170954,
64
+ application_id: 102717457,
65
+ external_event_id: 'external_event_id_1',
66
+ status: 'scheduled',
67
+ starts_at: '2024-03-20T13:15:00.000Z',
68
+ ends_at: '2024-03-20T14:15:00.000Z',
69
+ all_day_start_on: null,
70
+ all_day_end_on: null,
71
+ location: 'Big Conference Room',
72
+ video_conferencing_url: 'https://zoom.us/j/123456789',
73
+ organizer_id: 102361,
74
+ created_at: '2024-03-10T19:22:07.000Z',
75
+ updated_at: '2024-03-10T19:22:07.000Z',
76
+ },
77
+ type: pieces_framework_1.TriggerStrategy.POLLING,
78
+ test(context) {
79
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
+ return yield pieces_common_1.pollingHelper.test(polling, context);
81
+ });
82
+ },
83
+ onEnable(context) {
84
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
85
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
86
+ });
87
+ },
88
+ onDisable(context) {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
91
+ });
92
+ },
93
+ run(context) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
96
+ });
97
+ },
98
+ });
99
+ //# sourceMappingURL=new-scheduled-interview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-scheduled-interview.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scheduled-interview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newScorecardDueTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {}>;
3
+ //# sourceMappingURL=new-scorecard-due.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-scorecard-due.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scorecard-due.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAoExC,eAAO,MAAM,sBAAsB,kwBAiCjC,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newScorecardDueTrigger = 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 auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const polling = {
10
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
11
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ const createdAfter = lastFetchEpochMS > 0
13
+ ? new Date(lastFetchEpochMS).toISOString()
14
+ : new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
15
+ const response = yield (0, common_1.greenhouseApiCall)({
16
+ accessToken: auth.access_token,
17
+ method: pieces_common_1.HttpMethod.GET,
18
+ endpoint: '/scorecards',
19
+ queryParams: {
20
+ 'created_at[gte]': createdAfter,
21
+ per_page: '500',
22
+ status: 'draft',
23
+ },
24
+ });
25
+ const scorecards = Array.isArray(response.body) ? response.body : [];
26
+ return scorecards.map((s) => ({
27
+ epochMilliSeconds: new Date(s.created_at).getTime(),
28
+ data: {
29
+ id: s.id,
30
+ application_id: s.application_id,
31
+ interview_kit_id: s.interview_kit_id,
32
+ interviewer_id: s.interviewer_id,
33
+ submitter_id: s.submitter_id,
34
+ status: s.status,
35
+ candidate_rating: s.candidate_rating,
36
+ notes: s.notes,
37
+ interviewed_at: s.interviewed_at,
38
+ submitted_at: s.submitted_at,
39
+ created_at: s.created_at,
40
+ updated_at: s.updated_at,
41
+ },
42
+ }));
43
+ }),
44
+ };
45
+ exports.newScorecardDueTrigger = (0, pieces_framework_1.createTrigger)({
46
+ auth: auth_1.greenhouseAuth,
47
+ name: 'new_scorecard_due',
48
+ displayName: 'New Scorecard Due',
49
+ description: 'Triggers when a new scorecard is due — i.e. created but not yet submitted by the interviewer.',
50
+ props: {},
51
+ sampleData: {
52
+ id: 11274,
53
+ application_id: 3456,
54
+ interview_kit_id: 789,
55
+ interviewer_id: 4080,
56
+ submitter_id: 4080,
57
+ status: 'draft',
58
+ candidate_rating: 'strong_yes',
59
+ notes: null,
60
+ interviewed_at: '2024-03-18T16:00:00.000Z',
61
+ submitted_at: null,
62
+ created_at: '2024-03-18T17:00:00.000Z',
63
+ updated_at: '2024-03-18T17:00:00.000Z',
64
+ },
65
+ type: pieces_framework_1.TriggerStrategy.POLLING,
66
+ test(context) {
67
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
68
+ return yield pieces_common_1.pollingHelper.test(polling, context);
69
+ });
70
+ },
71
+ onEnable(context) {
72
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
74
+ });
75
+ },
76
+ onDisable(context) {
77
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
78
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
79
+ });
80
+ },
81
+ run(context) {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
83
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
84
+ });
85
+ },
86
+ });
87
+ //# sourceMappingURL=new-scorecard-due.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-scorecard-due.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-scorecard-due.ts"],"names":[],"mappings":"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"}