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
@@ -60,9 +60,13 @@ module Kombo
60
60
  field :pinpoint, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPinpoint), { '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::PostAtsJobsJobIdApplicationsRequestBodyCovetorest), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('covetorest') } }
63
+ # Fields specific to AFAS.
64
+ field :afas, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAfas), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('afas') } }
65
+ # Fields specific to Recruit CRM.
66
+ field :recruitcrm, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitcrm), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitcrm') } }
63
67
 
64
- sig { params(successfactors: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodySuccessfactors), personio: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPersonio), talentsoft: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTalentsoft), teamtailor: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGreenhouse), greenhousev3: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGreenhousev3), lever: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkable), workday: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkday), zohorecruit: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyZohorecruit), bullhorn: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyBullhorn), smartrecruiters: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodySmartrecruiters), talentadore: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTalentadore), guidecom: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGuidecom), dvinci: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyDvinci), hrworks: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyHrworks), jobylon: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyJobylon), avature: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAvature), recruitee: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitee), rexx: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRexx), umantis: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyUmantis), piloga: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPiloga), pinpoint: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPinpoint), covetorest: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCovetorest)).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::PostAtsJobsJobIdApplicationsRequestBodySuccessfactors), personio: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPersonio), talentsoft: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTalentsoft), teamtailor: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGreenhouse), greenhousev3: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGreenhousev3), lever: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkable), workday: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyWorkday), zohorecruit: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyZohorecruit), bullhorn: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyBullhorn), smartrecruiters: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodySmartrecruiters), talentadore: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyTalentadore), guidecom: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyGuidecom), dvinci: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyDvinci), hrworks: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyHrworks), jobylon: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyJobylon), avature: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAvature), recruitee: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitee), rexx: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRexx), umantis: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyUmantis), piloga: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPiloga), pinpoint: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyPinpoint), covetorest: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCovetorest), afas: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAfas), recruitcrm: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitcrm)).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::PostAtsJobsJobIdApplicationsRequestBodyRemoteFields
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
@@ -14,16 +14,20 @@ module Kombo
14
14
 
15
15
 
16
16
  field :link, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('link'), required: true } }
17
+ # The allowlist IPs for this integration. Present when `enable_static_ips` is `true`.
18
+ field :static_ips, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('static_ips') } }
17
19
 
18
- sig { params(link: ::String).void }
19
- def initialize(link:)
20
+ sig { params(link: ::String, static_ips: T.nilable(T::Array[::String])).void }
21
+ def initialize(link:, static_ips: nil)
20
22
  @link = link
23
+ @static_ips = static_ips
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
26
29
  return false unless @link == other.link
30
+ return false unless @static_ips == other.static_ips
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Kombo::Models::Shared::PostConnectCreateLinkPositiveResponseData
11
11
  def link(); end
12
12
  def link=(str_); end
13
+ def static_ips(); end
14
+ def static_ips=(str_); end
13
15
  end
@@ -30,6 +30,8 @@ module Kombo
30
30
  field :enable_filtering, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('enable_filtering') } }
31
31
  # Enable the [field mapping feature](https://docs.kombo.dev/hris/features/setup-flow/introduction#field-mapping) for this integration.
32
32
  field :enable_field_mapping, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('enable_field_mapping') } }
33
+ # Enable [Static IPs](https://docs.kombo.dev/hris/guides/static-ips) for this integration so all API calls originate from a fixed, allowlistable set of IPs.
34
+ field :enable_static_ips, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('enable_static_ips') } }
33
35
  # The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (there are valid for 1 year).
34
36
  #
35
37
  # This defaults to `EMBEDDED`, which is our recommended method of implementing the connection flow for a seamless user experience.
@@ -37,8 +39,8 @@ module Kombo
37
39
  # Language of the connection flow UI.
38
40
  field :language, Crystalline::Nilable.new(Models::Shared::PostConnectCreateLinkRequestBodyLanguage), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('language'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::PostConnectCreateLinkRequestBodyLanguage, true) } }
39
41
 
40
- sig { params(end_user_email: ::String, end_user_organization_name: ::String, end_user_origin_id: T.nilable(::String), remote_environment: T.nilable(::String), integration_category: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyIntegrationCategory), integration_tool: T.nilable(Models::Shared::IntegrationTool), scope_config_id: T.nilable(::String), enable_filtering: T.nilable(T::Boolean), enable_field_mapping: T.nilable(T::Boolean), link_type: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyLinkType), language: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyLanguage)).void }
41
- def initialize(end_user_email:, end_user_organization_name:, end_user_origin_id: nil, remote_environment: nil, integration_category: Models::Shared::PostConnectCreateLinkRequestBodyIntegrationCategory::HRIS, integration_tool: nil, scope_config_id: nil, enable_filtering: false, enable_field_mapping: false, link_type: Models::Shared::PostConnectCreateLinkRequestBodyLinkType::EMBEDDED, language: Models::Shared::PostConnectCreateLinkRequestBodyLanguage::EN)
42
+ sig { params(end_user_email: ::String, end_user_organization_name: ::String, end_user_origin_id: T.nilable(::String), remote_environment: T.nilable(::String), integration_category: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyIntegrationCategory), integration_tool: T.nilable(Models::Shared::IntegrationTool), scope_config_id: T.nilable(::String), enable_filtering: T.nilable(T::Boolean), enable_field_mapping: T.nilable(T::Boolean), enable_static_ips: T.nilable(T::Boolean), link_type: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyLinkType), language: T.nilable(Models::Shared::PostConnectCreateLinkRequestBodyLanguage)).void }
43
+ def initialize(end_user_email:, end_user_organization_name:, end_user_origin_id: nil, remote_environment: nil, integration_category: Models::Shared::PostConnectCreateLinkRequestBodyIntegrationCategory::HRIS, integration_tool: nil, scope_config_id: nil, enable_filtering: false, enable_field_mapping: false, enable_static_ips: false, link_type: Models::Shared::PostConnectCreateLinkRequestBodyLinkType::EMBEDDED, language: Models::Shared::PostConnectCreateLinkRequestBodyLanguage::EN)
42
44
  @end_user_email = end_user_email
43
45
  @end_user_organization_name = end_user_organization_name
44
46
  @end_user_origin_id = end_user_origin_id
@@ -48,6 +50,7 @@ module Kombo
48
50
  @scope_config_id = scope_config_id
49
51
  @enable_filtering = enable_filtering
50
52
  @enable_field_mapping = enable_field_mapping
53
+ @enable_static_ips = enable_static_ips
51
54
  @link_type = link_type
52
55
  @language = language
53
56
  end
@@ -64,6 +67,7 @@ module Kombo
64
67
  return false unless @scope_config_id == other.scope_config_id
65
68
  return false unless @enable_filtering == other.enable_filtering
66
69
  return false unless @enable_field_mapping == other.enable_field_mapping
70
+ return false unless @enable_static_ips == other.enable_static_ips
67
71
  return false unless @link_type == other.link_type
68
72
  return false unless @language == other.language
69
73
  true
@@ -26,6 +26,8 @@ class Kombo::Models::Shared::PostConnectCreateLinkRequestBody
26
26
  def enable_filtering=(str_); end
27
27
  def enable_field_mapping(); end
28
28
  def enable_field_mapping=(str_); end
29
+ def enable_static_ips(); end
30
+ def enable_static_ips=(str_); end
29
31
  def link_type(); end
30
32
  def link_type=(str_); end
31
33
  def language(); end
@@ -16,11 +16,14 @@ module Kombo
16
16
  field :category_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('category_id'), required: true } }
17
17
 
18
18
  field :document, Models::Shared::Document, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('document'), required: true } }
19
+ # Additional fields that we will pass through to specific HRIS systems.
20
+ field :remote_fields, Crystalline::Nilable.new(Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyRemoteFields), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_fields') } }
19
21
 
20
- sig { params(category_id: ::String, document: Models::Shared::Document).void }
21
- def initialize(category_id:, document:)
22
+ sig { params(category_id: ::String, document: Models::Shared::Document, remote_fields: T.nilable(Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyRemoteFields)).void }
23
+ def initialize(category_id:, document:, remote_fields: nil)
22
24
  @category_id = category_id
23
25
  @document = document
26
+ @remote_fields = remote_fields
24
27
  end
25
28
 
26
29
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -28,6 +31,7 @@ module Kombo
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @category_id == other.category_id
30
33
  return false unless @document == other.document
34
+ return false unless @remote_fields == other.remote_fields
31
35
  true
32
36
  end
33
37
  end
@@ -12,4 +12,6 @@ class Kombo::Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBody
12
12
  def category_id=(str_); end
13
13
  def document(); end
14
14
  def document=(str_); end
15
+ def remote_fields(); end
16
+ def remote_fields=(str_); end
15
17
  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 PostHrisEmployeesEmployeeIdDocumentsRequestBodyAfas
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Additional fields that we will pass through to the AFAS `KnSubject` `Fields` object. These are merged on top of the default fields (`StId`, `Ds`, and `FvF1`).
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::PostHrisEmployeesEmployeeIdDocumentsRequestBodyAfas
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyAfas
11
+ def fields_(); end
12
+ def fields_=(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
+ # Additional fields that we will pass through to specific HRIS systems.
11
+ class PostHrisEmployeesEmployeeIdDocumentsRequestBodyRemoteFields
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields specific to AFAS.
16
+ field :afas, Crystalline::Nilable.new(Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyAfas), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('afas') } }
17
+
18
+ sig { params(afas: T.nilable(Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyAfas)).void }
19
+ def initialize(afas: nil)
20
+ @afas = afas
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 @afas == other.afas
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::PostHrisEmployeesEmployeeIdDocumentsRequestBodyRemoteFields
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostHrisEmployeesEmployeeIdDocumentsRequestBodyRemoteFields
11
+ def afas(); end
12
+ def afas=(str_); end
13
+ end
@@ -0,0 +1,27 @@
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 Response
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+
17
+ def initialize; end
18
+
19
+ sig { params(other: T.untyped).returns(T::Boolean) }
20
+ def ==(other)
21
+ return false unless other.is_a? self.class
22
+ true
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::Response
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::Response
11
+ end
@@ -0,0 +1,55 @@
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 ResultBoolean
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The question or attribute being assessed, e.g. "Willingness to travel".
16
+ field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
17
+ # ID of the question in the connected ATS. `null` when the ATS keeps the headline rating or summary outside the rubric.
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # Guidance the ATS shows the interviewer below the question, e.g. "1 is poor, 4 is great".
20
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
21
+ # Whether the ATS marked this question mandatory.
22
+ field :required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
23
+
24
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
25
+ # The yes/no the interviewer picked.
26
+ field :answer, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('answer'), required: true } }
27
+
28
+ sig { params(label: ::String, remote_id: T.nilable(::String), description: T.nilable(::String), required: T.nilable(T::Boolean), type: ::String, answer: T.nilable(T::Boolean)).void }
29
+ def initialize(label:, remote_id: nil, description: nil, required: nil, type: 'BOOLEAN', answer: nil)
30
+ @label = label
31
+ @remote_id = remote_id
32
+ @description = description
33
+ @required = required
34
+ unless type == 'BOOLEAN'
35
+ raise ArgumentError, 'Invalid value for type'
36
+ end
37
+ @type = 'BOOLEAN'
38
+ @answer = answer
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 @label == other.label
45
+ return false unless @remote_id == other.remote_id
46
+ return false unless @description == other.description
47
+ return false unless @required == other.required
48
+ return false unless @type == other.type
49
+ return false unless @answer == other.answer
50
+ true
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::ResultBoolean
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::ResultBoolean
11
+ def label(); end
12
+ def label=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ def required(); end
18
+ def required=(str_); end
19
+ def type(); end
20
+ def type=(str_); end
21
+ def answer(); end
22
+ def answer=(str_); end
23
+ end
@@ -0,0 +1,55 @@
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 ResultDate
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The question or attribute being assessed, e.g. "Willingness to travel".
16
+ field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
17
+ # ID of the question in the connected ATS. `null` when the ATS keeps the headline rating or summary outside the rubric.
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # Guidance the ATS shows the interviewer below the question, e.g. "1 is poor, 4 is great".
20
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
21
+ # Whether the ATS marked this question mandatory.
22
+ field :required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
23
+
24
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
25
+ # Date in `YYYY-MM-DD` format.
26
+ field :answer, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('answer'), required: true } }
27
+
28
+ sig { params(label: ::String, remote_id: T.nilable(::String), description: T.nilable(::String), required: T.nilable(T::Boolean), type: ::String, answer: T.nilable(::String)).void }
29
+ def initialize(label:, remote_id: nil, description: nil, required: nil, type: 'DATE', answer: nil)
30
+ @label = label
31
+ @remote_id = remote_id
32
+ @description = description
33
+ @required = required
34
+ unless type == 'DATE'
35
+ raise ArgumentError, 'Invalid value for type'
36
+ end
37
+ @type = 'DATE'
38
+ @answer = answer
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 @label == other.label
45
+ return false unless @remote_id == other.remote_id
46
+ return false unless @description == other.description
47
+ return false unless @required == other.required
48
+ return false unless @type == other.type
49
+ return false unless @answer == other.answer
50
+ true
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::ResultDate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::ResultDate
11
+ def label(); end
12
+ def label=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ def required(); end
18
+ def required=(str_); end
19
+ def type(); end
20
+ def type=(str_); end
21
+ def answer(); end
22
+ def answer=(str_); end
23
+ end
@@ -0,0 +1,59 @@
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 ResultMultiSelect
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The question or attribute being assessed, e.g. "Willingness to travel".
16
+ field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
17
+ # Every option available for select and multi-select questions.
18
+ field :options, Crystalline::Array.new(Models::Shared::GetAtsScorecardsPositiveResponseOption2), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('options'), required: true } }
19
+ # ID of the question in the connected ATS. `null` when the ATS keeps the headline rating or summary outside the rubric.
20
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
21
+ # Guidance the ATS shows the interviewer below the question, e.g. "1 is poor, 4 is great".
22
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
23
+ # Whether the ATS marked this question mandatory.
24
+ field :required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
25
+
26
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
27
+ # An array of ids and labels with every selected option.
28
+ field :answer, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::GetAtsScorecardsPositiveResponseAnswer2)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('answer'), required: true } }
29
+
30
+ sig { params(label: ::String, options: T::Array[Models::Shared::GetAtsScorecardsPositiveResponseOption2], remote_id: T.nilable(::String), description: T.nilable(::String), required: T.nilable(T::Boolean), type: ::String, answer: T.nilable(T::Array[Models::Shared::GetAtsScorecardsPositiveResponseAnswer2])).void }
31
+ def initialize(label:, options:, remote_id: nil, description: nil, required: nil, type: 'MULTI_SELECT', answer: nil)
32
+ @label = label
33
+ @options = options
34
+ @remote_id = remote_id
35
+ @description = description
36
+ @required = required
37
+ unless type == 'MULTI_SELECT'
38
+ raise ArgumentError, 'Invalid value for type'
39
+ end
40
+ @type = 'MULTI_SELECT'
41
+ @answer = answer
42
+ end
43
+
44
+ sig { params(other: T.untyped).returns(T::Boolean) }
45
+ def ==(other)
46
+ return false unless other.is_a? self.class
47
+ return false unless @label == other.label
48
+ return false unless @options == other.options
49
+ return false unless @remote_id == other.remote_id
50
+ return false unless @description == other.description
51
+ return false unless @required == other.required
52
+ return false unless @type == other.type
53
+ return false unless @answer == other.answer
54
+ true
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::ResultMultiSelect
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::ResultMultiSelect
11
+ def label(); end
12
+ def label=(str_); end
13
+ def options(); end
14
+ def options=(str_); end
15
+ def remote_id(); end
16
+ def remote_id=(str_); end
17
+ def description(); end
18
+ def description=(str_); end
19
+ def required(); end
20
+ def required=(str_); end
21
+ def type(); end
22
+ def type=(str_); end
23
+ def answer(); end
24
+ def answer=(str_); end
25
+ end
@@ -0,0 +1,55 @@
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 ResultNumber
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The question or attribute being assessed, e.g. "Willingness to travel".
16
+ field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
17
+ # ID of the question in the connected ATS. `null` when the ATS keeps the headline rating or summary outside the rubric.
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # Guidance the ATS shows the interviewer below the question, e.g. "1 is poor, 4 is great".
20
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
21
+ # Whether the ATS marked this question mandatory.
22
+ field :required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
23
+
24
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
25
+ # A decimal value.
26
+ field :answer, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('answer'), required: true } }
27
+
28
+ sig { params(label: ::String, remote_id: T.nilable(::String), description: T.nilable(::String), required: T.nilable(T::Boolean), type: ::String, answer: T.nilable(::Float)).void }
29
+ def initialize(label:, remote_id: nil, description: nil, required: nil, type: 'NUMBER', answer: nil)
30
+ @label = label
31
+ @remote_id = remote_id
32
+ @description = description
33
+ @required = required
34
+ unless type == 'NUMBER'
35
+ raise ArgumentError, 'Invalid value for type'
36
+ end
37
+ @type = 'NUMBER'
38
+ @answer = answer
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 @label == other.label
45
+ return false unless @remote_id == other.remote_id
46
+ return false unless @description == other.description
47
+ return false unless @required == other.required
48
+ return false unless @type == other.type
49
+ return false unless @answer == other.answer
50
+ true
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::ResultNumber
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::ResultNumber
11
+ def label(); end
12
+ def label=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ def required(); end
18
+ def required=(str_); end
19
+ def type(); end
20
+ def type=(str_); end
21
+ def answer(); end
22
+ def answer=(str_); end
23
+ end