kombo 1.0.4 → 1.0.6

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +157 -1
  3. data/lib/kombo/general.rb +19 -6
  4. data/lib/kombo/hris.rb +165 -8
  5. data/lib/kombo/models/operations/getatsapplications_request.rb +9 -0
  6. data/lib/kombo/models/operations/getatsapplicationstages_request.rb +2 -0
  7. data/lib/kombo/models/operations/getatscandidates_request.rb +8 -0
  8. data/lib/kombo/models/operations/getatsinterviews_request.rb +8 -0
  9. data/lib/kombo/models/operations/getatsjobs_request.rb +11 -0
  10. data/lib/kombo/models/operations/getatsoffers_request.rb +6 -0
  11. data/lib/kombo/models/operations/getatsrejectionreasons_request.rb +2 -0
  12. data/lib/kombo/models/operations/getatsroles_request.rb +75 -0
  13. data/lib/kombo/models/operations/getatsroles_request.rbi +29 -0
  14. data/lib/kombo/models/operations/getatsroles_response.rb +56 -0
  15. data/lib/kombo/models/operations/getatsroles_response.rbi +19 -0
  16. data/lib/kombo/models/operations/getatstags_request.rb +2 -0
  17. data/lib/kombo/models/operations/getatsusers_request.rb +5 -0
  18. data/lib/kombo/models/operations/gethrisabsences_request.rb +4 -0
  19. data/lib/kombo/models/operations/gethrisabsencetypes_request.rb +2 -0
  20. data/lib/kombo/models/operations/gethrisemployeedocumentcategories_request.rb +2 -0
  21. data/lib/kombo/models/operations/gethrisemployees_request.rb +10 -0
  22. data/lib/kombo/models/operations/gethrisemployments_request.rb +2 -0
  23. data/lib/kombo/models/operations/gethrisgroups_request.rb +2 -0
  24. data/lib/kombo/models/operations/gethrislegalentities_request.rb +2 -0
  25. data/lib/kombo/models/operations/gethrislocations_request.rb +2 -0
  26. data/lib/kombo/models/operations/gethrisperformancereviewcycles_request.rb +2 -0
  27. data/lib/kombo/models/operations/gethrisperformancereviews_request.rb +6 -0
  28. data/lib/kombo/models/operations/gethrisstaffingentities_request.rb +85 -0
  29. data/lib/kombo/models/operations/gethrisstaffingentities_request.rbi +31 -0
  30. data/lib/kombo/models/operations/gethrisstaffingentities_response.rb +56 -0
  31. data/lib/kombo/models/operations/gethrisstaffingentities_response.rbi +19 -0
  32. data/lib/kombo/models/operations/gethristimeoffbalances_request.rb +4 -0
  33. data/lib/kombo/models/operations/gethristimesheets_request.rb +2 -0
  34. data/lib/kombo/models/operations.rb +4 -0
  35. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  36. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  37. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  38. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_job.rb +10 -2
  39. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_job.rbi +4 -0
  40. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rb +6 -6
  41. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rbi +2 -2
  42. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team_role.rb +3 -0
  43. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_job.rb +10 -2
  44. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_job.rbi +4 -0
  45. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rb +13 -3
  46. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rbi +2 -0
  47. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team_role.rb +3 -0
  48. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rb +21 -0
  49. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rbi +11 -0
  50. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rb +25 -0
  51. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rbi +11 -0
  52. data/lib/kombo/models/shared/getatsrolespositiveresponse.rb +39 -0
  53. data/lib/kombo/models/shared/getatsrolespositiveresponse.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rb +36 -0
  55. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rbi +15 -0
  56. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rb +58 -0
  57. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rbi +25 -0
  58. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rb +21 -0
  59. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rbi +11 -0
  60. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rb +25 -0
  61. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rbi +11 -0
  62. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rb +10 -2
  63. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rbi +2 -0
  64. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rb +21 -0
  65. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rbi +11 -0
  66. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rb +25 -0
  67. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rbi +11 -0
  68. data/lib/kombo/models/shared/{group.rb → gethrisemployeespositiveresponse_group.rb} +3 -3
  69. data/lib/kombo/models/shared/{group.rbi → gethrisemployeespositiveresponse_group.rbi} +2 -2
  70. data/lib/kombo/models/shared/{group_type.rb → gethrisemployeespositiveresponse_group_type.rb} +2 -2
  71. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_group_type.rbi +11 -0
  72. data/lib/kombo/models/shared/{legal_entity.rb → gethrisemployeespositiveresponse_legal_entity.rb} +1 -1
  73. data/lib/kombo/models/shared/{legal_entity.rbi → gethrisemployeespositiveresponse_legal_entity.rbi} +2 -2
  74. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_result.rb +3 -3
  75. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rb +39 -0
  76. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rbi +15 -0
  77. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rb +36 -0
  78. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rbi +15 -0
  79. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rb +36 -0
  80. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rbi +15 -0
  81. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rb +44 -0
  82. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rbi +19 -0
  83. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rb +40 -0
  84. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rbi +17 -0
  85. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rb +44 -0
  86. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rbi +19 -0
  87. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rb +110 -0
  88. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rbi +47 -0
  89. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rb +31 -0
  90. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rbi +11 -0
  91. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rb +22 -0
  92. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rbi +11 -0
  93. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rb +27 -0
  94. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rbi +11 -0
  95. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  96. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  97. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  98. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_job.rb +10 -2
  99. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_job.rbi +4 -0
  100. data/lib/kombo/models/shared/integration_tool.rb +4 -0
  101. data/lib/kombo/models/shared/job_role.rb +44 -0
  102. data/lib/kombo/models/shared/job_role.rbi +19 -0
  103. data/lib/kombo/models/shared/komboatserror_code.rb +1 -0
  104. data/lib/kombo/models/shared/kombogeneralerror_code.rb +1 -0
  105. data/lib/kombo/models/shared/kombohriserror_code.rb +1 -0
  106. data/lib/kombo/models/shared/model_type.rb +22 -0
  107. data/lib/kombo/models/shared/{group_type.rbi → model_type.rbi} +2 -2
  108. data/lib/kombo/models/shared/name.rb +7 -0
  109. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rb +32 -0
  110. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rbi +13 -0
  111. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  112. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  113. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rb +48 -0
  114. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rbi +21 -0
  115. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rb +6 -2
  116. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rbi +2 -0
  117. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +6 -2
  118. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +2 -0
  119. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rb +32 -0
  120. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rbi +13 -0
  121. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rb +6 -2
  122. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rbi +2 -0
  123. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rb +48 -0
  124. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rbi +21 -0
  125. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rb +6 -2
  126. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rbi +2 -0
  127. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +6 -2
  128. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +2 -0
  129. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rb +32 -0
  130. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rbi +13 -0
  131. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rb +6 -2
  132. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rbi +2 -0
  133. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rb +32 -0
  134. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rbi +13 -0
  135. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rb +6 -2
  136. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rbi +2 -0
  137. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  138. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  139. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rb +36 -0
  140. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rbi +15 -0
  141. data/lib/kombo/models/shared/step_type.rb +21 -0
  142. data/lib/kombo/models/shared/step_type.rbi +11 -0
  143. data/lib/kombo/models/shared/system_role.rb +44 -0
  144. data/lib/kombo/models/shared/system_role.rbi +19 -0
  145. data/lib/kombo/models/shared.rb +33 -3
  146. data/lib/kombo/sdkconfiguration.rb +2 -2
  147. metadata +76 -8
@@ -14,16 +14,20 @@ module Kombo
14
14
 
15
15
  # Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post
16
16
  field :application, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('application') } }
17
+ # Fields that we will pass through to d.vinci's candidate/application payload as top-level fields (e.g., dateOfBirth).
18
+ field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
17
19
 
18
- sig { params(application: T.nilable(T::Hash[Symbol, ::Object])).void }
19
- def initialize(application: nil)
20
+ sig { params(application: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
21
+ def initialize(application: nil, candidate: nil)
20
22
  @application = application
23
+ @candidate = candidate
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 @application == other.application
30
+ return false unless @candidate == other.candidate
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Kombo::Models::Shared::PostAtsCandidatesRequestBodyDvinci
11
11
  def application(); end
12
12
  def application=(str_); end
13
+ def candidate(); end
14
+ def candidate=(str_); end
13
15
  end
@@ -48,6 +48,8 @@ module Kombo
48
48
  field :avature, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyAvature), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('avature') } }
49
49
  # Fields specific to Recruitee.
50
50
  field :recruitee, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyRecruitee), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitee') } }
51
+ # Fields specific to Rexx.
52
+ field :rexx, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyRexx), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('rexx') } }
51
53
  # Fields specific to Abacus Umantis.
52
54
  field :umantis, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyUmantis), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('umantis') } }
53
55
  # Fields specific to P&I Loga.
@@ -57,8 +59,8 @@ module Kombo
57
59
  # Fields specific to Coveto REST.
58
60
  field :covetorest, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyCovetorest), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('covetorest') } }
59
61
 
60
- 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), 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), 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 }
61
- def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: 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, umantis: nil, piloga: nil, pinpoint: nil, covetorest: nil)
62
+ 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), 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 }
63
+ def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: 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)
62
64
  @successfactors = successfactors
63
65
  @personio = personio
64
66
  @talentsoft = talentsoft
@@ -77,6 +79,7 @@ module Kombo
77
79
  @jobylon = jobylon
78
80
  @avature = avature
79
81
  @recruitee = recruitee
82
+ @rexx = rexx
80
83
  @umantis = umantis
81
84
  @piloga = piloga
82
85
  @pinpoint = pinpoint
@@ -104,6 +107,7 @@ module Kombo
104
107
  return false unless @jobylon == other.jobylon
105
108
  return false unless @avature == other.avature
106
109
  return false unless @recruitee == other.recruitee
110
+ return false unless @rexx == other.rexx
107
111
  return false unless @umantis == other.umantis
108
112
  return false unless @piloga == other.piloga
109
113
  return false unless @pinpoint == other.pinpoint
@@ -44,6 +44,8 @@ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyRemoteFields
44
44
  def avature=(str_); end
45
45
  def recruitee(); end
46
46
  def recruitee=(str_); end
47
+ def rexx(); end
48
+ def rexx=(str_); end
47
49
  def umantis(); end
48
50
  def umantis=(str_); end
49
51
  def piloga(); 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 Rexx.
11
+ class PostAtsCandidatesRequestBodyRexx
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields that we will pass through to Rexx's application form fields.
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::PostAtsCandidatesRequestBodyRexx
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyRexx
11
+ def candidate(); end
12
+ def candidate=(str_); end
13
+ end
@@ -22,12 +22,15 @@ module Kombo
22
22
  field :candidate_without_questions, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate_without_questions') } }
23
23
  # Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1
24
24
  field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
25
+ # The consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application
26
+ field :consent_decisions, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyConsentDecisions), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('consent_decisions') } }
25
27
 
26
- sig { params(candidate_with_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate_without_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
27
- def initialize(candidate_with_questions: nil, candidate_without_questions: nil, candidate: nil)
28
+ sig { params(candidate_with_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate_without_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object]), consent_decisions: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyConsentDecisions)).void }
29
+ def initialize(candidate_with_questions: nil, candidate_without_questions: nil, candidate: nil, consent_decisions: nil)
28
30
  @candidate_with_questions = candidate_with_questions
29
31
  @candidate_without_questions = candidate_without_questions
30
32
  @candidate = candidate
33
+ @consent_decisions = consent_decisions
31
34
  end
32
35
 
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Kombo
36
39
  return false unless @candidate_with_questions == other.candidate_with_questions
37
40
  return false unless @candidate_without_questions == other.candidate_without_questions
38
41
  return false unless @candidate == other.candidate
42
+ return false unless @consent_decisions == other.consent_decisions
39
43
  true
40
44
  end
41
45
  end
@@ -14,4 +14,6 @@ class Kombo::Models::Shared::PostAtsCandidatesRequestBodySmartrecruiters
14
14
  def candidate_without_questions=(str_); end
15
15
  def candidate(); end
16
16
  def candidate=(str_); end
17
+ def consent_decisions(); end
18
+ def consent_decisions=(str_); end
17
19
  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 consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application
11
+ class PostAtsJobsJobIdApplicationsRequestBodyConsentDecisions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :single, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SINGLE') } }
17
+
18
+ field :smart_recruit, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_RECRUIT') } }
19
+
20
+ field :smart_crm, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_CRM') } }
21
+
22
+ field :smart_message_sms, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_MESSAGE_SMS') } }
23
+
24
+ field :smart_message_whatsapp, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_MESSAGE_WHATSAPP') } }
25
+
26
+ sig { params(single: T.nilable(T::Boolean), smart_recruit: T.nilable(T::Boolean), smart_crm: T.nilable(T::Boolean), smart_message_sms: T.nilable(T::Boolean), smart_message_whatsapp: T.nilable(T::Boolean)).void }
27
+ def initialize(single: nil, smart_recruit: nil, smart_crm: nil, smart_message_sms: nil, smart_message_whatsapp: nil)
28
+ @single = single
29
+ @smart_recruit = smart_recruit
30
+ @smart_crm = smart_crm
31
+ @smart_message_sms = smart_message_sms
32
+ @smart_message_whatsapp = smart_message_whatsapp
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 @single == other.single
39
+ return false unless @smart_recruit == other.smart_recruit
40
+ return false unless @smart_crm == other.smart_crm
41
+ return false unless @smart_message_sms == other.smart_message_sms
42
+ return false unless @smart_message_whatsapp == other.smart_message_whatsapp
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::PostAtsJobsJobIdApplicationsRequestBodyConsentDecisions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyConsentDecisions
11
+ def single(); end
12
+ def single=(str_); end
13
+ def smart_recruit(); end
14
+ def smart_recruit=(str_); end
15
+ def smart_crm(); end
16
+ def smart_crm=(str_); end
17
+ def smart_message_sms(); end
18
+ def smart_message_sms=(str_); end
19
+ def smart_message_whatsapp(); end
20
+ def smart_message_whatsapp=(str_); end
21
+ end
@@ -14,16 +14,20 @@ module Kombo
14
14
 
15
15
  # Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post
16
16
  field :application, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('application') } }
17
+ # Fields that we will pass through to d.vinci's candidate/application payload as top-level fields (e.g., dateOfBirth).
18
+ field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
17
19
 
18
- sig { params(application: T.nilable(T::Hash[Symbol, ::Object])).void }
19
- def initialize(application: nil)
20
+ sig { params(application: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
21
+ def initialize(application: nil, candidate: nil)
20
22
  @application = application
23
+ @candidate = candidate
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 @application == other.application
30
+ return false unless @candidate == other.candidate
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyDvinci
11
11
  def application(); end
12
12
  def application=(str_); end
13
+ def candidate(); end
14
+ def candidate=(str_); end
13
15
  end
@@ -48,6 +48,8 @@ module Kombo
48
48
  field :avature, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAvature), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('avature') } }
49
49
  # Fields specific to Recruitee.
50
50
  field :recruitee, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRecruitee), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitee') } }
51
+ # Fields specific to Rexx.
52
+ field :rexx, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRexx), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('rexx') } }
51
53
  # Fields specific to Abacus Umantis.
52
54
  field :umantis, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyUmantis), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('umantis') } }
53
55
  # Fields specific to P&I Loga.
@@ -57,8 +59,8 @@ module Kombo
57
59
  # Fields specific to Coveto REST.
58
60
  field :covetorest, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCovetorest), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('covetorest') } }
59
61
 
60
- 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), 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), 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 }
61
- def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: 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, umantis: nil, piloga: nil, pinpoint: nil, covetorest: nil)
62
+ 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), 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 }
63
+ def initialize(successfactors: nil, personio: nil, talentsoft: nil, teamtailor: nil, greenhouse: 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)
62
64
  @successfactors = successfactors
63
65
  @personio = personio
64
66
  @talentsoft = talentsoft
@@ -77,6 +79,7 @@ module Kombo
77
79
  @jobylon = jobylon
78
80
  @avature = avature
79
81
  @recruitee = recruitee
82
+ @rexx = rexx
80
83
  @umantis = umantis
81
84
  @piloga = piloga
82
85
  @pinpoint = pinpoint
@@ -104,6 +107,7 @@ module Kombo
104
107
  return false unless @jobylon == other.jobylon
105
108
  return false unless @avature == other.avature
106
109
  return false unless @recruitee == other.recruitee
110
+ return false unless @rexx == other.rexx
107
111
  return false unless @umantis == other.umantis
108
112
  return false unless @piloga == other.piloga
109
113
  return false unless @pinpoint == other.pinpoint
@@ -44,6 +44,8 @@ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRemoteFields
44
44
  def avature=(str_); end
45
45
  def recruitee(); end
46
46
  def recruitee=(str_); end
47
+ def rexx(); end
48
+ def rexx=(str_); end
47
49
  def umantis(); end
48
50
  def umantis=(str_); end
49
51
  def piloga(); 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 Rexx.
11
+ class PostAtsJobsJobIdApplicationsRequestBodyRexx
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields that we will pass through to Rexx's application form fields.
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::PostAtsJobsJobIdApplicationsRequestBodyRexx
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyRexx
11
+ def candidate(); end
12
+ def candidate=(str_); end
13
+ end
@@ -22,12 +22,15 @@ module Kombo
22
22
  field :candidate_without_questions, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate_without_questions') } }
23
23
  # Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1
24
24
  field :candidate, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate') } }
25
+ # The consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application
26
+ field :consent_decisions, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyConsentDecisions), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('consent_decisions') } }
25
27
 
26
- sig { params(candidate_with_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate_without_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object])).void }
27
- def initialize(candidate_with_questions: nil, candidate_without_questions: nil, candidate: nil)
28
+ sig { params(candidate_with_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate_without_questions: T.nilable(T::Hash[Symbol, ::Object]), candidate: T.nilable(T::Hash[Symbol, ::Object]), consent_decisions: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyConsentDecisions)).void }
29
+ def initialize(candidate_with_questions: nil, candidate_without_questions: nil, candidate: nil, consent_decisions: nil)
28
30
  @candidate_with_questions = candidate_with_questions
29
31
  @candidate_without_questions = candidate_without_questions
30
32
  @candidate = candidate
33
+ @consent_decisions = consent_decisions
31
34
  end
32
35
 
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Kombo
36
39
  return false unless @candidate_with_questions == other.candidate_with_questions
37
40
  return false unless @candidate_without_questions == other.candidate_without_questions
38
41
  return false unless @candidate == other.candidate
42
+ return false unless @consent_decisions == other.consent_decisions
39
43
  true
40
44
  end
41
45
  end
@@ -14,4 +14,6 @@ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodySmartrecruit
14
14
  def candidate_without_questions=(str_); end
15
15
  def candidate(); end
16
16
  def candidate=(str_); end
17
+ def consent_decisions(); end
18
+ def consent_decisions=(str_); end
17
19
  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
+
11
+ class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRecruitee
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Value that we will pass through to Recruitee's `subtitle` field on the assessment report.
16
+ field :subtitle, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('subtitle') } }
17
+
18
+ sig { params(subtitle: T.nilable(::String)).void }
19
+ def initialize(subtitle: nil)
20
+ @subtitle = subtitle
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 @subtitle == other.subtitle
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::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRecruitee
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRecruitee
11
+ def subtitle(); end
12
+ def subtitle=(str_); end
13
+ end
@@ -15,15 +15,19 @@ module Kombo
15
15
 
16
16
  field :smartrecruiters, Crystalline::Nilable.new(Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodySmartrecruiters), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('smartrecruiters') } }
17
17
 
18
- sig { params(smartrecruiters: T.nilable(Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodySmartrecruiters)).void }
19
- def initialize(smartrecruiters: nil)
18
+ field :recruitee, Crystalline::Nilable.new(Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRecruitee), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitee') } }
19
+
20
+ sig { params(smartrecruiters: T.nilable(Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodySmartrecruiters), recruitee: T.nilable(Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRecruitee)).void }
21
+ def initialize(smartrecruiters: nil, recruitee: nil)
20
22
  @smartrecruiters = smartrecruiters
23
+ @recruitee = recruitee
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 @smartrecruiters == other.smartrecruiters
30
+ return false unless @recruitee == other.recruitee
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Kombo::Models::Shared::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields
11
11
  def smartrecruiters(); end
12
12
  def smartrecruiters=(str_); end
13
+ def recruitee(); end
14
+ def recruitee=(str_); end
13
15
  end
@@ -12,13 +12,16 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # Fields specific to Workday.
16
+ field :workday, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkday), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workday') } }
15
17
  # Fields specific to Greenhouse.
16
18
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
17
19
  # Workable specific remote fields for ATS actions.
18
20
  field :workable, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
19
21
 
20
- sig { params(greenhouse: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkable)).void }
21
- def initialize(greenhouse: nil, workable: nil)
22
+ sig { params(workday: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkday), greenhouse: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkable)).void }
23
+ def initialize(workday: nil, greenhouse: nil, workable: nil)
24
+ @workday = workday
22
25
  @greenhouse = greenhouse
23
26
  @workable = workable
24
27
  end
@@ -26,6 +29,7 @@ module Kombo
26
29
  sig { params(other: T.untyped).returns(T::Boolean) }
27
30
  def ==(other)
28
31
  return false unless other.is_a? self.class
32
+ return false unless @workday == other.workday
29
33
  return false unless @greenhouse == other.greenhouse
30
34
  return false unless @workable == other.workable
31
35
  true
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Kombo::Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields
11
+ def workday(); end
12
+ def workday=(str_); end
11
13
  def greenhouse(); end
12
14
  def greenhouse=(str_); end
13
15
  def workable(); 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
+ # Fields specific to Workday.
11
+ class PutAtsApplicationsApplicationIdStageRequestBodyWorkday
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The Workflow_Step_ID to pass directly to the Move_Candidate request. When provided, the automatic workflow step matching logic is skipped.
16
+ field :workflow_step_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Workflow_Step_ID') } }
17
+ # The type of step reference to use. Use "Next_Step_Reference" for regular stage moves and "Disposition_Step_Reference" for conclusion/disposition stages (e.g., rejected, declined). Defaults to "Next_Step_Reference".
18
+ field :step_type, Crystalline::Nilable.new(Models::Shared::StepType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Step_Type'), 'decoder': Utils.enum_from_string(Models::Shared::StepType, true) } }
19
+
20
+ sig { params(workflow_step_id: T.nilable(::String), step_type: T.nilable(Models::Shared::StepType)).void }
21
+ def initialize(workflow_step_id: nil, step_type: nil)
22
+ @workflow_step_id = workflow_step_id
23
+ @step_type = step_type
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 @workflow_step_id == other.workflow_step_id
30
+ return false unless @step_type == other.step_type
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::PutAtsApplicationsApplicationIdStageRequestBodyWorkday
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkday
11
+ def workflow_step_id(); end
12
+ def workflow_step_id=(str_); end
13
+ def step_type(); end
14
+ def step_type=(str_); end
15
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # StepType - The type of step reference to use. Use "Next_Step_Reference" for regular stage moves and "Disposition_Step_Reference" for conclusion/disposition stages (e.g., rejected, declined). Defaults to "Next_Step_Reference".
11
+ class StepType < T::Enum
12
+
13
+
14
+ enums do
15
+ NEXT_STEP_REFERENCE = new('Next_Step_Reference')
16
+ DISPOSITION_STEP_REFERENCE = new('Disposition_Step_Reference')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::StepType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::StepType
11
+ end