@kombo-api/sdk 0.3.2 → 0.3.4

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 (207) hide show
  1. package/esm/funcs/atsGetApplicationStages.js +1 -0
  2. package/esm/funcs/atsGetApplicationStages.js.map +1 -1
  3. package/esm/funcs/atsGetApplications.js +1 -0
  4. package/esm/funcs/atsGetApplications.js.map +1 -1
  5. package/esm/funcs/atsGetCandidates.js +1 -0
  6. package/esm/funcs/atsGetCandidates.js.map +1 -1
  7. package/esm/funcs/atsGetInterviews.js +1 -0
  8. package/esm/funcs/atsGetInterviews.js.map +1 -1
  9. package/esm/funcs/atsGetJobs.js +1 -0
  10. package/esm/funcs/atsGetJobs.js.map +1 -1
  11. package/esm/funcs/atsGetOffers.js +1 -0
  12. package/esm/funcs/atsGetOffers.js.map +1 -1
  13. package/esm/funcs/atsGetRejectionReasons.js +1 -0
  14. package/esm/funcs/atsGetRejectionReasons.js.map +1 -1
  15. package/esm/funcs/atsGetTags.js +1 -0
  16. package/esm/funcs/atsGetTags.js.map +1 -1
  17. package/esm/funcs/atsGetUsers.js +1 -0
  18. package/esm/funcs/atsGetUsers.js.map +1 -1
  19. package/esm/funcs/generalSendPassthroughRequest.d.ts +131 -129
  20. package/esm/funcs/generalSendPassthroughRequest.d.ts.map +1 -1
  21. package/esm/funcs/generalSendPassthroughRequest.js +131 -129
  22. package/esm/funcs/generalSendPassthroughRequest.js.map +1 -1
  23. package/esm/funcs/hrisGetAbsenceTypes.js +1 -0
  24. package/esm/funcs/hrisGetAbsenceTypes.js.map +1 -1
  25. package/esm/funcs/hrisGetAbsences.js +1 -0
  26. package/esm/funcs/hrisGetAbsences.js.map +1 -1
  27. package/esm/funcs/hrisGetEmployeeDocumentCategories.js +1 -0
  28. package/esm/funcs/hrisGetEmployeeDocumentCategories.js.map +1 -1
  29. package/esm/funcs/hrisGetEmployees.js +1 -0
  30. package/esm/funcs/hrisGetEmployees.js.map +1 -1
  31. package/esm/funcs/hrisGetEmployments.js +1 -0
  32. package/esm/funcs/hrisGetEmployments.js.map +1 -1
  33. package/esm/funcs/hrisGetGroups.js +1 -0
  34. package/esm/funcs/hrisGetGroups.js.map +1 -1
  35. package/esm/funcs/hrisGetLegalEntities.js +1 -0
  36. package/esm/funcs/hrisGetLegalEntities.js.map +1 -1
  37. package/esm/funcs/hrisGetLocations.js +1 -0
  38. package/esm/funcs/hrisGetLocations.js.map +1 -1
  39. package/esm/funcs/hrisGetPerformanceReviewCycles.js +1 -0
  40. package/esm/funcs/hrisGetPerformanceReviewCycles.js.map +1 -1
  41. package/esm/funcs/hrisGetPerformanceReviews.js +1 -0
  42. package/esm/funcs/hrisGetPerformanceReviews.js.map +1 -1
  43. package/esm/funcs/hrisGetTimeOffBalances.js +1 -0
  44. package/esm/funcs/hrisGetTimeOffBalances.js.map +1 -1
  45. package/esm/funcs/hrisGetTimesheets.js +1 -0
  46. package/esm/funcs/hrisGetTimesheets.js.map +1 -1
  47. package/esm/lib/config.d.ts +3 -3
  48. package/esm/lib/config.js +3 -3
  49. package/esm/models/operations/getatsapplications.d.ts +5 -0
  50. package/esm/models/operations/getatsapplications.d.ts.map +1 -1
  51. package/esm/models/operations/getatsapplications.js +1 -0
  52. package/esm/models/operations/getatsapplications.js.map +1 -1
  53. package/esm/models/operations/getatsapplicationstages.d.ts +5 -0
  54. package/esm/models/operations/getatsapplicationstages.d.ts.map +1 -1
  55. package/esm/models/operations/getatsapplicationstages.js +1 -0
  56. package/esm/models/operations/getatsapplicationstages.js.map +1 -1
  57. package/esm/models/operations/getatscandidates.d.ts +5 -0
  58. package/esm/models/operations/getatscandidates.d.ts.map +1 -1
  59. package/esm/models/operations/getatscandidates.js +1 -0
  60. package/esm/models/operations/getatscandidates.js.map +1 -1
  61. package/esm/models/operations/getatsinterviews.d.ts +5 -0
  62. package/esm/models/operations/getatsinterviews.d.ts.map +1 -1
  63. package/esm/models/operations/getatsinterviews.js +1 -0
  64. package/esm/models/operations/getatsinterviews.js.map +1 -1
  65. package/esm/models/operations/getatsjobs.d.ts +5 -0
  66. package/esm/models/operations/getatsjobs.d.ts.map +1 -1
  67. package/esm/models/operations/getatsjobs.js +1 -0
  68. package/esm/models/operations/getatsjobs.js.map +1 -1
  69. package/esm/models/operations/getatsoffers.d.ts +5 -0
  70. package/esm/models/operations/getatsoffers.d.ts.map +1 -1
  71. package/esm/models/operations/getatsoffers.js +1 -0
  72. package/esm/models/operations/getatsoffers.js.map +1 -1
  73. package/esm/models/operations/getatsrejectionreasons.d.ts +5 -0
  74. package/esm/models/operations/getatsrejectionreasons.d.ts.map +1 -1
  75. package/esm/models/operations/getatsrejectionreasons.js +1 -0
  76. package/esm/models/operations/getatsrejectionreasons.js.map +1 -1
  77. package/esm/models/operations/getatstags.d.ts +5 -0
  78. package/esm/models/operations/getatstags.d.ts.map +1 -1
  79. package/esm/models/operations/getatstags.js +1 -0
  80. package/esm/models/operations/getatstags.js.map +1 -1
  81. package/esm/models/operations/getatsusers.d.ts +5 -0
  82. package/esm/models/operations/getatsusers.d.ts.map +1 -1
  83. package/esm/models/operations/getatsusers.js +1 -0
  84. package/esm/models/operations/getatsusers.js.map +1 -1
  85. package/esm/models/operations/gethrisabsences.d.ts +5 -0
  86. package/esm/models/operations/gethrisabsences.d.ts.map +1 -1
  87. package/esm/models/operations/gethrisabsences.js +1 -0
  88. package/esm/models/operations/gethrisabsences.js.map +1 -1
  89. package/esm/models/operations/gethrisabsencetypes.d.ts +5 -0
  90. package/esm/models/operations/gethrisabsencetypes.d.ts.map +1 -1
  91. package/esm/models/operations/gethrisabsencetypes.js +1 -0
  92. package/esm/models/operations/gethrisabsencetypes.js.map +1 -1
  93. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts +5 -0
  94. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts.map +1 -1
  95. package/esm/models/operations/gethrisemployeedocumentcategories.js +1 -0
  96. package/esm/models/operations/gethrisemployeedocumentcategories.js.map +1 -1
  97. package/esm/models/operations/gethrisemployees.d.ts +5 -0
  98. package/esm/models/operations/gethrisemployees.d.ts.map +1 -1
  99. package/esm/models/operations/gethrisemployees.js +1 -0
  100. package/esm/models/operations/gethrisemployees.js.map +1 -1
  101. package/esm/models/operations/gethrisemployments.d.ts +5 -0
  102. package/esm/models/operations/gethrisemployments.d.ts.map +1 -1
  103. package/esm/models/operations/gethrisemployments.js +1 -0
  104. package/esm/models/operations/gethrisemployments.js.map +1 -1
  105. package/esm/models/operations/gethrisgroups.d.ts +5 -0
  106. package/esm/models/operations/gethrisgroups.d.ts.map +1 -1
  107. package/esm/models/operations/gethrisgroups.js +1 -0
  108. package/esm/models/operations/gethrisgroups.js.map +1 -1
  109. package/esm/models/operations/gethrislegalentities.d.ts +5 -0
  110. package/esm/models/operations/gethrislegalentities.d.ts.map +1 -1
  111. package/esm/models/operations/gethrislegalentities.js +1 -0
  112. package/esm/models/operations/gethrislegalentities.js.map +1 -1
  113. package/esm/models/operations/gethrislocations.d.ts +5 -0
  114. package/esm/models/operations/gethrislocations.d.ts.map +1 -1
  115. package/esm/models/operations/gethrislocations.js +1 -0
  116. package/esm/models/operations/gethrislocations.js.map +1 -1
  117. package/esm/models/operations/gethrisperformancereviewcycles.d.ts +5 -0
  118. package/esm/models/operations/gethrisperformancereviewcycles.d.ts.map +1 -1
  119. package/esm/models/operations/gethrisperformancereviewcycles.js +1 -0
  120. package/esm/models/operations/gethrisperformancereviewcycles.js.map +1 -1
  121. package/esm/models/operations/gethrisperformancereviews.d.ts +5 -0
  122. package/esm/models/operations/gethrisperformancereviews.d.ts.map +1 -1
  123. package/esm/models/operations/gethrisperformancereviews.js +1 -0
  124. package/esm/models/operations/gethrisperformancereviews.js.map +1 -1
  125. package/esm/models/operations/gethristimeoffbalances.d.ts +5 -0
  126. package/esm/models/operations/gethristimeoffbalances.d.ts.map +1 -1
  127. package/esm/models/operations/gethristimeoffbalances.js +1 -0
  128. package/esm/models/operations/gethristimeoffbalances.js.map +1 -1
  129. package/esm/models/operations/gethristimesheets.d.ts +5 -0
  130. package/esm/models/operations/gethristimesheets.d.ts.map +1 -1
  131. package/esm/models/operations/gethristimesheets.js +1 -0
  132. package/esm/models/operations/gethristimesheets.js.map +1 -1
  133. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.d.ts +21 -0
  134. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.d.ts.map +1 -1
  135. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.js +9 -0
  136. package/esm/models/postatsapplicationsapplicationidrejectrequestbody.js.map +1 -1
  137. package/esm/models/postatscandidatesrequestbody.d.ts +37 -0
  138. package/esm/models/postatscandidatesrequestbody.d.ts.map +1 -1
  139. package/esm/models/postatscandidatesrequestbody.js +15 -0
  140. package/esm/models/postatscandidatesrequestbody.js.map +1 -1
  141. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts +37 -0
  142. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts.map +1 -1
  143. package/esm/models/postatsjobsjobidapplicationsrequestbody.js +16 -0
  144. package/esm/models/postatsjobsjobidapplicationsrequestbody.js.map +1 -1
  145. package/esm/models/postconnectcreatelinkrequestbody.d.ts +68 -67
  146. package/esm/models/postconnectcreatelinkrequestbody.d.ts.map +1 -1
  147. package/esm/models/postconnectcreatelinkrequestbody.js +68 -67
  148. package/esm/models/postconnectcreatelinkrequestbody.js.map +1 -1
  149. package/esm/sdk/general.d.ts +131 -129
  150. package/esm/sdk/general.d.ts.map +1 -1
  151. package/esm/sdk/general.js +131 -129
  152. package/esm/sdk/general.js.map +1 -1
  153. package/examples/package-lock.json +1 -1
  154. package/jsr.json +1 -1
  155. package/package.json +1 -1
  156. package/src/funcs/atsGetApplicationStages.ts +1 -0
  157. package/src/funcs/atsGetApplications.ts +1 -0
  158. package/src/funcs/atsGetCandidates.ts +1 -0
  159. package/src/funcs/atsGetInterviews.ts +1 -0
  160. package/src/funcs/atsGetJobs.ts +1 -0
  161. package/src/funcs/atsGetOffers.ts +1 -0
  162. package/src/funcs/atsGetRejectionReasons.ts +1 -0
  163. package/src/funcs/atsGetTags.ts +1 -0
  164. package/src/funcs/atsGetUsers.ts +1 -0
  165. package/src/funcs/generalSendPassthroughRequest.ts +131 -129
  166. package/src/funcs/hrisGetAbsenceTypes.ts +1 -0
  167. package/src/funcs/hrisGetAbsences.ts +1 -0
  168. package/src/funcs/hrisGetEmployeeDocumentCategories.ts +1 -0
  169. package/src/funcs/hrisGetEmployees.ts +1 -0
  170. package/src/funcs/hrisGetEmployments.ts +1 -0
  171. package/src/funcs/hrisGetGroups.ts +1 -0
  172. package/src/funcs/hrisGetLegalEntities.ts +1 -0
  173. package/src/funcs/hrisGetLocations.ts +1 -0
  174. package/src/funcs/hrisGetPerformanceReviewCycles.ts +1 -0
  175. package/src/funcs/hrisGetPerformanceReviews.ts +1 -0
  176. package/src/funcs/hrisGetTimeOffBalances.ts +1 -0
  177. package/src/funcs/hrisGetTimesheets.ts +1 -0
  178. package/src/lib/config.ts +3 -3
  179. package/src/models/operations/getatsapplications.ts +6 -0
  180. package/src/models/operations/getatsapplicationstages.ts +6 -0
  181. package/src/models/operations/getatscandidates.ts +6 -0
  182. package/src/models/operations/getatsinterviews.ts +6 -0
  183. package/src/models/operations/getatsjobs.ts +6 -0
  184. package/src/models/operations/getatsoffers.ts +6 -0
  185. package/src/models/operations/getatsrejectionreasons.ts +6 -0
  186. package/src/models/operations/getatstags.ts +6 -0
  187. package/src/models/operations/getatsusers.ts +6 -0
  188. package/src/models/operations/gethrisabsences.ts +6 -0
  189. package/src/models/operations/gethrisabsencetypes.ts +6 -0
  190. package/src/models/operations/gethrisemployeedocumentcategories.ts +6 -0
  191. package/src/models/operations/gethrisemployees.ts +6 -0
  192. package/src/models/operations/gethrisemployments.ts +6 -0
  193. package/src/models/operations/gethrisgroups.ts +6 -0
  194. package/src/models/operations/gethrislegalentities.ts +6 -0
  195. package/src/models/operations/gethrislocations.ts +6 -0
  196. package/src/models/operations/gethrisperformancereviewcycles.ts +6 -0
  197. package/src/models/operations/gethrisperformancereviews.ts +6 -0
  198. package/src/models/operations/gethristimeoffbalances.ts +6 -0
  199. package/src/models/operations/gethristimesheets.ts +6 -0
  200. package/src/models/postatsapplicationsapplicationidrejectrequestbody.ts +48 -0
  201. package/src/models/postatscandidatesrequestbody.ts +83 -0
  202. package/src/models/postatsjobsjobidapplicationsrequestbody.ts +88 -0
  203. package/src/models/postconnectcreatelinkrequestbody.ts +68 -67
  204. package/src/sdk/general.ts +131 -129
  205. package/tests/basic-behavior.spec.ts +1 -1
  206. package/tests/employee-form-flow.spec.ts +175 -0
  207. package/tests/job-board.spec.ts +1 -1
@@ -0,0 +1,175 @@
1
+ import { it, expect } from "vitest";
2
+ import { TestContext, describeSdkSuite } from "./helpers/test-context";
3
+
4
+ describeSdkSuite("Employee Form Flow", () => {
5
+ it("should get employee form and return form response", async () => {
6
+ const ctx = new TestContext();
7
+
8
+ ctx.mockEndpoint({
9
+ method: "GET",
10
+ path: "/v1/hris/employees/form",
11
+ response: {
12
+ body: {
13
+ status: "success",
14
+ data: {
15
+ properties: {
16
+ firstName: {
17
+ type: "text",
18
+ label: "First Name",
19
+ required: true,
20
+ description: "Employee's first name",
21
+ unified_key: "first_name",
22
+ min_length: 1,
23
+ max_length: 100,
24
+ },
25
+ lastName: {
26
+ type: "text",
27
+ label: "Last Name",
28
+ required: true,
29
+ description: "Employee's last name",
30
+ unified_key: "last_name",
31
+ min_length: 1,
32
+ max_length: 100,
33
+ },
34
+ startDate: {
35
+ type: "date",
36
+ label: "Start Date",
37
+ required: true,
38
+ description: "Employee's start date",
39
+ unified_key: "start_date",
40
+ },
41
+ keyNumbers: {
42
+ type: "array",
43
+ label: "Key Numbers",
44
+ required: false,
45
+ description: "Employee's key numbers",
46
+ unified_key: null,
47
+ min_items: 2,
48
+ max_items: 5,
49
+ item_type: {
50
+ type: "number",
51
+ label: "Key Number",
52
+ required: false,
53
+ description: "The number of the keys which belong to the employee",
54
+ unified_key: null,
55
+ min: 0,
56
+ max: 99,
57
+ },
58
+ },
59
+ workLocation: {
60
+ type: "object",
61
+ label: "Work Location",
62
+ required: false,
63
+ description: "Employee's work location",
64
+ unified_key: null,
65
+ properties: {
66
+ site: {
67
+ type: "single_select",
68
+ label: "Site",
69
+ required: true,
70
+ description: "Employee's site",
71
+ unified_key: null,
72
+ options: {
73
+ type: "inline",
74
+ entries: [
75
+ {
76
+ label: "Site 1",
77
+ id: "FXrER44xubBqA9DLgZ3PFNNx",
78
+ unified_value: "1",
79
+ remote_id: "site_1",
80
+ },
81
+ {
82
+ label: "Site 2",
83
+ id: "2rv75UKT2XBoQXsUb9agiTUm",
84
+ unified_value: "2",
85
+ remote_id: "site_2",
86
+ },
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ },
94
+ warnings: [],
95
+ },
96
+ },
97
+ });
98
+
99
+ // Make the API call
100
+ const form = await ctx.kombo.hris.getEmployeeForm();
101
+
102
+ // Verify the response structure
103
+ expect(form).toBeDefined();
104
+ expect(form.status).toBe("success");
105
+ expect(form.data).toBeDefined();
106
+ expect(form.data.properties.firstName).toBeDefined();
107
+ expect(form.data.properties.keyNumbers).toBeDefined();
108
+ expect(form.warnings).toEqual([]);
109
+ });
110
+
111
+ it("should create employee with form using realistic employee data", async () => {
112
+ const ctx = new TestContext();
113
+
114
+ ctx.mockEndpoint({
115
+ method: "POST",
116
+ path: "/v1/hris/employees/form",
117
+ response: {
118
+ body: {
119
+ status: "success",
120
+ data: {
121
+ id: "emp-123",
122
+ remote_id: "remote-emp-123",
123
+ prehire: {
124
+ remote_id: null,
125
+ },
126
+ },
127
+ warnings: [],
128
+ },
129
+ },
130
+ });
131
+
132
+ // Make the API call with realistic employee properties
133
+ const result = await ctx.kombo.hris.createEmployeeWithForm({
134
+ properties: {
135
+ firstName: "John",
136
+ lastName: "Doe",
137
+ startDate: "2025-01-15",
138
+ keyNumbers: [142, 525, 63],
139
+ workLocation: {
140
+ site: "FXrER44xubBqA9DLgZ3PFNNx",
141
+ },
142
+ },
143
+ });
144
+
145
+ // Verify the response structure
146
+ expect(result).toBeDefined();
147
+ expect(result.status).toBe("success");
148
+ expect(result.data).toBeDefined();
149
+ expect(result.data.id).toBe("emp-123");
150
+ expect(result.data.remote_id).toBe("remote-emp-123");
151
+ expect(result.warnings).toEqual([]);
152
+
153
+ // Verify request body is correctly serialized
154
+ const request = ctx.getLastRequest();
155
+ expect(request.method).toBe("POST");
156
+ expect(request.body).toMatchInlineSnapshot(`
157
+ {
158
+ "properties": {
159
+ "firstName": "John",
160
+ "keyNumbers": [
161
+ 142,
162
+ 525,
163
+ 63,
164
+ ],
165
+ "lastName": "Doe",
166
+ "startDate": "2025-01-15",
167
+ "workLocation": {
168
+ "site": "FXrER44xubBqA9DLgZ3PFNNx",
169
+ },
170
+ },
171
+ }
172
+ `);
173
+ });
174
+ });
175
+
@@ -26,7 +26,7 @@ describeSdkSuite("Kombo ATS Jobs API", () => {
26
26
  // Verify and snapshot the request details
27
27
  const request = ctx.getLastRequest();
28
28
  expect(request.path).toMatchInlineSnapshot(
29
- `"/v1/ats/jobs?include_deleted=false&page_size=100"`
29
+ `"/v1/ats/jobs?ignore_unsupported_filters=false&include_deleted=false&page_size=100"`
30
30
  );
31
31
  });
32
32
  });