kombo 1.2.0 → 1.2.2

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/assessment.rb +16 -16
  3. data/lib/kombo/ats.rb +96 -96
  4. data/lib/kombo/connect.rb +8 -8
  5. data/lib/kombo/general.rb +63 -55
  6. data/lib/kombo/hris.rb +72 -72
  7. data/lib/kombo/models/operations/getatsjobs_request.rb +1 -1
  8. data/lib/kombo/models/shared/getatsapplicationspositiveresponse_current_stage.rb +6 -2
  9. data/lib/kombo/models/shared/getatsapplicationspositiveresponse_current_stage.rbi +2 -0
  10. data/lib/kombo/models/shared/getatsapplicationstagespositiveresponse_result.rb +6 -2
  11. data/lib/kombo/models/shared/getatsapplicationstagespositiveresponse_result.rbi +2 -0
  12. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rb +1 -1
  13. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team_role.rb +1 -1
  14. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rb +1 -2
  15. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rb +1 -2
  16. data/lib/kombo/models/shared/integration_tool.rb +6 -0
  17. data/lib/kombo/models/shared/job_role.rb +6 -6
  18. data/lib/kombo/models/shared/job_role.rbi +2 -2
  19. data/lib/kombo/models/shared/name.rb +5 -1
  20. data/lib/kombo/models/shared/postatscandidatesrequestbody_aktiv.rb +19 -0
  21. data/lib/kombo/models/shared/postatscandidatesrequestbody_aktiv.rbi +11 -0
  22. data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rb +6 -2
  23. data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rbi +2 -0
  24. data/lib/kombo/models/shared/postatscandidatesrequestbody_location_data.rb +6 -2
  25. data/lib/kombo/models/shared/postatscandidatesrequestbody_location_data.rbi +2 -0
  26. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_aktiv.rb +19 -0
  27. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_aktiv.rbi +11 -0
  28. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rb +6 -2
  29. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rbi +2 -0
  30. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_location_data.rb +6 -2
  31. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_location_data.rbi +2 -0
  32. data/lib/kombo/models/shared/postforcesyncpositiveresponse_data.rb +1 -1
  33. data/lib/kombo/models/shared/properties_array.rb +2 -2
  34. data/lib/kombo/models/shared/properties_object.rb +2 -2
  35. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  36. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  37. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rb +32 -0
  38. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rbi +13 -0
  39. data/lib/kombo/models/shared/{schema2_object_2.rb → schema1_object_1.rb} +4 -4
  40. data/lib/kombo/models/shared/{schema1_object.rbi → schema1_object_1.rbi} +2 -2
  41. data/lib/kombo/models/shared/{schema1.rb → schema2.rb} +1 -1
  42. data/lib/kombo/models/shared/{schema1.rbi → schema2.rbi} +2 -2
  43. data/lib/kombo/models/shared/schema2_object_1.rb +2 -2
  44. data/lib/kombo/models/shared/stage.rb +6 -2
  45. data/lib/kombo/models/shared/stage.rbi +2 -0
  46. data/lib/kombo/models/shared/system_role.rb +6 -6
  47. data/lib/kombo/models/shared/system_role.rbi +2 -2
  48. data/lib/kombo/models/shared.rb +5 -8
  49. data/lib/kombo/sdkconfiguration.rb +3 -3
  50. data/lib/kombo/utils/retries.rb +4 -1
  51. metadata +14 -20
  52. data/lib/kombo/models/shared/schema1_array_2.rb +0 -63
  53. data/lib/kombo/models/shared/schema1_array_2.rbi +0 -27
  54. data/lib/kombo/models/shared/schema1_object.rb +0 -55
  55. data/lib/kombo/models/shared/schema1_union_2.rb +0 -27
  56. data/lib/kombo/models/shared/schema1_union_2.rbi +0 -11
  57. data/lib/kombo/models/shared/schema2_array_2.rb +0 -63
  58. data/lib/kombo/models/shared/schema2_array_2.rbi +0 -27
  59. data/lib/kombo/models/shared/schema2_object_2.rbi +0 -23
  60. data/lib/kombo/models/shared/schema2_union_1.rb +0 -27
  61. data/lib/kombo/models/shared/schema2_union_1.rbi +0 -11
  62. data/lib/kombo/models/shared/schema2_union_2.rb +0 -27
  63. data/lib/kombo/models/shared/schema2_union_2.rbi +0 -11
@@ -10,8 +10,8 @@ module Kombo
10
10
 
11
11
  class GetAtsJobsPositiveResponseHiringTeamRole < T::Enum
12
12
  enums do
13
- RECRUITER = new('RECRUITER')
14
13
  HIRING_MANAGER = new('HIRING_MANAGER')
14
+ RECRUITER = new('RECRUITER')
15
15
  COORDINATOR = new('COORDINATOR')
16
16
  SOURCER = new('SOURCER')
17
17
  INTERVIEWER = new('INTERVIEWER')
@@ -7,10 +7,9 @@
7
7
  module Kombo
8
8
  module Models
9
9
  module Shared
10
- # GetAtsJobsPositiveResponseScope - Whether the role applies globally or is scoped to a specific job.
10
+ # GetAtsJobsPositiveResponseScope - Roles that apply at the job level.
11
11
  class GetAtsJobsPositiveResponseScope < T::Enum
12
12
  enums do
13
- SYSTEM = new('SYSTEM')
14
13
  JOB = new('JOB')
15
14
  end
16
15
  end
@@ -7,11 +7,10 @@
7
7
  module Kombo
8
8
  module Models
9
9
  module Shared
10
- # GetAtsUsersPositiveResponseScope - Whether the role applies globally or is scoped to a specific job.
10
+ # GetAtsUsersPositiveResponseScope - Roles that apply at the system level.
11
11
  class GetAtsUsersPositiveResponseScope < T::Enum
12
12
  enums do
13
13
  SYSTEM = new('SYSTEM')
14
- JOB = new('JOB')
15
14
  end
16
15
  end
17
16
  end
@@ -121,9 +121,13 @@ module Kombo
121
121
  LOGICMELON = new('logicmelon')
122
122
  LOXO = new('loxo')
123
123
  KULA = new('kula')
124
+ TRACKERRMS = new('trackerrms')
125
+ DATABITES = new('databites')
126
+ PAGEUP = new('pageup')
124
127
  WORKDAYCUSTOMREPORT = new('workdaycustomreport')
125
128
  WORKDAYCUSTOMREPORTSFTP = new('workdaycustomreportsftp')
126
129
  UKGPROWFM = new('ukgprowfm')
130
+ ADPDECIDIUM = new('adpdecidium')
127
131
  PAYFITCUSTOMER = new('payfitcustomer')
128
132
  PAYFITPARTNER = new('payfitpartner')
129
133
  PAYFIT = new('payfit')
@@ -202,6 +206,8 @@ module Kombo
202
206
  SFTPFETCH = new('sftpfetch')
203
207
  THREE_HUNDRED_AND_SIXTYLEARNING = new('360learning')
204
208
  TALENTLMS = new('talentlms')
209
+ DOCEBO = new('docebo')
210
+ COURSERA = new('coursera')
205
211
  UDEMY = new('udemy')
206
212
  LINKEDINLEARNING = new('linkedinlearning')
207
213
  MOODLE = new('moodle')
@@ -12,29 +12,29 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # Roles that apply at the job level.
16
+ field :scope, Models::Shared::GetAtsJobsPositiveResponseScope, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('scope'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseScope, false) } }
15
17
  # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
16
18
  field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
17
19
  # The label of the role.
18
20
  field :remote_label, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_label'), required: true } }
19
- # Whether the role applies globally or is scoped to a specific job.
20
- field :scope, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseScope), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('scope'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseScope, false) } }
21
21
  # Unified role type if Kombo can map it.
22
22
  field :unified_type, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseUnifiedType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseUnifiedType, false) } }
23
23
 
24
- sig { params(remote_id: T.nilable(::String), remote_label: T.nilable(::String), scope: T.nilable(Models::Shared::GetAtsJobsPositiveResponseScope), unified_type: T.nilable(Models::Shared::GetAtsJobsPositiveResponseUnifiedType)).void }
25
- def initialize(remote_id: nil, remote_label: nil, scope: nil, unified_type: nil)
24
+ sig { params(scope: Models::Shared::GetAtsJobsPositiveResponseScope, remote_id: T.nilable(::String), remote_label: T.nilable(::String), unified_type: T.nilable(Models::Shared::GetAtsJobsPositiveResponseUnifiedType)).void }
25
+ def initialize(scope:, remote_id: nil, remote_label: nil, unified_type: nil)
26
+ @scope = scope
26
27
  @remote_id = remote_id
27
28
  @remote_label = remote_label
28
- @scope = scope
29
29
  @unified_type = unified_type
30
30
  end
31
31
 
32
32
  sig { params(other: T.untyped).returns(T::Boolean) }
33
33
  def ==(other)
34
34
  return false unless other.is_a? self.class
35
+ return false unless @scope == other.scope
35
36
  return false unless @remote_id == other.remote_id
36
37
  return false unless @remote_label == other.remote_label
37
- return false unless @scope == other.scope
38
38
  return false unless @unified_type == other.unified_type
39
39
  true
40
40
  end
@@ -8,12 +8,12 @@ end
8
8
 
9
9
 
10
10
  class Kombo::Models::Shared::JobRole
11
+ def scope(); end
12
+ def scope=(str_); end
11
13
  def remote_id(); end
12
14
  def remote_id=(str_); end
13
15
  def remote_label(); end
14
16
  def remote_label=(str_); end
15
- def scope(); end
16
- def scope=(str_); end
17
17
  def unified_type(); end
18
18
  def unified_type=(str_); end
19
19
  end
@@ -20,9 +20,13 @@ module Kombo
20
20
  HRIS_TIME_OFF_BALANCES = new('hris_time_off_balances')
21
21
  HRIS_TIMESHEETS = new('hris_timesheets')
22
22
  HRIS_EMPLOYEE_DOCUMENT_CATEGORIES = new('hris_employee_document_categories')
23
- HRIS_PERFORMANCE_REVIEWS = new('hris_performance_reviews')
24
23
  HRIS_PERFORMANCE_REVIEW_CYCLES = new('hris_performance_review_cycles')
24
+ HRIS_PERFORMANCE_REVIEWS = new('hris_performance_reviews')
25
25
  HRIS_STAFFING_ENTITIES = new('hris_staffing_entities')
26
+ HRIS_SKILL_PROFICIENCY_SCALES = new('hris_skill_proficiency_scales')
27
+ HRIS_SKILLS = new('hris_skills')
28
+ HRIS_SKILL_RATING_PROVIDERS = new('hris_skill_rating_providers')
29
+ HRIS_EMPLOYEE_SKILL_PROFICIENCY_RATINGS = new('hris_employee_skill_proficiency_ratings')
26
30
  ATS_USERS = new('ats_users')
27
31
  ATS_JOBS = new('ats_jobs')
28
32
  ATS_JOB_POSTINGS = new('ats_job_postings')
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # PostAtsCandidatesRequestBodyAktiv - Whether the candidate is created as active (`Ja`) or inactive (`Nein`) in Coveto. If omitted, Coveto applies its default (active).
11
+ class PostAtsCandidatesRequestBodyAktiv < T::Enum
12
+ enums do
13
+ JA = new('Ja')
14
+ NEIN = new('Nein')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAktiv
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyAktiv
11
+ end
@@ -16,11 +16,14 @@ module Kombo
16
16
  field :mandant, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('mandant') } }
17
17
  # The numeric status ID to assign to the candidate on creation in Coveto. Refer to your Coveto `/bewerber-status` endpoint for available IDs.
18
18
  field :status, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status') } }
19
+ # Whether the candidate is created as active (`Ja`) or inactive (`Nein`) in Coveto. If omitted, Coveto applies its default (active).
20
+ field :aktiv, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyAktiv), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('aktiv'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::PostAtsCandidatesRequestBodyAktiv, true) } }
19
21
 
20
- sig { params(mandant: T.nilable(::Float), status: T.nilable(::Integer)).void }
21
- def initialize(mandant: nil, status: nil)
22
+ sig { params(mandant: T.nilable(::Float), status: T.nilable(::Integer), aktiv: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyAktiv)).void }
23
+ def initialize(mandant: nil, status: nil, aktiv: nil)
22
24
  @mandant = mandant
23
25
  @status = status
26
+ @aktiv = aktiv
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 @mandant == other.mandant
30
33
  return false unless @status == other.status
34
+ return false unless @aktiv == other.aktiv
31
35
  true
32
36
  end
33
37
  end
@@ -12,4 +12,6 @@ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyCovetorestCandidate
12
12
  def mandant=(str_); end
13
13
  def status(); end
14
14
  def status=(str_); end
15
+ def aktiv(); end
16
+ def aktiv=(str_); end
15
17
  end
@@ -17,16 +17,19 @@ module Kombo
17
17
 
18
18
  field :address_line_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Address_Line_2') } }
19
19
 
20
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Postal_Code') } }
21
+
20
22
  field :region_subdivision_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Region_Subdivision_1') } }
21
23
 
22
24
  field :country_region_reference, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyCountryRegionReference), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Country_Region_Reference') } }
23
25
 
24
26
  field :country_city_reference, Crystalline::Nilable.new(Models::Shared::PostAtsCandidatesRequestBodyCountryCityReference), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Country_City_Reference') } }
25
27
 
26
- sig { params(address_line_1: T.nilable(::String), address_line_2: T.nilable(::String), region_subdivision_1: T.nilable(::String), country_region_reference: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCountryRegionReference), country_city_reference: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCountryCityReference)).void }
27
- def initialize(address_line_1: nil, address_line_2: nil, region_subdivision_1: nil, country_region_reference: nil, country_city_reference: nil)
28
+ sig { params(address_line_1: T.nilable(::String), address_line_2: T.nilable(::String), postal_code: T.nilable(::String), region_subdivision_1: T.nilable(::String), country_region_reference: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCountryRegionReference), country_city_reference: T.nilable(Models::Shared::PostAtsCandidatesRequestBodyCountryCityReference)).void }
29
+ def initialize(address_line_1: nil, address_line_2: nil, postal_code: nil, region_subdivision_1: nil, country_region_reference: nil, country_city_reference: nil)
28
30
  @address_line_1 = address_line_1
29
31
  @address_line_2 = address_line_2
32
+ @postal_code = postal_code
30
33
  @region_subdivision_1 = region_subdivision_1
31
34
  @country_region_reference = country_region_reference
32
35
  @country_city_reference = country_city_reference
@@ -37,6 +40,7 @@ module Kombo
37
40
  return false unless other.is_a? self.class
38
41
  return false unless @address_line_1 == other.address_line_1
39
42
  return false unless @address_line_2 == other.address_line_2
43
+ return false unless @postal_code == other.postal_code
40
44
  return false unless @region_subdivision_1 == other.region_subdivision_1
41
45
  return false unless @country_region_reference == other.country_region_reference
42
46
  return false unless @country_city_reference == other.country_city_reference
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyLocationData
12
12
  def address_line_1=(str_); end
13
13
  def address_line_2(); end
14
14
  def address_line_2=(str_); end
15
+ def postal_code(); end
16
+ def postal_code=(str_); end
15
17
  def region_subdivision_1(); end
16
18
  def region_subdivision_1=(str_); end
17
19
  def country_region_reference(); end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # PostAtsJobsJobIdApplicationsRequestBodyAktiv - Whether the candidate is created as active (`Ja`) or inactive (`Nein`) in Coveto. If omitted, Coveto applies its default (active).
11
+ class PostAtsJobsJobIdApplicationsRequestBodyAktiv < T::Enum
12
+ enums do
13
+ JA = new('Ja')
14
+ NEIN = new('Nein')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAktiv
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAktiv
11
+ end
@@ -16,11 +16,14 @@ module Kombo
16
16
  field :mandant, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('mandant') } }
17
17
  # The numeric status ID to assign to the candidate on creation in Coveto. Refer to your Coveto `/bewerber-status` endpoint for available IDs.
18
18
  field :status, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status') } }
19
+ # Whether the candidate is created as active (`Ja`) or inactive (`Nein`) in Coveto. If omitted, Coveto applies its default (active).
20
+ field :aktiv, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAktiv), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('aktiv'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAktiv, true) } }
19
21
 
20
- sig { params(mandant: T.nilable(::Float), status: T.nilable(::Integer)).void }
21
- def initialize(mandant: nil, status: nil)
22
+ sig { params(mandant: T.nilable(::Float), status: T.nilable(::Integer), aktiv: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyAktiv)).void }
23
+ def initialize(mandant: nil, status: nil, aktiv: nil)
22
24
  @mandant = mandant
23
25
  @status = status
26
+ @aktiv = aktiv
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 @mandant == other.mandant
30
33
  return false unless @status == other.status
34
+ return false unless @aktiv == other.aktiv
31
35
  true
32
36
  end
33
37
  end
@@ -12,4 +12,6 @@ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCovetorestCa
12
12
  def mandant=(str_); end
13
13
  def status(); end
14
14
  def status=(str_); end
15
+ def aktiv(); end
16
+ def aktiv=(str_); end
15
17
  end
@@ -17,16 +17,19 @@ module Kombo
17
17
 
18
18
  field :address_line_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Address_Line_2') } }
19
19
 
20
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Postal_Code') } }
21
+
20
22
  field :region_subdivision_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Region_Subdivision_1') } }
21
23
 
22
24
  field :country_region_reference, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryRegionReference), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Country_Region_Reference') } }
23
25
 
24
26
  field :country_city_reference, Crystalline::Nilable.new(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryCityReference), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Country_City_Reference') } }
25
27
 
26
- sig { params(address_line_1: T.nilable(::String), address_line_2: T.nilable(::String), region_subdivision_1: T.nilable(::String), country_region_reference: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryRegionReference), country_city_reference: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryCityReference)).void }
27
- def initialize(address_line_1: nil, address_line_2: nil, region_subdivision_1: nil, country_region_reference: nil, country_city_reference: nil)
28
+ sig { params(address_line_1: T.nilable(::String), address_line_2: T.nilable(::String), postal_code: T.nilable(::String), region_subdivision_1: T.nilable(::String), country_region_reference: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryRegionReference), country_city_reference: T.nilable(Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyCountryCityReference)).void }
29
+ def initialize(address_line_1: nil, address_line_2: nil, postal_code: nil, region_subdivision_1: nil, country_region_reference: nil, country_city_reference: nil)
28
30
  @address_line_1 = address_line_1
29
31
  @address_line_2 = address_line_2
32
+ @postal_code = postal_code
30
33
  @region_subdivision_1 = region_subdivision_1
31
34
  @country_region_reference = country_region_reference
32
35
  @country_city_reference = country_city_reference
@@ -37,6 +40,7 @@ module Kombo
37
40
  return false unless other.is_a? self.class
38
41
  return false unless @address_line_1 == other.address_line_1
39
42
  return false unless @address_line_2 == other.address_line_2
43
+ return false unless @postal_code == other.postal_code
40
44
  return false unless @region_subdivision_1 == other.region_subdivision_1
41
45
  return false unless @country_region_reference == other.country_region_reference
42
46
  return false unless @country_city_reference == other.country_city_reference
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsJobsJobIdApplicationsRequestBodyLocationData
12
12
  def address_line_1=(str_); end
13
13
  def address_line_2(); end
14
14
  def address_line_2=(str_); end
15
+ def postal_code(); end
16
+ def postal_code=(str_); end
15
17
  def region_subdivision_1(); end
16
18
  def region_subdivision_1=(str_); end
17
19
  def country_region_reference(); end
@@ -12,7 +12,7 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # We only allow 1 concurrent sync to be running or queued.
15
+ # We only allow 1 concurrent sync of the same type to be running or queued.
16
16
  field :already_queued, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('already_queued'), required: true } }
17
17
  # ID of the newly-created or already-queued-or-running sync.
18
18
  field :sync_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('sync_id'), required: true } }
@@ -17,7 +17,7 @@ module Kombo
17
17
 
18
18
  field :required, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
19
19
 
20
- field :item_type, Crystalline::Union.new(Models::Shared::Schema2Text, Models::Shared::Schema2Number, Models::Shared::Schema2Date, Models::Shared::Schema2SingleSelect, Models::Shared::Schema2MultiSelect, Models::Shared::Schema2Checkbox, Models::Shared::Schema2Object2, Models::Shared::Schema2Array2, Models::Shared::Schema2File), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('item_type'), required: true } }
20
+ field :item_type, Crystalline::Union.new(Models::Shared::Schema2Text, Models::Shared::Schema2Number, Models::Shared::Schema2Date, Models::Shared::Schema2SingleSelect, Models::Shared::Schema2MultiSelect, Models::Shared::Schema2Checkbox, Models::Shared::Schema2Object1, Models::Shared::Schema2Array1, Models::Shared::Schema2File), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('item_type'), required: true } }
21
21
 
22
22
  field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
23
23
 
@@ -29,7 +29,7 @@ module Kombo
29
29
 
30
30
  field :max_items, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('max_items') } }
31
31
 
32
- sig { params(label: ::String, required: T::Boolean, item_type: T.any(Models::Shared::Schema2Text, Models::Shared::Schema2Number, Models::Shared::Schema2Date, Models::Shared::Schema2SingleSelect, Models::Shared::Schema2MultiSelect, Models::Shared::Schema2Checkbox, Models::Shared::Schema2Object2, Models::Shared::Schema2Array2, Models::Shared::Schema2File), type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey7), min_items: T.nilable(::Float), max_items: T.nilable(::Float)).void }
32
+ sig { params(label: ::String, required: T::Boolean, item_type: T.any(Models::Shared::Schema2Text, Models::Shared::Schema2Number, Models::Shared::Schema2Date, Models::Shared::Schema2SingleSelect, Models::Shared::Schema2MultiSelect, Models::Shared::Schema2Checkbox, Models::Shared::Schema2Object1, Models::Shared::Schema2Array1, Models::Shared::Schema2File), type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey7), min_items: T.nilable(::Float), max_items: T.nilable(::Float)).void }
33
33
  def initialize(label:, required:, item_type:, type: 'array', description: nil, unified_key: nil, min_items: nil, max_items: nil)
34
34
  @label = label
35
35
  @required = required
@@ -17,7 +17,7 @@ module Kombo
17
17
 
18
18
  field :required, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
19
19
 
20
- field :properties, Crystalline::Hash.new(Symbol, Crystalline::Union.new(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object, Models::Shared::Schema1Array1, Models::Shared::Schema1File)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
20
+ field :properties, Crystalline::Hash.new(Symbol, Crystalline::Union.new(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
21
21
 
22
22
  field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
23
23
 
@@ -25,7 +25,7 @@ module Kombo
25
25
 
26
26
  field :unified_key, Crystalline::Nilable.new(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey6), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_key'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey6, true) } }
27
27
 
28
- sig { params(label: ::String, required: T::Boolean, properties: T::Hash[Symbol, T.any(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object, Models::Shared::Schema1Array1, Models::Shared::Schema1File)], type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey6)).void }
28
+ sig { params(label: ::String, required: T::Boolean, properties: T::Hash[Symbol, T.any(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)], type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::GetHrisEmployeesFormPositiveResponseUnifiedKey6)).void }
29
29
  def initialize(label:, required:, properties:, type: 'object', description: nil, unified_key: nil)
30
30
  @label = label
31
31
  @required = required
@@ -14,14 +14,17 @@ module Kombo
14
14
 
15
15
  # Fields specific to Workday.
16
16
  field :workday, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkday), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workday') } }
17
+ # Fields specific to SAP SuccessFactors.
18
+ field :successfactors, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodySuccessfactors), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('successfactors') } }
17
19
  # Fields specific to Greenhouse.
18
20
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
19
21
  # Workable specific remote fields for ATS actions.
20
22
  field :workable, Crystalline::Nilable.new(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
21
23
 
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
+ sig { params(workday: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkday), successfactors: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodySuccessfactors), greenhouse: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyGreenhouse), workable: T.nilable(Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyWorkable)).void }
25
+ def initialize(workday: nil, successfactors: nil, greenhouse: nil, workable: nil)
24
26
  @workday = workday
27
+ @successfactors = successfactors
25
28
  @greenhouse = greenhouse
26
29
  @workable = workable
27
30
  end
@@ -30,6 +33,7 @@ module Kombo
30
33
  def ==(other)
31
34
  return false unless other.is_a? self.class
32
35
  return false unless @workday == other.workday
36
+ return false unless @successfactors == other.successfactors
33
37
  return false unless @greenhouse == other.greenhouse
34
38
  return false unless @workable == other.workable
35
39
  true
@@ -10,6 +10,8 @@ end
10
10
  class Kombo::Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields
11
11
  def workday(); end
12
12
  def workday=(str_); end
13
+ def successfactors(); end
14
+ def successfactors=(str_); end
13
15
  def greenhouse(); end
14
16
  def greenhouse=(str_); end
15
17
  def workable(); end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # Fields specific to SAP SuccessFactors.
11
+ class PutAtsApplicationsApplicationIdStageRequestBodySuccessfactors
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Fields that we will pass through to SuccessFactor's `JobApplication` object when moving the application to a new stage. Useful for instance-specific fields that SAP requires on certain status transitions (e.g. `custEventReason`).
16
+ field :job_application, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('JobApplication') } }
17
+
18
+ sig { params(job_application: T.nilable(T::Hash[Symbol, ::Object])).void }
19
+ def initialize(job_application: nil)
20
+ @job_application = job_application
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 @job_application == other.job_application
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::PutAtsApplicationsApplicationIdStageRequestBodySuccessfactors
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PutAtsApplicationsApplicationIdStageRequestBodySuccessfactors
11
+ def job_application(); end
12
+ def job_application=(str_); end
13
+ end
@@ -8,7 +8,7 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class Schema2Object2
11
+ class Schema1Object1
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -17,15 +17,15 @@ module Kombo
17
17
 
18
18
  field :required, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
19
19
 
20
- field :properties, Crystalline::Hash.new(Symbol, Crystalline::Union.new(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object, Models::Shared::Schema1Array2, Models::Shared::Schema1File)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
20
+ field :properties, Crystalline::Hash.new(Symbol, Crystalline::Union.new(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
21
21
 
22
22
  field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
23
23
 
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description') } }
25
25
 
26
- field :unified_key, Crystalline::Nilable.new(Models::Shared::Schema2UnifiedKey6), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_key'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::Schema2UnifiedKey6, true) } }
26
+ field :unified_key, Crystalline::Nilable.new(Models::Shared::Schema1UnifiedKey6), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_key'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::Schema1UnifiedKey6, true) } }
27
27
 
28
- sig { params(label: ::String, required: T::Boolean, properties: T::Hash[Symbol, T.any(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object, Models::Shared::Schema1Array2, Models::Shared::Schema1File)], type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::Schema2UnifiedKey6)).void }
28
+ sig { params(label: ::String, required: T::Boolean, properties: T::Hash[Symbol, T.any(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)], type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::Schema1UnifiedKey6)).void }
29
29
  def initialize(label:, required:, properties:, type: 'object', description: nil, unified_key: nil)
30
30
  @label = label
31
31
  @required = required
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::Schema1Object
5
+ class Kombo::Models::Shared::Schema1Object1
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::Schema1Object
10
+ class Kombo::Models::Shared::Schema1Object1
11
11
  def label(); end
12
12
  def label=(str_); end
13
13
  def required(); end
@@ -8,7 +8,7 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class Schema1
11
+ class Schema2
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::Schema1
5
+ class Kombo::Models::Shared::Schema2
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::Schema1
10
+ class Kombo::Models::Shared::Schema2
11
11
  end
@@ -17,7 +17,7 @@ module Kombo
17
17
 
18
18
  field :required, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('required'), required: true } }
19
19
 
20
- field :properties, Models::Shared::Schema1, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
20
+ field :properties, Crystalline::Hash.new(Symbol, Crystalline::Union.new(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('properties'), required: true } }
21
21
 
22
22
  field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
23
23
 
@@ -25,7 +25,7 @@ module Kombo
25
25
 
26
26
  field :unified_key, Crystalline::Nilable.new(Models::Shared::Schema2UnifiedKey6), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_key'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::Schema2UnifiedKey6, true) } }
27
27
 
28
- sig { params(label: ::String, required: T::Boolean, properties: Models::Shared::Schema1, type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::Schema2UnifiedKey6)).void }
28
+ sig { params(label: ::String, required: T::Boolean, properties: T::Hash[Symbol, T.any(Models::Shared::Schema1Text, Models::Shared::Schema1Number, Models::Shared::Schema1Date, Models::Shared::Schema1SingleSelect, Models::Shared::Schema1MultiSelect, Models::Shared::Schema1Checkbox, Models::Shared::Schema1Object1, Models::Shared::Schema1Array1, Models::Shared::Schema1File)], type: ::String, description: T.nilable(::String), unified_key: T.nilable(Models::Shared::Schema2UnifiedKey6)).void }
29
29
  def initialize(label:, required:, properties:, type: 'object', description: nil, unified_key: nil)
30
30
  @label = label
31
31
  @required = required
@@ -18,14 +18,17 @@ module Kombo
18
18
  field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The application stage name. For example, "Initial Screening".
20
20
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
+ # A key-value store of fields not covered by the schema. [Read more](/custom-fields)
22
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
21
23
  # Numeric index following the order of the stages if they are ordered in the underlying tool.
22
24
  field :index, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('index') } }
23
25
 
24
- sig { params(id: ::String, remote_id: T.nilable(::String), name: T.nilable(::String), index: T.nilable(::Integer)).void }
25
- def initialize(id:, remote_id: nil, name: nil, index: nil)
26
+ sig { params(id: ::String, remote_id: T.nilable(::String), name: T.nilable(::String), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), index: T.nilable(::Integer)).void }
27
+ def initialize(id:, remote_id: nil, name: nil, custom_fields: nil, index: nil)
26
28
  @id = id
27
29
  @remote_id = remote_id
28
30
  @name = name
31
+ @custom_fields = custom_fields
29
32
  @index = index
30
33
  end
31
34
 
@@ -35,6 +38,7 @@ module Kombo
35
38
  return false unless @id == other.id
36
39
  return false unless @remote_id == other.remote_id
37
40
  return false unless @name == other.name
41
+ return false unless @custom_fields == other.custom_fields
38
42
  return false unless @index == other.index
39
43
  true
40
44
  end
@@ -14,6 +14,8 @@ class Kombo::Models::Shared::Stage
14
14
  def remote_id=(str_); end
15
15
  def name(); end
16
16
  def name=(str_); end
17
+ def custom_fields(); end
18
+ def custom_fields=(str_); end
17
19
  def index(); end
18
20
  def index=(str_); end
19
21
  end