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.
- checksums.yaml +4 -4
- data/lib/kombo/assessment.rb +16 -16
- data/lib/kombo/ats.rb +96 -96
- data/lib/kombo/connect.rb +8 -8
- data/lib/kombo/general.rb +63 -55
- data/lib/kombo/hris.rb +72 -72
- data/lib/kombo/models/operations/getatsjobs_request.rb +1 -1
- data/lib/kombo/models/shared/getatsapplicationspositiveresponse_current_stage.rb +6 -2
- data/lib/kombo/models/shared/getatsapplicationspositiveresponse_current_stage.rbi +2 -0
- data/lib/kombo/models/shared/getatsapplicationstagespositiveresponse_result.rb +6 -2
- data/lib/kombo/models/shared/getatsapplicationstagespositiveresponse_result.rbi +2 -0
- data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rb +1 -1
- data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team_role.rb +1 -1
- data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rb +1 -2
- data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rb +1 -2
- data/lib/kombo/models/shared/integration_tool.rb +6 -0
- data/lib/kombo/models/shared/job_role.rb +6 -6
- data/lib/kombo/models/shared/job_role.rbi +2 -2
- data/lib/kombo/models/shared/name.rb +5 -1
- data/lib/kombo/models/shared/postatscandidatesrequestbody_aktiv.rb +19 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_aktiv.rbi +11 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rb +6 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rbi +2 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_location_data.rb +6 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_location_data.rbi +2 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_aktiv.rb +19 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_aktiv.rbi +11 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rb +6 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rbi +2 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_location_data.rb +6 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_location_data.rbi +2 -0
- data/lib/kombo/models/shared/postforcesyncpositiveresponse_data.rb +1 -1
- data/lib/kombo/models/shared/properties_array.rb +2 -2
- data/lib/kombo/models/shared/properties_object.rb +2 -2
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rb +32 -0
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rbi +13 -0
- data/lib/kombo/models/shared/{schema2_object_2.rb → schema1_object_1.rb} +4 -4
- data/lib/kombo/models/shared/{schema1_object.rbi → schema1_object_1.rbi} +2 -2
- data/lib/kombo/models/shared/{schema1.rb → schema2.rb} +1 -1
- data/lib/kombo/models/shared/{schema1.rbi → schema2.rbi} +2 -2
- data/lib/kombo/models/shared/schema2_object_1.rb +2 -2
- data/lib/kombo/models/shared/stage.rb +6 -2
- data/lib/kombo/models/shared/stage.rbi +2 -0
- data/lib/kombo/models/shared/system_role.rb +6 -6
- data/lib/kombo/models/shared/system_role.rbi +2 -2
- data/lib/kombo/models/shared.rb +5 -8
- data/lib/kombo/sdkconfiguration.rb +3 -3
- data/lib/kombo/utils/retries.rb +4 -1
- metadata +14 -20
- data/lib/kombo/models/shared/schema1_array_2.rb +0 -63
- data/lib/kombo/models/shared/schema1_array_2.rbi +0 -27
- data/lib/kombo/models/shared/schema1_object.rb +0 -55
- data/lib/kombo/models/shared/schema1_union_2.rb +0 -27
- data/lib/kombo/models/shared/schema1_union_2.rbi +0 -11
- data/lib/kombo/models/shared/schema2_array_2.rb +0 -63
- data/lib/kombo/models/shared/schema2_array_2.rbi +0 -27
- data/lib/kombo/models/shared/schema2_object_2.rbi +0 -23
- data/lib/kombo/models/shared/schema2_union_1.rb +0 -27
- data/lib/kombo/models/shared/schema2_union_1.rbi +0 -11
- data/lib/kombo/models/shared/schema2_union_2.rb +0 -27
- 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 -
|
|
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 -
|
|
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(
|
|
25
|
-
def initialize(remote_id: nil, remote_label: 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
|
|
@@ -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
|
|
@@ -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
|
data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rb
CHANGED
|
@@ -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
|
|
@@ -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::
|
|
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::
|
|
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::
|
|
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::
|
|
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
|
data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb
CHANGED
|
@@ -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
|
data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi
CHANGED
|
@@ -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
|
data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rb
ADDED
|
@@ -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
|
data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_successfactors.rbi
ADDED
|
@@ -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
|
|
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::
|
|
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::
|
|
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::
|
|
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::
|
|
5
|
+
class Kombo::Models::Shared::Schema1Object1
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Kombo::Models::Shared::
|
|
10
|
+
class Kombo::Models::Shared::Schema1Object1
|
|
11
11
|
def label(); end
|
|
12
12
|
def label=(str_); end
|
|
13
13
|
def required(); end
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Kombo::Models::Shared::
|
|
5
|
+
class Kombo::Models::Shared::Schema2
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Kombo::Models::Shared::
|
|
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::
|
|
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::
|
|
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
|