kombo 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kombo/ats.rb +322 -0
- data/lib/kombo/connect.rb +2 -1
- data/lib/kombo/general.rb +11 -1
- data/lib/kombo/hris.rb +322 -0
- data/lib/kombo/models/operations/getatsattachments_request.rb +74 -0
- data/lib/kombo/models/operations/getatsattachments_request.rbi +31 -0
- data/lib/kombo/models/operations/getatsattachments_response.rb +56 -0
- data/lib/kombo/models/operations/getatsattachments_response.rbi +19 -0
- data/lib/kombo/models/operations/getatsscorecards_request.rb +83 -0
- data/lib/kombo/models/operations/getatsscorecards_request.rbi +31 -0
- data/lib/kombo/models/operations/getatsscorecards_response.rb +56 -0
- data/lib/kombo/models/operations/getatsscorecards_response.rbi +19 -0
- data/lib/kombo/models/operations/gethrispayruns_request.rb +70 -0
- data/lib/kombo/models/operations/gethrispayruns_request.rbi +29 -0
- data/lib/kombo/models/operations/gethrispayruns_response.rb +56 -0
- data/lib/kombo/models/operations/gethrispayruns_response.rbi +19 -0
- data/lib/kombo/models/operations/gethrispayslips_request.rb +87 -0
- data/lib/kombo/models/operations/gethrispayslips_request.rbi +33 -0
- data/lib/kombo/models/operations/gethrispayslips_response.rb +56 -0
- data/lib/kombo/models/operations/gethrispayslips_response.rbi +19 -0
- data/lib/kombo/models/operations.rb +8 -0
- data/lib/kombo/models/shared/amount.rb +36 -0
- data/lib/kombo/models/shared/amount.rbi +15 -0
- data/lib/kombo/models/shared/change.rb +19 -0
- data/lib/kombo/models/shared/change.rbi +11 -0
- data/lib/kombo/models/shared/content_ref.rb +43 -0
- data/lib/kombo/models/shared/content_ref.rbi +17 -0
- data/lib/kombo/models/shared/employee.rb +57 -0
- data/lib/kombo/models/shared/employee.rbi +25 -0
- data/lib/kombo/models/shared/format_multiselect.rb +2 -2
- data/lib/kombo/models/shared/format_singleselect.rb +2 -2
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
- data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
- data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
- data/lib/kombo/models/shared/{option_2.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
- data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
- data/lib/kombo/models/shared/getatsjobspositiveresponse_option_2.rbi +17 -0
- data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
- data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
- data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
- data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +62 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +27 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +40 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +17 -0
- data/lib/kombo/models/shared/integration.rb +44 -0
- data/lib/kombo/models/shared/integration.rbi +19 -0
- data/lib/kombo/models/shared/integration_tool.rb +4 -0
- data/lib/kombo/models/shared/issue.rb +56 -0
- data/lib/kombo/models/shared/issue.rbi +25 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
- data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
- data/lib/kombo/models/shared/line_item.rb +44 -0
- data/lib/kombo/models/shared/{option_1.rbi → line_item.rbi} +6 -4
- data/lib/kombo/models/shared/name.rb +6 -0
- data/lib/kombo/models/shared/pay_run.rb +48 -0
- data/lib/kombo/models/shared/pay_run.rbi +21 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
- data/lib/kombo/models/shared/{afas.rbi → postatscandidatesrequestbody_afas.rbi} +2 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +10 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +4 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +10 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +4 -0
- data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
- data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
- data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
- data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
- data/lib/kombo/models/shared/{afas.rb → posthrisemployeesemployeeiddocumentsrequestbody_afas.rb} +1 -1
- data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
- data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +2 -2
- data/lib/kombo/models/shared/response.rb +27 -0
- data/lib/kombo/models/shared/response.rbi +11 -0
- data/lib/kombo/models/shared/result_boolean.rb +55 -0
- data/lib/kombo/models/shared/result_boolean.rbi +23 -0
- data/lib/kombo/models/shared/result_date.rb +55 -0
- data/lib/kombo/models/shared/result_date.rbi +23 -0
- data/lib/kombo/models/shared/result_multiselect.rb +59 -0
- data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
- data/lib/kombo/models/shared/result_number.rb +55 -0
- data/lib/kombo/models/shared/result_number.rbi +23 -0
- data/lib/kombo/models/shared/result_singleselect.rb +59 -0
- data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
- data/lib/kombo/models/shared/result_text.rb +55 -0
- data/lib/kombo/models/shared/result_text.rbi +23 -0
- data/lib/kombo/models/shared.rb +57 -4
- data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
- data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
- data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
- data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
- data/lib/kombo/models/webhooks.rb +2 -0
- data/lib/kombo/sdkconfiguration.rb +5 -3
- data/lib/kombo/utils/utils.rb +6 -2
- metadata +136 -10
|
@@ -0,0 +1,57 @@
|
|
|
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 employee that the payslip is for.
|
|
11
|
+
class Employee
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
|
|
16
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
|
|
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.
|
|
18
|
+
field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
|
|
19
|
+
# The employee’s first name.
|
|
20
|
+
field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('first_name'), required: true } }
|
|
21
|
+
# The employee’s last name.
|
|
22
|
+
field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('last_name'), required: true } }
|
|
23
|
+
# The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`.
|
|
24
|
+
field :display_full_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('display_full_name'), required: true } }
|
|
25
|
+
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
|
|
26
|
+
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
27
|
+
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
28
|
+
# The employee’s work email address. If the email address is invalid, we will set this to `null`.
|
|
29
|
+
field :work_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('work_email') } }
|
|
30
|
+
|
|
31
|
+
sig { params(id: ::String, remote_id: ::String, first_name: T.nilable(::String), last_name: T.nilable(::String), display_full_name: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), work_email: T.nilable(::String)).void }
|
|
32
|
+
def initialize(id:, remote_id:, first_name: nil, last_name: nil, display_full_name: nil, remote_deleted_at: nil, work_email: nil)
|
|
33
|
+
@id = id
|
|
34
|
+
@remote_id = remote_id
|
|
35
|
+
@first_name = first_name
|
|
36
|
+
@last_name = last_name
|
|
37
|
+
@display_full_name = display_full_name
|
|
38
|
+
@remote_deleted_at = remote_deleted_at
|
|
39
|
+
@work_email = work_email
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
43
|
+
def ==(other)
|
|
44
|
+
return false unless other.is_a? self.class
|
|
45
|
+
return false unless @id == other.id
|
|
46
|
+
return false unless @remote_id == other.remote_id
|
|
47
|
+
return false unless @first_name == other.first_name
|
|
48
|
+
return false unless @last_name == other.last_name
|
|
49
|
+
return false unless @display_full_name == other.display_full_name
|
|
50
|
+
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
51
|
+
return false unless @work_email == other.work_email
|
|
52
|
+
true
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::Employee
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::Employee
|
|
11
|
+
def id(); end
|
|
12
|
+
def id=(str_); end
|
|
13
|
+
def remote_id(); end
|
|
14
|
+
def remote_id=(str_); end
|
|
15
|
+
def first_name(); end
|
|
16
|
+
def first_name=(str_); end
|
|
17
|
+
def last_name(); end
|
|
18
|
+
def last_name=(str_); end
|
|
19
|
+
def display_full_name(); end
|
|
20
|
+
def display_full_name=(str_); end
|
|
21
|
+
def remote_deleted_at(); end
|
|
22
|
+
def remote_deleted_at=(str_); end
|
|
23
|
+
def work_email(); end
|
|
24
|
+
def work_email=(str_); end
|
|
25
|
+
end
|
|
@@ -13,11 +13,11 @@ module Kombo
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
field :options, Crystalline::Array.new(Models::Shared::
|
|
16
|
+
field :options, Crystalline::Array.new(Models::Shared::GetAtsJobsPositiveResponseOption2), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('options'), required: true } }
|
|
17
17
|
|
|
18
18
|
field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
|
|
19
19
|
|
|
20
|
-
sig { params(options: T::Array[Models::Shared::
|
|
20
|
+
sig { params(options: T::Array[Models::Shared::GetAtsJobsPositiveResponseOption2], type: ::String).void }
|
|
21
21
|
def initialize(options:, type: 'MULTI_SELECT')
|
|
22
22
|
@options = options
|
|
23
23
|
unless type == 'MULTI_SELECT'
|
|
@@ -13,13 +13,13 @@ module Kombo
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
field :options, Crystalline::Array.new(Models::Shared::
|
|
16
|
+
field :options, Crystalline::Array.new(Models::Shared::GetAtsJobsPositiveResponseOption1), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('options'), required: true } }
|
|
17
17
|
|
|
18
18
|
field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
|
|
19
19
|
|
|
20
20
|
field :display_type, Crystalline::Nilable.new(Models::Shared::DisplayType3), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('display_type'), 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::DisplayType3, true) } }
|
|
21
21
|
|
|
22
|
-
sig { params(options: T::Array[Models::Shared::
|
|
22
|
+
sig { params(options: T::Array[Models::Shared::GetAtsJobsPositiveResponseOption1], type: ::String, display_type: T.nilable(Models::Shared::DisplayType3)).void }
|
|
23
23
|
def initialize(options:, type: 'SINGLE_SELECT', display_type: nil)
|
|
24
24
|
@options = options
|
|
25
25
|
unless type == 'SINGLE_SELECT'
|
|
@@ -0,0 +1,39 @@
|
|
|
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 GetAtsAttachmentsPositiveResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :data, Models::Shared::GetAtsAttachmentsPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(data: Models::Shared::GetAtsAttachmentsPositiveResponseData, status: ::String).void }
|
|
21
|
+
def initialize(data:, status: 'success')
|
|
22
|
+
@data = data
|
|
23
|
+
unless status == 'success'
|
|
24
|
+
raise ArgumentError, 'Invalid value for status'
|
|
25
|
+
end
|
|
26
|
+
@status = 'success'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @data == other.data
|
|
33
|
+
return false unless @status == other.status
|
|
34
|
+
true
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::GetAtsAttachmentsPositiveResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsAttachmentsPositiveResponse
|
|
11
|
+
def data(); end
|
|
12
|
+
def data=(str_); end
|
|
13
|
+
def status(); end
|
|
14
|
+
def status=(str_); end
|
|
15
|
+
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
|
+
|
|
11
|
+
class GetAtsAttachmentsPositiveResponseData
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :results, Crystalline::Array.new(Models::Shared::GetAtsAttachmentsPositiveResponseResult), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('results'), required: true } }
|
|
17
|
+
# Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages.
|
|
18
|
+
field :next_, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('next'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(results: T::Array[Models::Shared::GetAtsAttachmentsPositiveResponseResult], next_: T.nilable(::String)).void }
|
|
21
|
+
def initialize(results:, next_: nil)
|
|
22
|
+
@results = results
|
|
23
|
+
@next_ = next_
|
|
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 @results == other.results
|
|
30
|
+
return false unless @next_ == other.next_
|
|
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::GetAtsAttachmentsPositiveResponseData
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsAttachmentsPositiveResponseData
|
|
11
|
+
def results(); end
|
|
12
|
+
def results=(str_); end
|
|
13
|
+
def next_(); end
|
|
14
|
+
def next_=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
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 GetAtsAttachmentsPositiveResponseResult
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
|
|
16
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
|
|
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.
|
|
18
|
+
field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
|
|
19
|
+
# The Kombo ID of the candidate this attachment belongs to. The ID can be used to retrieve the candidate from the `get candidates` endpoint.
|
|
20
|
+
field :candidate_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate_id'), required: true } }
|
|
21
|
+
# The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
|
|
22
|
+
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
23
|
+
field :changed_at, ::DateTime, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('changed_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
24
|
+
# The Kombo ID of the application this attachment belongs to, when the ATS files it under one specific application. Many systems attach files to the candidate instead, in which case this is `null`.
|
|
25
|
+
field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('application_id'), required: true } }
|
|
26
|
+
# What the file is used for in the ATS. Anything that is neither a CV nor a cover letter is reported as `OTHER`.
|
|
27
|
+
field :type, Crystalline::Nilable.new(Models::Shared::GetAtsAttachmentsPositiveResponseType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetAtsAttachmentsPositiveResponseType, false) } }
|
|
28
|
+
# The name of the file as reported by the ATS.
|
|
29
|
+
field :file_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('file_name'), required: true } }
|
|
30
|
+
# The date and time the object was created in the remote system.
|
|
31
|
+
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
32
|
+
field :remote_created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_created_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
33
|
+
# A timestamp retrieved from the remote system, describing when the resource was last updated.
|
|
34
|
+
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
35
|
+
field :remote_updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_updated_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
36
|
+
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
|
|
37
|
+
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
38
|
+
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
39
|
+
# Where we stored the file in the bucket you configured. The file is written before the attachment shows up here, so this is set on every attachment you can read.
|
|
40
|
+
field :content_ref, Crystalline::Nilable.new(Models::Shared::ContentRef), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('content_ref') } }
|
|
41
|
+
|
|
42
|
+
sig { params(id: ::String, remote_id: ::String, candidate_id: ::String, changed_at: ::DateTime, application_id: T.nilable(::String), type: T.nilable(Models::Shared::GetAtsAttachmentsPositiveResponseType), file_name: T.nilable(::String), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), content_ref: T.nilable(Models::Shared::ContentRef)).void }
|
|
43
|
+
def initialize(id:, remote_id:, candidate_id:, changed_at:, application_id: nil, type: nil, file_name: nil, remote_created_at: nil, remote_updated_at: nil, remote_deleted_at: nil, content_ref: nil)
|
|
44
|
+
@id = id
|
|
45
|
+
@remote_id = remote_id
|
|
46
|
+
@candidate_id = candidate_id
|
|
47
|
+
@changed_at = changed_at
|
|
48
|
+
@application_id = application_id
|
|
49
|
+
@type = type
|
|
50
|
+
@file_name = file_name
|
|
51
|
+
@remote_created_at = remote_created_at
|
|
52
|
+
@remote_updated_at = remote_updated_at
|
|
53
|
+
@remote_deleted_at = remote_deleted_at
|
|
54
|
+
@content_ref = content_ref
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
58
|
+
def ==(other)
|
|
59
|
+
return false unless other.is_a? self.class
|
|
60
|
+
return false unless @id == other.id
|
|
61
|
+
return false unless @remote_id == other.remote_id
|
|
62
|
+
return false unless @candidate_id == other.candidate_id
|
|
63
|
+
return false unless @changed_at == other.changed_at
|
|
64
|
+
return false unless @application_id == other.application_id
|
|
65
|
+
return false unless @type == other.type
|
|
66
|
+
return false unless @file_name == other.file_name
|
|
67
|
+
return false unless @remote_created_at == other.remote_created_at
|
|
68
|
+
return false unless @remote_updated_at == other.remote_updated_at
|
|
69
|
+
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
70
|
+
return false unless @content_ref == other.content_ref
|
|
71
|
+
true
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::GetAtsAttachmentsPositiveResponseResult
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsAttachmentsPositiveResponseResult
|
|
11
|
+
def id(); end
|
|
12
|
+
def id=(str_); end
|
|
13
|
+
def remote_id(); end
|
|
14
|
+
def remote_id=(str_); end
|
|
15
|
+
def candidate_id(); end
|
|
16
|
+
def candidate_id=(str_); end
|
|
17
|
+
def changed_at(); end
|
|
18
|
+
def changed_at=(str_); end
|
|
19
|
+
def application_id(); end
|
|
20
|
+
def application_id=(str_); end
|
|
21
|
+
def type(); end
|
|
22
|
+
def type=(str_); end
|
|
23
|
+
def file_name(); end
|
|
24
|
+
def file_name=(str_); end
|
|
25
|
+
def remote_created_at(); end
|
|
26
|
+
def remote_created_at=(str_); end
|
|
27
|
+
def remote_updated_at(); end
|
|
28
|
+
def remote_updated_at=(str_); end
|
|
29
|
+
def remote_deleted_at(); end
|
|
30
|
+
def remote_deleted_at=(str_); end
|
|
31
|
+
def content_ref(); end
|
|
32
|
+
def content_ref=(str_); end
|
|
33
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
# GetAtsAttachmentsPositiveResponseType - What the file is used for in the ATS. Anything that is neither a CV nor a cover letter is reported as `OTHER`.
|
|
11
|
+
class GetAtsAttachmentsPositiveResponseType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
CV = new('CV')
|
|
14
|
+
COVER_LETTER = new('COVER_LETTER')
|
|
15
|
+
OTHER = new('OTHER')
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Kombo::Models::Shared::
|
|
5
|
+
class Kombo::Models::Shared::GetAtsJobsPositiveResponseOption1
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Kombo::Models::Shared::
|
|
10
|
+
class Kombo::Models::Shared::GetAtsJobsPositiveResponseOption1
|
|
11
11
|
def id(); end
|
|
12
12
|
def id=(str_); end
|
|
13
13
|
def name(); end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::GetAtsJobsPositiveResponseOption2
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsJobsPositiveResponseOption2
|
|
11
|
+
def id(); end
|
|
12
|
+
def id=(str_); end
|
|
13
|
+
def name(); end
|
|
14
|
+
def name=(str_); end
|
|
15
|
+
def remote_id(); end
|
|
16
|
+
def remote_id=(str_); end
|
|
17
|
+
end
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Kombo::Models::Shared::
|
|
5
|
+
class Kombo::Models::Shared::GetAtsNotesPositiveResponseAuthor
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Kombo::Models::Shared::
|
|
10
|
+
class Kombo::Models::Shared::GetAtsNotesPositiveResponseAuthor
|
|
11
11
|
def id(); end
|
|
12
12
|
def id=(str_); end
|
|
13
13
|
def remote_id(); end
|
|
@@ -41,9 +41,9 @@ module Kombo
|
|
|
41
41
|
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
42
42
|
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
43
43
|
|
|
44
|
-
field :author, Crystalline::Nilable.new(Models::Shared::
|
|
44
|
+
field :author, Crystalline::Nilable.new(Models::Shared::GetAtsNotesPositiveResponseAuthor), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('author'), required: true } }
|
|
45
45
|
|
|
46
|
-
sig { params(id: ::String, remote_id: ::String, candidate_id: ::String, changed_at: ::DateTime, application_id: T.nilable(::String), author_id: T.nilable(::String), title: T.nilable(::String), content_html: T.nilable(::String), is_private: T.nilable(T::Boolean), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), author: T.nilable(Models::Shared::
|
|
46
|
+
sig { params(id: ::String, remote_id: ::String, candidate_id: ::String, changed_at: ::DateTime, application_id: T.nilable(::String), author_id: T.nilable(::String), title: T.nilable(::String), content_html: T.nilable(::String), is_private: T.nilable(T::Boolean), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), author: T.nilable(Models::Shared::GetAtsNotesPositiveResponseAuthor)).void }
|
|
47
47
|
def initialize(id:, remote_id:, candidate_id:, changed_at:, application_id: nil, author_id: nil, title: nil, content_html: nil, is_private: nil, remote_created_at: nil, remote_updated_at: nil, remote_deleted_at: nil, author: nil)
|
|
48
48
|
@id = id
|
|
49
49
|
@remote_id = remote_id
|
|
@@ -0,0 +1,39 @@
|
|
|
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 GetAtsScorecardsPositiveResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :data, Models::Shared::GetAtsScorecardsPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(data: Models::Shared::GetAtsScorecardsPositiveResponseData, status: ::String).void }
|
|
21
|
+
def initialize(data:, status: 'success')
|
|
22
|
+
@data = data
|
|
23
|
+
unless status == 'success'
|
|
24
|
+
raise ArgumentError, 'Invalid value for status'
|
|
25
|
+
end
|
|
26
|
+
@status = 'success'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @data == other.data
|
|
33
|
+
return false unless @status == other.status
|
|
34
|
+
true
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::GetAtsScorecardsPositiveResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsScorecardsPositiveResponse
|
|
11
|
+
def data(); end
|
|
12
|
+
def data=(str_); end
|
|
13
|
+
def status(); end
|
|
14
|
+
def status=(str_); end
|
|
15
|
+
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
|
+
# The id and label of the selected option.
|
|
11
|
+
class GetAtsScorecardsPositiveResponseAnswer1
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The option as the interviewer sees it, e.g. "Strong Hire".
|
|
16
|
+
field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
|
|
17
|
+
# The ID of this option in the remote system, e.g. `strong_hire`. `null` when the system identifies the option only by its label.
|
|
18
|
+
field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(label: ::String, remote_id: T.nilable(::String)).void }
|
|
21
|
+
def initialize(label:, remote_id: nil)
|
|
22
|
+
@label = label
|
|
23
|
+
@remote_id = remote_id
|
|
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 @label == other.label
|
|
30
|
+
return false unless @remote_id == other.remote_id
|
|
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::GetAtsScorecardsPositiveResponseAnswer1
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsScorecardsPositiveResponseAnswer1
|
|
11
|
+
def label(); end
|
|
12
|
+
def label=(str_); end
|
|
13
|
+
def remote_id(); end
|
|
14
|
+
def remote_id=(str_); end
|
|
15
|
+
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
|
+
|
|
11
|
+
class GetAtsScorecardsPositiveResponseAnswer2
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The option as the interviewer sees it, e.g. "Strong Hire".
|
|
16
|
+
field :label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('label'), required: true } }
|
|
17
|
+
# The ID of this option in the remote system, e.g. `strong_hire`. `null` when the system identifies the option only by its label.
|
|
18
|
+
field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(label: ::String, remote_id: T.nilable(::String)).void }
|
|
21
|
+
def initialize(label:, remote_id: nil)
|
|
22
|
+
@label = label
|
|
23
|
+
@remote_id = remote_id
|
|
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 @label == other.label
|
|
30
|
+
return false unless @remote_id == other.remote_id
|
|
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::GetAtsScorecardsPositiveResponseAnswer2
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GetAtsScorecardsPositiveResponseAnswer2
|
|
11
|
+
def label(); end
|
|
12
|
+
def label=(str_); end
|
|
13
|
+
def remote_id(); end
|
|
14
|
+
def remote_id=(str_); end
|
|
15
|
+
end
|