kombo 1.2.8 → 1.2.10

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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +326 -0
  3. data/lib/kombo/connect.rb +2 -1
  4. data/lib/kombo/general.rb +26 -6
  5. data/lib/kombo/hris.rb +322 -2
  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/amount_ytd.rb +36 -0
  26. data/lib/kombo/models/shared/amount_ytd.rbi +15 -0
  27. data/lib/kombo/models/shared/change.rb +19 -0
  28. data/lib/kombo/models/shared/change.rbi +11 -0
  29. data/lib/kombo/models/shared/content_ref.rb +43 -0
  30. data/lib/kombo/models/shared/content_ref.rbi +17 -0
  31. data/lib/kombo/models/shared/domestic_bank_routing.rb +1 -1
  32. data/lib/kombo/models/shared/domestic_bank_routing_type.rb +1 -0
  33. data/lib/kombo/models/shared/employee.rb +57 -0
  34. data/lib/kombo/models/shared/employee.rbi +25 -0
  35. data/lib/kombo/models/shared/format_multiselect.rb +2 -2
  36. data/lib/kombo/models/shared/format_singleselect.rb +2 -2
  37. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
  38. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
  39. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
  40. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
  41. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
  42. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
  43. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
  44. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
  45. data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  46. data/lib/kombo/models/shared/{option_1.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  47. data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
  48. data/lib/kombo/models/shared/{option_2.rbi → getatsjobspositiveresponse_option_2.rbi} +2 -2
  49. data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
  50. data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
  51. data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
  52. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
  53. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
  55. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
  56. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
  57. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
  58. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
  59. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
  60. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
  61. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
  62. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
  63. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
  64. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
  65. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
  66. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
  67. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
  68. data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rb +6 -2
  69. data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rbi +2 -0
  70. data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rb +6 -2
  71. data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rbi +2 -0
  72. data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rb +6 -2
  73. data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rbi +2 -0
  74. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
  75. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
  76. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
  77. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
  78. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
  79. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
  80. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
  81. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
  82. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
  83. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
  84. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
  85. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
  86. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
  87. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
  88. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
  89. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
  90. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
  91. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
  92. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
  93. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
  94. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
  95. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
  96. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
  97. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
  98. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +66 -0
  99. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +29 -0
  100. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +52 -0
  101. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +23 -0
  102. data/lib/kombo/models/shared/gross_pay_ytd.rb +36 -0
  103. data/lib/kombo/models/shared/gross_pay_ytd.rbi +15 -0
  104. data/lib/kombo/models/shared/integration.rb +44 -0
  105. data/lib/kombo/models/shared/integration.rbi +19 -0
  106. data/lib/kombo/models/shared/integration_tool.rb +9 -1
  107. data/lib/kombo/models/shared/issue.rb +56 -0
  108. data/lib/kombo/models/shared/issue.rbi +25 -0
  109. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
  110. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
  111. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
  112. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
  113. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
  114. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
  115. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
  116. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
  117. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
  118. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
  119. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
  120. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
  121. data/lib/kombo/models/shared/line_item.rb +56 -0
  122. data/lib/kombo/models/shared/line_item.rbi +25 -0
  123. data/lib/kombo/models/shared/name.rb +6 -0
  124. data/lib/kombo/models/shared/net_pay_ytd.rb +36 -0
  125. data/lib/kombo/models/shared/net_pay_ytd.rbi +15 -0
  126. data/lib/kombo/models/shared/paid_amount_ytd.rb +36 -0
  127. data/lib/kombo/models/shared/paid_amount_ytd.rbi +15 -0
  128. data/lib/kombo/models/shared/pay_code.rb +36 -0
  129. data/lib/kombo/models/shared/pay_code.rbi +15 -0
  130. data/lib/kombo/models/shared/pay_run.rb +48 -0
  131. data/lib/kombo/models/shared/pay_run.rbi +21 -0
  132. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rb +6 -2
  133. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rbi +2 -0
  134. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rb +6 -2
  135. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rbi +2 -0
  136. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rb +32 -0
  137. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rbi +13 -0
  138. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rb +6 -2
  139. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rbi +2 -0
  140. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rb +32 -0
  141. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rbi +13 -0
  142. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  143. data/lib/kombo/models/shared/{afas.rbi → postatscandidatesrequestbody_afas.rbi} +2 -2
  144. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  145. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  146. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  147. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  148. data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rb +32 -0
  149. data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rbi +13 -0
  150. data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rb +44 -0
  151. data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rbi +19 -0
  152. data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rb +32 -0
  153. data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rbi +13 -0
  154. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  155. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  156. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +22 -2
  157. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +10 -0
  158. data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rb +6 -2
  159. data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rbi +2 -0
  160. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  161. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  162. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  163. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  164. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  165. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  166. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rb +32 -0
  167. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rbi +13 -0
  168. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rb +44 -0
  169. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rbi +19 -0
  170. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rb +32 -0
  171. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rbi +13 -0
  172. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  173. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  174. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +22 -2
  175. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +10 -0
  176. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rb +6 -2
  177. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rbi +2 -0
  178. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  179. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  180. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  181. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  182. data/lib/kombo/models/shared/{afas.rb → posthrisemployeesemployeeiddocumentsrequestbody_afas.rb} +1 -1
  183. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  184. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +2 -2
  185. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rb +32 -0
  186. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rbi +13 -0
  187. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  188. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  189. data/lib/kombo/models/shared/response.rb +27 -0
  190. data/lib/kombo/models/shared/response.rbi +11 -0
  191. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  192. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  193. data/lib/kombo/models/shared/result_date.rb +55 -0
  194. data/lib/kombo/models/shared/result_date.rbi +23 -0
  195. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  196. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  197. data/lib/kombo/models/shared/result_number.rb +55 -0
  198. data/lib/kombo/models/shared/result_number.rbi +23 -0
  199. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  200. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  201. data/lib/kombo/models/shared/result_text.rb +55 -0
  202. data/lib/kombo/models/shared/result_text.rbi +23 -0
  203. data/lib/kombo/models/shared/work_location.rb +6 -2
  204. data/lib/kombo/models/shared/work_location.rbi +2 -0
  205. data/lib/kombo/models/shared.rb +71 -4
  206. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  207. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  208. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  209. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  210. data/lib/kombo/models/webhooks.rb +2 -0
  211. data/lib/kombo/sdkconfiguration.rb +5 -3
  212. data/lib/kombo/utils/utils.rb +6 -2
  213. metadata +164 -10
@@ -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 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 pay code (salary type) this line item belongs to in the remote system.
20
+ field :pay_code, Models::Shared::PayCode, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('pay_code'), required: true } }
21
+ # The name of the salary type.
22
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
23
+ # A key-value store of fields not covered by the schema. [Read more](/custom-fields)
24
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
25
+ # The amount of the line item.
26
+ field :amount, Crystalline::Nilable.new(Models::Shared::Amount), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('amount') } }
27
+ # The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
28
+ field :amount_ytd, Crystalline::Nilable.new(Models::Shared::AmountYtd), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('amount_ytd') } }
29
+
30
+ sig { params(id: ::String, remote_id: ::String, pay_code: Models::Shared::PayCode, name: T.nilable(::String), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), amount: T.nilable(Models::Shared::Amount), amount_ytd: T.nilable(Models::Shared::AmountYtd)).void }
31
+ def initialize(id:, remote_id:, pay_code:, name: nil, custom_fields: nil, amount: nil, amount_ytd: nil)
32
+ @id = id
33
+ @remote_id = remote_id
34
+ @pay_code = pay_code
35
+ @name = name
36
+ @custom_fields = custom_fields
37
+ @amount = amount
38
+ @amount_ytd = amount_ytd
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 @remote_id == other.remote_id
46
+ return false unless @pay_code == other.pay_code
47
+ return false unless @name == other.name
48
+ return false unless @custom_fields == other.custom_fields
49
+ return false unless @amount == other.amount
50
+ return false unless @amount_ytd == other.amount_ytd
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::LineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::LineItem
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def pay_code(); end
16
+ def pay_code=(str_); end
17
+ def name(); end
18
+ def name=(str_); end
19
+ def custom_fields(); end
20
+ def custom_fields=(str_); end
21
+ def amount(); end
22
+ def amount=(str_); end
23
+ def amount_ytd(); end
24
+ def amount_ytd=(str_); end
25
+ 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,36 @@
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 year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
11
+ class NetPayYtd
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::NetPayYtd
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::NetPayYtd
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
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 year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
11
+ class PaidAmountYtd
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PaidAmountYtd
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PaidAmountYtd
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
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 code (salary type) this line item belongs to in the remote system.
11
+ class PayCode
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # 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.
16
+ field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
17
+ # The name of the salary type as it appears in the remote system.
18
+ field :remote_label, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_label'), required: true } }
19
+
20
+ sig { params(remote_id: ::String, remote_label: T.nilable(::String)).void }
21
+ def initialize(remote_id:, remote_label: nil)
22
+ @remote_id = remote_id
23
+ @remote_label = remote_label
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @remote_id == other.remote_id
30
+ return false unless @remote_label == other.remote_label
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PayCode
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PayCode
11
+ def remote_id(); end
12
+ def remote_id=(str_); end
13
+ def remote_label(); end
14
+ def remote_label=(str_); end
15
+ end
@@ -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
@@ -16,13 +16,16 @@ module Kombo
16
16
  field :content, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('content'), required: true } }
17
17
  # Content type of the note. Currently only `PLAIN_TEXT` is supported.
18
18
  field :content_type, Models::Shared::ContentType, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('content_type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::ContentType, false) } }
19
+ # Title of the note, often called "subject" in the ATS. If the ATS has no note title, the title becomes the first line of the content instead.
20
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('title') } }
19
21
  # Tool specific remote fields for the note.
20
22
  field :remote_fields, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_fields') } }
21
23
 
22
- sig { params(content: ::String, content_type: Models::Shared::ContentType, remote_fields: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields)).void }
23
- def initialize(content:, content_type:, remote_fields: nil)
24
+ sig { params(content: ::String, content_type: Models::Shared::ContentType, title: T.nilable(::String), remote_fields: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields)).void }
25
+ def initialize(content:, content_type:, title: nil, remote_fields: nil)
24
26
  @content = content
25
27
  @content_type = content_type
28
+ @title = title
26
29
  @remote_fields = remote_fields
27
30
  end
28
31
 
@@ -31,6 +34,7 @@ module Kombo
31
34
  return false unless other.is_a? self.class
32
35
  return false unless @content == other.content
33
36
  return false unless @content_type == other.content_type
37
+ return false unless @title == other.title
34
38
  return false unless @remote_fields == other.remote_fields
35
39
  true
36
40
  end
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBody
12
12
  def content=(str_); end
13
13
  def content_type(); end
14
14
  def content_type=(str_); end
15
+ def title(); end
16
+ def title=(str_); end
15
17
  def remote_fields(); end
16
18
  def remote_fields=(str_); end
17
19
  end
@@ -18,16 +18,19 @@ module Kombo
18
18
  field :oracle, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyOracle), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('oracle') } }
19
19
  # Talent360 specific remote fields for the result link.
20
20
  field :talent360, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('talent360') } }
21
+ # Fields specific to Traffit.
22
+ field :traffit, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTraffit), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('traffit') } }
21
23
  # Fields specific to Greenhouse.
22
24
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
23
25
  # Workable specific remote fields for ATS actions.
24
26
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
25
27
 
26
- sig { params(icims: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyOracle), talent360: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360), greenhouse: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyWorkable)).void }
27
- def initialize(icims: nil, oracle: nil, talent360: nil, greenhouse: nil, workable: nil)
28
+ sig { params(icims: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyOracle), talent360: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360), traffit: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTraffit), greenhouse: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyWorkable)).void }
29
+ def initialize(icims: nil, oracle: nil, talent360: nil, traffit: nil, greenhouse: nil, workable: nil)
28
30
  @icims = icims
29
31
  @oracle = oracle
30
32
  @talent360 = talent360
33
+ @traffit = traffit
31
34
  @greenhouse = greenhouse
32
35
  @workable = workable
33
36
  end
@@ -38,6 +41,7 @@ module Kombo
38
41
  return false unless @icims == other.icims
39
42
  return false unless @oracle == other.oracle
40
43
  return false unless @talent360 == other.talent360
44
+ return false unless @traffit == other.traffit
41
45
  return false unless @greenhouse == other.greenhouse
42
46
  return false unless @workable == other.workable
43
47
  true
@@ -14,6 +14,8 @@ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestB
14
14
  def oracle=(str_); end
15
15
  def talent360(); end
16
16
  def talent360=(str_); end
17
+ def traffit(); end
18
+ def traffit=(str_); end
17
19
  def greenhouse(); end
18
20
  def greenhouse=(str_); end
19
21
  def workable(); 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 Traffit.
11
+ class PostAtsApplicationsApplicationIdResultLinksRequestBodyTraffit
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ "_Assessment_Score": "5" }`. The field must be available via integration in Traffit.
16
+ field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
17
+
18
+ sig { params(candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
19
+ def initialize(candidate: nil)
20
+ @candidate = candidate
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 @candidate == other.candidate
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTraffit
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTraffit
11
+ def candidate(); end
12
+ def candidate=(str_); end
13
+ end
@@ -18,16 +18,19 @@ module Kombo
18
18
  field :oracle, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyOracle), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('oracle') } }
19
19
  # Talent360 specific remote fields for the result link.
20
20
  field :talent360, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('talent360') } }
21
+ # Fields specific to Traffit.
22
+ field :traffit, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTraffit), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('traffit') } }
21
23
  # Fields specific to Greenhouse.
22
24
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
23
25
  # Workable specific remote fields for ATS actions.
24
26
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
25
27
 
26
- sig { params(icims: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyOracle), talent360: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360), greenhouse: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyWorkable)).void }
27
- def initialize(icims: nil, oracle: nil, talent360: nil, greenhouse: nil, workable: nil)
28
+ sig { params(icims: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyOracle), talent360: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360), traffit: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTraffit), greenhouse: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyWorkable)).void }
29
+ def initialize(icims: nil, oracle: nil, talent360: nil, traffit: nil, greenhouse: nil, workable: nil)
28
30
  @icims = icims
29
31
  @oracle = oracle
30
32
  @talent360 = talent360
33
+ @traffit = traffit
31
34
  @greenhouse = greenhouse
32
35
  @workable = workable
33
36
  end
@@ -38,6 +41,7 @@ module Kombo
38
41
  return false unless @icims == other.icims
39
42
  return false unless @oracle == other.oracle
40
43
  return false unless @talent360 == other.talent360
44
+ return false unless @traffit == other.traffit
41
45
  return false unless @greenhouse == other.greenhouse
42
46
  return false unless @workable == other.workable
43
47
  true
@@ -14,6 +14,8 @@ class Kombo::Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyR
14
14
  def oracle=(str_); end
15
15
  def talent360(); end
16
16
  def talent360=(str_); end
17
+ def traffit(); end
18
+ def traffit=(str_); end
17
19
  def greenhouse(); end
18
20
  def greenhouse=(str_); end
19
21
  def workable(); 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 Traffit.
11
+ class PostAtsCandidatesCandidateIdResultLinksRequestBodyTraffit
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ "_Assessment_Score": "5" }`. The field must be available via integration in Traffit.
16
+ field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
17
+
18
+ sig { params(candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
19
+ def initialize(candidate: nil)
20
+ @candidate = candidate
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 @candidate == other.candidate
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTraffit
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTraffit
11
+ def candidate(); end
12
+ def candidate=(str_); end
13
+ 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