kombo 1.2.8 → 1.2.9

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +322 -0
  3. data/lib/kombo/connect.rb +2 -1
  4. data/lib/kombo/general.rb +11 -1
  5. data/lib/kombo/hris.rb +322 -0
  6. data/lib/kombo/models/operations/getatsattachments_request.rb +74 -0
  7. data/lib/kombo/models/operations/getatsattachments_request.rbi +31 -0
  8. data/lib/kombo/models/operations/getatsattachments_response.rb +56 -0
  9. data/lib/kombo/models/operations/getatsattachments_response.rbi +19 -0
  10. data/lib/kombo/models/operations/getatsscorecards_request.rb +83 -0
  11. data/lib/kombo/models/operations/getatsscorecards_request.rbi +31 -0
  12. data/lib/kombo/models/operations/getatsscorecards_response.rb +56 -0
  13. data/lib/kombo/models/operations/getatsscorecards_response.rbi +19 -0
  14. data/lib/kombo/models/operations/gethrispayruns_request.rb +70 -0
  15. data/lib/kombo/models/operations/gethrispayruns_request.rbi +29 -0
  16. data/lib/kombo/models/operations/gethrispayruns_response.rb +56 -0
  17. data/lib/kombo/models/operations/gethrispayruns_response.rbi +19 -0
  18. data/lib/kombo/models/operations/gethrispayslips_request.rb +87 -0
  19. data/lib/kombo/models/operations/gethrispayslips_request.rbi +33 -0
  20. data/lib/kombo/models/operations/gethrispayslips_response.rb +56 -0
  21. data/lib/kombo/models/operations/gethrispayslips_response.rbi +19 -0
  22. data/lib/kombo/models/operations.rb +8 -0
  23. data/lib/kombo/models/shared/amount.rb +36 -0
  24. data/lib/kombo/models/shared/amount.rbi +15 -0
  25. data/lib/kombo/models/shared/change.rb +19 -0
  26. data/lib/kombo/models/shared/change.rbi +11 -0
  27. data/lib/kombo/models/shared/content_ref.rb +43 -0
  28. data/lib/kombo/models/shared/content_ref.rbi +17 -0
  29. data/lib/kombo/models/shared/employee.rb +57 -0
  30. data/lib/kombo/models/shared/employee.rbi +25 -0
  31. data/lib/kombo/models/shared/format_multiselect.rb +2 -2
  32. data/lib/kombo/models/shared/format_singleselect.rb +2 -2
  33. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
  34. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
  35. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
  36. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
  37. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
  38. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
  39. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
  40. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
  41. data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  42. data/lib/kombo/models/shared/{option_2.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  43. data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
  44. data/lib/kombo/models/shared/getatsjobspositiveresponse_option_2.rbi +17 -0
  45. data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
  46. data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
  47. data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
  48. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
  49. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
  50. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
  51. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
  52. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
  53. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
  55. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
  56. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
  57. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
  58. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
  59. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
  60. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
  61. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
  62. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
  63. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
  64. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
  65. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
  66. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
  67. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
  68. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
  69. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
  70. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
  71. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
  72. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
  73. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
  74. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
  75. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
  76. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
  77. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
  78. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
  79. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
  80. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
  81. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
  82. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
  83. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
  84. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
  85. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
  86. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
  87. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
  88. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +62 -0
  89. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +27 -0
  90. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +40 -0
  91. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +17 -0
  92. data/lib/kombo/models/shared/integration.rb +44 -0
  93. data/lib/kombo/models/shared/integration.rbi +19 -0
  94. data/lib/kombo/models/shared/integration_tool.rb +4 -0
  95. data/lib/kombo/models/shared/issue.rb +56 -0
  96. data/lib/kombo/models/shared/issue.rbi +25 -0
  97. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
  98. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
  99. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
  100. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
  101. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
  102. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
  103. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
  104. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
  105. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
  106. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
  107. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
  108. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
  109. data/lib/kombo/models/shared/line_item.rb +44 -0
  110. data/lib/kombo/models/shared/{option_1.rbi → line_item.rbi} +6 -4
  111. data/lib/kombo/models/shared/name.rb +6 -0
  112. data/lib/kombo/models/shared/pay_run.rb +48 -0
  113. data/lib/kombo/models/shared/pay_run.rbi +21 -0
  114. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  115. data/lib/kombo/models/shared/{afas.rbi → postatscandidatesrequestbody_afas.rbi} +2 -2
  116. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  117. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  118. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  119. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  120. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  121. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  122. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +10 -2
  123. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +4 -0
  124. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  125. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  126. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  127. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  128. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  129. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  130. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  131. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  132. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +10 -2
  133. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +4 -0
  134. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  135. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  136. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  137. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  138. data/lib/kombo/models/shared/{afas.rb → posthrisemployeesemployeeiddocumentsrequestbody_afas.rb} +1 -1
  139. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  140. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +2 -2
  141. data/lib/kombo/models/shared/response.rb +27 -0
  142. data/lib/kombo/models/shared/response.rbi +11 -0
  143. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  144. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  145. data/lib/kombo/models/shared/result_date.rb +55 -0
  146. data/lib/kombo/models/shared/result_date.rbi +23 -0
  147. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  148. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  149. data/lib/kombo/models/shared/result_number.rb +55 -0
  150. data/lib/kombo/models/shared/result_number.rbi +23 -0
  151. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  152. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  153. data/lib/kombo/models/shared/result_text.rb +55 -0
  154. data/lib/kombo/models/shared/result_text.rbi +23 -0
  155. data/lib/kombo/models/shared.rb +57 -4
  156. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  157. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  158. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  159. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  160. data/lib/kombo/models/webhooks.rb +2 -0
  161. data/lib/kombo/sdkconfiguration.rb +5 -3
  162. data/lib/kombo/utils/utils.rb +6 -2
  163. metadata +136 -10
@@ -20,6 +20,7 @@ module Kombo
20
20
  CORNERSTONETALENTLINK = new('cornerstonetalentlink')
21
21
  RECRUITEE = new('recruitee')
22
22
  RECRUITERFLOW = new('recruiterflow')
23
+ ATLAS = new('atlas')
23
24
  GREENHOUSE = new('greenhouse')
24
25
  GREENHOUSEV3 = new('greenhousev3')
25
26
  GREENHOUSEJOBBOARD = new('greenhousejobboard')
@@ -127,6 +128,7 @@ module Kombo
127
128
  DATABITES = new('databites')
128
129
  PAGEUP = new('pageup')
129
130
  TALENT360 = new('talent360')
131
+ EMPLYPEOPLE = new('emplypeople')
130
132
  WORKDAYCUSTOMREPORT = new('workdaycustomreport')
131
133
  WORKDAYCUSTOMREPORTSFTP = new('workdaycustomreportsftp')
132
134
  UKGPROWFM = new('ukgprowfm')
@@ -184,6 +186,7 @@ module Kombo
184
186
  BOONDMANAGER = new('boondmanager')
185
187
  HAILEYHR = new('haileyhr')
186
188
  SILAE = new('silae')
189
+ SKELLO = new('skello')
187
190
  OYSTERHR = new('oysterhr')
188
191
  KIWIHR = new('kiwihr')
189
192
  SQUARE = new('square')
@@ -204,6 +207,7 @@ module Kombo
204
207
  YOUFORCE = new('youforce')
205
208
  NIBELIS = new('nibelis')
206
209
  PEOPLEXD = new('peoplexd')
210
+ ZELLIS = new('zellis')
207
211
  SFTP = new('sftp')
208
212
  SFTPFETCH = new('sftpfetch')
209
213
  THREE_HUNDRED_AND_SIXTYLEARNING = new('360learning')
@@ -0,0 +1,56 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class Issue
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The unique identifier of the issue.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The issue type, for example `integration.authentication_failed`. Kombo will add more types over time. Treat unknown values as valid and handle them without failing.
18
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
19
+ # A short, customer-facing title for this issue type.
20
+ field :title, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('title'), required: true } }
21
+ # The issue status after this change.
22
+ field :status, Models::Shared::IssueStatusChangedWebhookPayloadStatus, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::IssueStatusChangedWebhookPayloadStatus, false) } }
23
+ # What is wrong and how to investigate or fix it.
24
+ field :markdown_message, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('markdown_message'), required: true } }
25
+ # ISO 8601 timestamp when Kombo first observed this episode of the issue.
26
+ field :first_observed_at, ::DateTime, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('first_observed_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
27
+ # ISO 8601 timestamp when the issue was resolved. `null` while it is open.
28
+ field :resolved_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('resolved_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
29
+
30
+ sig { params(id: ::String, type: ::String, title: ::String, status: Models::Shared::IssueStatusChangedWebhookPayloadStatus, markdown_message: ::String, first_observed_at: ::DateTime, resolved_at: T.nilable(::DateTime)).void }
31
+ def initialize(id:, type:, title:, status:, markdown_message:, first_observed_at:, resolved_at: nil)
32
+ @id = id
33
+ @type = type
34
+ @title = title
35
+ @status = status
36
+ @markdown_message = markdown_message
37
+ @first_observed_at = first_observed_at
38
+ @resolved_at = resolved_at
39
+ end
40
+
41
+ sig { params(other: T.untyped).returns(T::Boolean) }
42
+ def ==(other)
43
+ return false unless other.is_a? self.class
44
+ return false unless @id == other.id
45
+ return false unless @type == other.type
46
+ return false unless @title == other.title
47
+ return false unless @status == other.status
48
+ return false unless @markdown_message == other.markdown_message
49
+ return false unless @first_observed_at == other.first_observed_at
50
+ return false unless @resolved_at == other.resolved_at
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::Issue
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::Issue
11
+ def id(); end
12
+ def id=(str_); end
13
+ def type(); end
14
+ def type=(str_); end
15
+ def title(); end
16
+ def title=(str_); end
17
+ def status(); end
18
+ def status=(str_); end
19
+ def markdown_message(); end
20
+ def markdown_message=(str_); end
21
+ def first_observed_at(); end
22
+ def first_observed_at=(str_); end
23
+ def resolved_at(); end
24
+ def resolved_at=(str_); end
25
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class IssueStatusChangedWebhookPayload
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Unique identifier for this webhook event
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # Type of the webhook event
18
+ field :type, Models::Shared::IssueStatusChangedWebhookPayloadType, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::IssueStatusChangedWebhookPayloadType, false) } }
19
+
20
+ field :data, Models::Shared::IssueStatusChangedWebhookPayloadData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
21
+
22
+ sig { params(id: ::String, type: Models::Shared::IssueStatusChangedWebhookPayloadType, data: Models::Shared::IssueStatusChangedWebhookPayloadData).void }
23
+ def initialize(id:, type:, data:)
24
+ @id = id
25
+ @type = type
26
+ @data = data
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @id == other.id
33
+ return false unless @type == other.type
34
+ return false unless @data == other.data
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayload
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayload
11
+ def id(); end
12
+ def id=(str_); end
13
+ def type(); end
14
+ def type=(str_); end
15
+ def data(); end
16
+ def data=(str_); end
17
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # IssueStatusChangedWebhookPayloadCategory - The category of the integration (HRIS, ATS, ASSESSMENT, or LMS).
11
+ class IssueStatusChangedWebhookPayloadCategory < T::Enum
12
+ enums do
13
+ HRIS = new('HRIS')
14
+ ATS = new('ATS')
15
+ ASSESSMENT = new('ASSESSMENT')
16
+ LMS = new('LMS')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadCategory
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadCategory
11
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class IssueStatusChangedWebhookPayloadData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Why this webhook was sent: the issue was raised or resolved.
16
+ field :change, Models::Shared::Change, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('change'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::Change, false) } }
17
+
18
+ field :issue, Models::Shared::Issue, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('issue'), required: true } }
19
+ # The integration this issue belongs to. `null` for environment-wide issues.
20
+ field :integration, Crystalline::Nilable.new(Models::Shared::Integration), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('integration'), required: true } }
21
+
22
+ sig { params(change: Models::Shared::Change, issue: Models::Shared::Issue, integration: T.nilable(Models::Shared::Integration)).void }
23
+ def initialize(change:, issue:, integration: nil)
24
+ @change = change
25
+ @issue = issue
26
+ @integration = integration
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @change == other.change
33
+ return false unless @issue == other.issue
34
+ return false unless @integration == other.integration
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadData
11
+ def change(); end
12
+ def change=(str_); end
13
+ def issue(); end
14
+ def issue=(str_); end
15
+ def integration(); end
16
+ def integration=(str_); end
17
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # Information about the end user who created the integration.
11
+ class IssueStatusChangedWebhookPayloadEndUser
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The name of the organization that owns the integration.
16
+ field :organization_name, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('organization_name'), required: true } }
17
+ # The email address of the user who created the integration.
18
+ field :creator_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('creator_email'), required: true } }
19
+ # The unique identifier of the organization in the integrated system.
20
+ field :origin_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('origin_id'), required: true } }
21
+
22
+ sig { params(organization_name: ::String, creator_email: T.nilable(::String), origin_id: T.nilable(::String)).void }
23
+ def initialize(organization_name:, creator_email: nil, origin_id: nil)
24
+ @organization_name = organization_name
25
+ @creator_email = creator_email
26
+ @origin_id = origin_id
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @organization_name == other.organization_name
33
+ return false unless @creator_email == other.creator_email
34
+ return false unless @origin_id == other.origin_id
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadEndUser
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadEndUser
11
+ def organization_name(); end
12
+ def organization_name=(str_); end
13
+ def creator_email(); end
14
+ def creator_email=(str_); end
15
+ def origin_id(); end
16
+ def origin_id=(str_); end
17
+ end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # IssueStatusChangedWebhookPayloadStatus - The issue status after this change.
11
+ class IssueStatusChangedWebhookPayloadStatus < T::Enum
12
+ enums do
13
+ OPEN = new('OPEN')
14
+ RESOLVED = new('RESOLVED')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadStatus
11
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # IssueStatusChangedWebhookPayloadType - Type of the webhook event
11
+ class IssueStatusChangedWebhookPayloadType < T::Enum
12
+ enums do
13
+ ISSUE_STATUS_CHANGED = new('issue-status-changed')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::IssueStatusChangedWebhookPayloadType
11
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class LineItem
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. For some integrations, this ID can still change if the payslip is edited.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. This value may include the item's position on the payslip, which can change if the payslip is edited.
18
+ field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The name of the salary type.
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
+ # The amount of the line item.
22
+ field :amount, Crystalline::Nilable.new(Models::Shared::Amount), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('amount') } }
23
+
24
+ sig { params(id: ::String, remote_id: ::String, name: T.nilable(::String), amount: T.nilable(Models::Shared::Amount)).void }
25
+ def initialize(id:, remote_id:, name: nil, amount: nil)
26
+ @id = id
27
+ @remote_id = remote_id
28
+ @name = name
29
+ @amount = amount
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @id == other.id
36
+ return false unless @remote_id == other.remote_id
37
+ return false unless @name == other.name
38
+ return false unless @amount == other.amount
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -2,16 +2,18 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::Option1
5
+ class Kombo::Models::Shared::LineItem
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::Option1
10
+ class Kombo::Models::Shared::LineItem
11
11
  def id(); end
12
12
  def id=(str_); end
13
- def name(); end
14
- def name=(str_); end
15
13
  def remote_id(); end
16
14
  def remote_id=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def amount(); end
18
+ def amount=(str_); end
17
19
  end
@@ -27,6 +27,10 @@ module Kombo
27
27
  HRIS_SKILLS = new('hris_skills')
28
28
  HRIS_SKILL_RATING_PROVIDERS = new('hris_skill_rating_providers')
29
29
  HRIS_EMPLOYEE_SKILL_PROFICIENCY_RATINGS = new('hris_employee_skill_proficiency_ratings')
30
+ HRIS_PAY_RUNS = new('hris_pay_runs')
31
+ HRIS_PAYSLIPS = new('hris_payslips')
32
+ HRIS_SALARY_TYPES = new('hris_salary_types')
33
+ HRIS_PAYSLIP_LINE_ITEMS = new('hris_payslip_line_items')
30
34
  ATS_USERS = new('ats_users')
31
35
  ATS_JOBS = new('ats_jobs')
32
36
  ATS_JOB_POSTINGS = new('ats_job_postings')
@@ -40,6 +44,8 @@ module Kombo
40
44
  ATS_REJECTION_REASONS = new('ats_rejection_reasons')
41
45
  ATS_ROLES = new('ats_roles')
42
46
  ATS_NOTES = new('ats_notes')
47
+ ATS_SCORECARDS = new('ats_scorecards')
48
+ ATS_ATTACHMENTS = new('ats_attachments')
43
49
  LMS_USERS = new('lms_users')
44
50
  LMS_COURSE_PROVIDERS = new('lms_course_providers')
45
51
  LMS_SKILLS = new('lms_skills')
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The pay run the payslip was paid out through.
11
+ class PayRun
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
18
+ field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The start date of the pay run, as a calendar date (`yyyy-MM-dd`).
20
+ field :start_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('start_date'), required: true, 'decoder': ::Kombo::Utils.date_from_iso_format(false) } }
21
+ # The end date of the pay run, as a calendar date (`yyyy-MM-dd`).
22
+ field :end_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('end_date'), required: true, 'decoder': ::Kombo::Utils.date_from_iso_format(false) } }
23
+ # The Kombo ID of the pay run’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint.
24
+ field :legal_entity_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('legal_entity_id'), required: true } }
25
+
26
+ sig { params(id: ::String, remote_id: ::String, start_date: T.nilable(::Date), end_date: T.nilable(::Date), legal_entity_id: T.nilable(::String)).void }
27
+ def initialize(id:, remote_id:, start_date: nil, end_date: nil, legal_entity_id: nil)
28
+ @id = id
29
+ @remote_id = remote_id
30
+ @start_date = start_date
31
+ @end_date = end_date
32
+ @legal_entity_id = legal_entity_id
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @id == other.id
39
+ return false unless @remote_id == other.remote_id
40
+ return false unless @start_date == other.start_date
41
+ return false unless @end_date == other.end_date
42
+ return false unless @legal_entity_id == other.legal_entity_id
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PayRun
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PayRun
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def start_date(); end
16
+ def start_date=(str_); end
17
+ def end_date(); end
18
+ def end_date=(str_); end
19
+ def legal_entity_id(); end
20
+ def legal_entity_id=(str_); end
21
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # Fields specific to AFAS.
11
+ class PostAtsCandidatesRequestBodyAfas
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Additional fields passed through to AFAS `HrCreateApplicant.Element.Fields`.
16
+ field :fields_, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Fields') } }
17
+
18
+ sig { params(fields_: T.nilable(T::Hash[Symbol, ::Object])).void }
19
+ def initialize(fields_: nil)
20
+ @fields_ = fields_
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @fields_ == other.fields_
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::Afas
5
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAfas
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::Afas
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAfas
11
11
  def fields_(); end
12
12
  def fields_=(str_); end
13
13
  end
@@ -12,17 +12,21 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # Fields that we will pass through to Avature's create person form (`POST /people`). Available fields depend on your Avature instance's People write configuration.
16
+ field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
15
17
 
16
18
  field :workflow, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyWorkflow), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workflow') } }
17
19
 
18
- sig { params(workflow: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkflow)).void }
19
- def initialize(workflow: nil)
20
+ sig { params(candidate: T.nilable(T::Hash[Symbol, ::Object]), workflow: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkflow)).void }
21
+ def initialize(candidate: nil, workflow: nil)
22
+ @candidate = candidate
20
23
  @workflow = workflow
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
29
+ return false unless @candidate == other.candidate
26
30
  return false unless @workflow == other.workflow
27
31
  true
28
32
  end
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAvature
11
+ def candidate(); end
12
+ def candidate=(str_); end
11
13
  def workflow(); end
12
14
  def workflow=(str_); end
13
15
  end