kombo 1.2.7 → 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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +325 -3
  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_2.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  42. data/lib/kombo/models/shared/{option_1.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  43. data/lib/kombo/models/shared/{option_1.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 +5 -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_2.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/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  115. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  116. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_talent360.rb +32 -0
  117. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_talent360.rbi +13 -0
  118. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rb +6 -2
  119. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rbi +2 -0
  120. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_talent360.rb +32 -0
  121. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_talent360.rbi +13 -0
  122. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rb +6 -2
  123. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rbi +2 -0
  124. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_talent360.rb +32 -0
  125. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_talent360.rbi +13 -0
  126. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  127. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rbi +13 -0
  128. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  129. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  130. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  131. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  132. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  133. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  134. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +10 -2
  135. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +4 -0
  136. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  137. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  138. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  139. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  140. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  141. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  142. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  143. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  144. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +10 -2
  145. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +4 -0
  146. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  147. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  148. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  149. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  150. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody.rb +6 -2
  151. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody.rbi +2 -0
  152. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rb +32 -0
  153. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  154. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +32 -0
  155. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rbi +13 -0
  156. data/lib/kombo/models/shared/response.rb +27 -0
  157. data/lib/kombo/models/shared/response.rbi +11 -0
  158. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  159. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  160. data/lib/kombo/models/shared/result_date.rb +55 -0
  161. data/lib/kombo/models/shared/result_date.rbi +23 -0
  162. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  163. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  164. data/lib/kombo/models/shared/result_number.rb +55 -0
  165. data/lib/kombo/models/shared/result_number.rbi +23 -0
  166. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  167. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  168. data/lib/kombo/models/shared/result_text.rb +55 -0
  169. data/lib/kombo/models/shared/result_text.rbi +23 -0
  170. data/lib/kombo/models/shared.rb +61 -3
  171. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  172. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  173. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  174. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  175. data/lib/kombo/models/webhooks.rb +2 -0
  176. data/lib/kombo/sdkconfiguration.rb +5 -3
  177. data/lib/kombo/utils/utils.rb +6 -2
  178. metadata +144 -8
@@ -16,15 +16,18 @@ module Kombo
16
16
  field :icims, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyIcims), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('icims') } }
17
17
  # Fields specific to Oracle.
18
18
  field :oracle, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyOracle), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('oracle') } }
19
+ # Talent360 specific remote fields for the result link.
20
+ field :talent360, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('talent360') } }
19
21
  # Fields specific to Greenhouse.
20
22
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
21
23
  # Workable specific remote fields for ATS actions.
22
24
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
23
25
 
24
- sig { params(icims: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyOracle), greenhouse: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyWorkable)).void }
25
- def initialize(icims: nil, oracle: nil, greenhouse: nil, workable: nil)
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)
26
28
  @icims = icims
27
29
  @oracle = oracle
30
+ @talent360 = talent360
28
31
  @greenhouse = greenhouse
29
32
  @workable = workable
30
33
  end
@@ -34,6 +37,7 @@ module Kombo
34
37
  return false unless other.is_a? self.class
35
38
  return false unless @icims == other.icims
36
39
  return false unless @oracle == other.oracle
40
+ return false unless @talent360 == other.talent360
37
41
  return false unless @greenhouse == other.greenhouse
38
42
  return false unless @workable == other.workable
39
43
  true
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestB
12
12
  def icims=(str_); end
13
13
  def oracle(); end
14
14
  def oracle=(str_); end
15
+ def talent360(); end
16
+ def talent360=(str_); end
15
17
  def greenhouse(); end
16
18
  def greenhouse=(str_); end
17
19
  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
+ # Talent360 specific remote fields for the result link.
11
+ class PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Talent360 user ID the result-link note is attributed to. Required because every Talent360 communication must be attributed to a user.
16
+ field :user_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('user_id'), required: true } }
17
+
18
+ sig { params(user_id: ::String).void }
19
+ def initialize(user_id:)
20
+ @user_id = user_id
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 @user_id == other.user_id
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::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdResultLinksRequestBodyTalent360
11
+ def user_id(); end
12
+ def user_id=(str_); end
13
+ end
@@ -16,15 +16,18 @@ module Kombo
16
16
  field :icims, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyIcims), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('icims') } }
17
17
  # Fields specific to Oracle.
18
18
  field :oracle, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyOracle), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('oracle') } }
19
+ # Talent360 specific remote fields for the result link.
20
+ field :talent360, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('talent360') } }
19
21
  # Fields specific to Greenhouse.
20
22
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
21
23
  # Workable specific remote fields for ATS actions.
22
24
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
23
25
 
24
- sig { params(icims: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyIcims), oracle: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyOracle), greenhouse: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyWorkable)).void }
25
- def initialize(icims: nil, oracle: nil, greenhouse: nil, workable: nil)
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)
26
28
  @icims = icims
27
29
  @oracle = oracle
30
+ @talent360 = talent360
28
31
  @greenhouse = greenhouse
29
32
  @workable = workable
30
33
  end
@@ -34,6 +37,7 @@ module Kombo
34
37
  return false unless other.is_a? self.class
35
38
  return false unless @icims == other.icims
36
39
  return false unless @oracle == other.oracle
40
+ return false unless @talent360 == other.talent360
37
41
  return false unless @greenhouse == other.greenhouse
38
42
  return false unless @workable == other.workable
39
43
  true
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyR
12
12
  def icims=(str_); end
13
13
  def oracle(); end
14
14
  def oracle=(str_); end
15
+ def talent360(); end
16
+ def talent360=(str_); end
15
17
  def greenhouse(); end
16
18
  def greenhouse=(str_); end
17
19
  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
+ # Talent360 specific remote fields for the result link.
11
+ class PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Talent360 user ID the result-link note is attributed to. Required because every Talent360 communication must be attributed to a user.
16
+ field :user_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('user_id'), required: true } }
17
+
18
+ sig { params(user_id: ::String).void }
19
+ def initialize(user_id:)
20
+ @user_id = user_id
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 @user_id == other.user_id
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::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesCandidateIdResultLinksRequestBodyTalent360
11
+ def user_id(); end
12
+ def user_id=(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
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAfas
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAfas
11
+ def fields_(); end
12
+ def fields_=(str_); end
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
@@ -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
+
11
+ class PostAtsCandidatesRequestBodyCustomField
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the Recruit CRM candidate custom field (`GET /v1/custom-fields/candidates`).
16
+ field :field_id, ::Integer, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_id'), required: true } }
17
+ # Value to write. Dropdown and multiselect values must match a configured option. File fields take a direct download URL.
18
+ field :value, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+ # Entity the custom field belongs to, usually `candidate`.
20
+ field :entity_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('entity_type') } }
21
+ # Custom field name.
22
+ field :field_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_name') } }
23
+ # Custom field type, for example `text`.
24
+ field :field_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_type') } }
25
+
26
+ sig { params(field_id: ::Integer, value: ::String, entity_type: T.nilable(::String), field_name: T.nilable(::String), field_type: T.nilable(::String)).void }
27
+ def initialize(field_id:, value:, entity_type: nil, field_name: nil, field_type: nil)
28
+ @field_id = field_id
29
+ @value = value
30
+ @entity_type = entity_type
31
+ @field_name = field_name
32
+ @field_type = field_type
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 @field_id == other.field_id
39
+ return false unless @value == other.value
40
+ return false unless @entity_type == other.entity_type
41
+ return false unless @field_name == other.field_name
42
+ return false unless @field_type == other.field_type
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::PostAtsCandidatesRequestBodyCustomField
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyCustomField
11
+ def field_id(); end
12
+ def field_id=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ def entity_type(); end
16
+ def entity_type=(str_); end
17
+ def field_name(); end
18
+ def field_name=(str_); end
19
+ def field_type(); end
20
+ def field_type=(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 Recruit CRM.
11
+ class PostAtsCandidatesRequestBodyRecruitcrm
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Candidate custom fields passed through to Recruit CRM's `custom_fields` array. A child field also needs its parent field in this array. See https://docs.recruitcrm.io/docs/rcrm-api-reference/ba451e2a3bd63-creates-a-new-candidate.
16
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::PostAtsCandidatesRequestBodyCustomField)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields') } }
17
+
18
+ sig { params(custom_fields: T.nilable(T::Array[Models::Shared::PostAtsCandidatesRequestBodyCustomField])).void }
19
+ def initialize(custom_fields: nil)
20
+ @custom_fields = custom_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 @custom_fields == other.custom_fields
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::PostAtsCandidatesRequestBodyRecruitcrm
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyRecruitcrm
11
+ def custom_fields(); end
12
+ def custom_fields=(str_); end
13
+ end
@@ -60,9 +60,13 @@ module Kombo
60
60
  field :pinpoint, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyPinpoint), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('pinpoint') } }
61
61
  # Fields specific to Coveto REST.
62
62
  field :covetorest, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyCovetorest), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('covetorest') } }
63
+ # Fields specific to AFAS.
64
+ field :afas, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyAfas), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('afas') } }
65
+ # Fields specific to Recruit CRM.
66
+ field :recruitcrm, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyRecruitcrm), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitcrm') } }
63
67
 
64
- sig { params(successfactors: T.nilable(Models::Shared::PostAtsCandidatesRequestBodySuccessfactors), personio: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPersonio), talentsoft: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTalentsoft), teamtailor: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGreenhouse), greenhousev3: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGreenhousev3), lever: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkable), workday: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkday), zohorecruit: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyZohorecruit), bullhorn: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyBullhorn), smartrecruiters: T.nilable(Models::Shared::PostAtsCandidatesRequestBodySmartrecruiters), talentadore: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTalentadore), guidecom: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGuidecom), dvinci: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyDvinci), hrworks: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyHrworks), jobylon: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyJobylon), avature: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyAvature), recruitee: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyRecruitee), rexx: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyRexx), umantis: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyUmantis), piloga: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPiloga), pinpoint: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPinpoint), covetorest: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCovetorest)).void }
65
- def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: nil, greenhousev3: nil, lever: nil, workable: nil, workday: nil, zohorecruit: nil, bullhorn: nil, smartrecruiters: nil, talentadore: nil, guidecom: nil, dvinci: nil, hrworks: nil, jobylon: nil, avature: nil, recruitee: nil, rexx: nil, umantis: nil, piloga: nil, pinpoint: nil, covetorest: nil)
68
+ sig { params(successfactors: T.nilable(Models::Shared::PostAtsCandidatesRequestBodySuccessfactors), personio: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPersonio), talentsoft: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTalentsoft), teamtailor: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGreenhouse), greenhousev3: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGreenhousev3), lever: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkable), workday: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyWorkday), zohorecruit: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyZohorecruit), bullhorn: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyBullhorn), smartrecruiters: T.nilable(Models::Shared::PostAtsCandidatesRequestBodySmartrecruiters), talentadore: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyTalentadore), guidecom: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyGuidecom), dvinci: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyDvinci), hrworks: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyHrworks), jobylon: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyJobylon), avature: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyAvature), recruitee: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyRecruitee), rexx: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyRexx), umantis: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyUmantis), piloga: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPiloga), pinpoint: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyPinpoint), covetorest: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCovetorest), afas: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyAfas), recruitcrm: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyRecruitcrm)).void }
69
+ def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: nil, greenhousev3: nil, lever: nil, workable: nil, workday: nil, zohorecruit: nil, bullhorn: nil, smartrecruiters: nil, talentadore: nil, guidecom: nil, dvinci: nil, hrworks: nil, jobylon: nil, avature: nil, recruitee: nil, rexx: nil, umantis: nil, piloga: nil, pinpoint: nil, covetorest: nil, afas: nil, recruitcrm: nil)
66
70
  @successfactors = successfactors
67
71
  @personio = personio
68
72
  @talentsoft = talentsoft
@@ -87,6 +91,8 @@ module Kombo
87
91
  @piloga = piloga
88
92
  @pinpoint = pinpoint
89
93
  @covetorest = covetorest
94
+ @afas = afas
95
+ @recruitcrm = recruitcrm
90
96
  end
91
97
 
92
98
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -116,6 +122,8 @@ module Kombo
116
122
  return false unless @piloga == other.piloga
117
123
  return false unless @pinpoint == other.pinpoint
118
124
  return false unless @covetorest == other.covetorest
125
+ return false unless @afas == other.afas
126
+ return false unless @recruitcrm == other.recruitcrm
119
127
  true
120
128
  end
121
129
  end
@@ -56,4 +56,8 @@ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyRemoteFields
56
56
  def pinpoint=(str_); end
57
57
  def covetorest(); end
58
58
  def covetorest=(str_); end
59
+ def afas(); end
60
+ def afas=(str_); end
61
+ def recruitcrm(); end
62
+ def recruitcrm=(str_); end
59
63
  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 PostAtsJobsJobIdApplicationsRequestBodyAfas
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
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAfas
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAfas
11
+ def fields_(); end
12
+ def fields_=(str_); end
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::PostAtsJobsJobIdApplicationsRequestBodyWorkflow), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workflow') } }
17
19
 
18
- sig { params(workflow: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkflow)).void }
19
- def initialize(workflow: nil)
20
+ sig { params(candidate: T.nilable(T::Hash[Symbol, ::Object]), workflow: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkflow)).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::PostAtsJobsJobIdApplicationsRequestBodyAvature
11
+ def candidate(); end
12
+ def candidate=(str_); end
11
13
  def workflow(); end
12
14
  def workflow=(str_); end
13
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
+
11
+ class PostAtsJobsJobIdApplicationsRequestBodyCustomField
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the Recruit CRM candidate custom field (`GET /v1/custom-fields/candidates`).
16
+ field :field_id, ::Integer, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_id'), required: true } }
17
+ # Value to write. Dropdown and multiselect values must match a configured option. File fields take a direct download URL.
18
+ field :value, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+ # Entity the custom field belongs to, usually `candidate`.
20
+ field :entity_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('entity_type') } }
21
+ # Custom field name.
22
+ field :field_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_name') } }
23
+ # Custom field type, for example `text`.
24
+ field :field_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('field_type') } }
25
+
26
+ sig { params(field_id: ::Integer, value: ::String, entity_type: T.nilable(::String), field_name: T.nilable(::String), field_type: T.nilable(::String)).void }
27
+ def initialize(field_id:, value:, entity_type: nil, field_name: nil, field_type: nil)
28
+ @field_id = field_id
29
+ @value = value
30
+ @entity_type = entity_type
31
+ @field_name = field_name
32
+ @field_type = field_type
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 @field_id == other.field_id
39
+ return false unless @value == other.value
40
+ return false unless @entity_type == other.entity_type
41
+ return false unless @field_name == other.field_name
42
+ return false unless @field_type == other.field_type
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::PostAtsJobsJobIdApplicationsRequestBodyCustomField
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCustomField
11
+ def field_id(); end
12
+ def field_id=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ def entity_type(); end
16
+ def entity_type=(str_); end
17
+ def field_name(); end
18
+ def field_name=(str_); end
19
+ def field_type(); end
20
+ def field_type=(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 Recruit CRM.
11
+ class PostAtsJobsJobIdApplicationsRequestBodyRecruitcrm
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Candidate custom fields passed through to Recruit CRM's `custom_fields` array. A child field also needs its parent field in this array. See https://docs.recruitcrm.io/docs/rcrm-api-reference/ba451e2a3bd63-creates-a-new-candidate.
16
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCustomField)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields') } }
17
+
18
+ sig { params(custom_fields: T.nilable(T::Array[Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCustomField])).void }
19
+ def initialize(custom_fields: nil)
20
+ @custom_fields = custom_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 @custom_fields == other.custom_fields
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::PostAtsJobsJobIdApplicationsRequestBodyRecruitcrm
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitcrm
11
+ def custom_fields(); end
12
+ def custom_fields=(str_); end
13
+ end