kombo 1.0.6 → 1.0.8

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/assessment.rb +20 -14
  3. data/lib/kombo/general.rb +7 -1
  4. data/lib/kombo/models/operations/{getassessmentordersopen_request.rb → getassessmentorders_request.rb} +15 -3
  5. data/lib/kombo/models/operations/getassessmentorders_request.rbi +23 -0
  6. data/lib/kombo/models/operations/{getassessmentordersopen_response.rb → getassessmentorders_response.rb} +8 -8
  7. data/lib/kombo/models/operations/{getassessmentordersopen_response.rbi → getassessmentorders_response.rbi} +4 -4
  8. data/lib/kombo/models/operations/getatsapplications_request.rb +11 -7
  9. data/lib/kombo/models/operations/getatscandidates_request.rb +9 -6
  10. data/lib/kombo/models/operations/getatsinterviews_request.rb +9 -6
  11. data/lib/kombo/models/operations/getatsjobs_request.rb +9 -9
  12. data/lib/kombo/models/operations/getatsoffers_request.rb +8 -4
  13. data/lib/kombo/models/operations/getatsusers_request.rb +6 -3
  14. data/lib/kombo/models/operations/gethrisabsences_request.rb +6 -2
  15. data/lib/kombo/models/operations/gethrisemployees_request.rb +11 -8
  16. data/lib/kombo/models/operations/gethrisperformancereviews_request.rb +8 -4
  17. data/lib/kombo/models/operations/gethrisstaffingentities_request.rb +8 -7
  18. data/lib/kombo/models/operations/gethristimeoffbalances_request.rb +6 -2
  19. data/lib/kombo/models/operations.rb +2 -2
  20. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_application.rb +1 -1
  21. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_candidate.rb +4 -4
  22. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rb +1 -1
  23. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team_role.rb +0 -3
  24. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_job.rb +5 -5
  25. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_location.rb +18 -18
  26. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_location.rbi +8 -8
  27. data/lib/kombo/models/shared/deletehrisabsencesabsenceidpositiveresponse_data.rb +12 -2
  28. data/lib/kombo/models/shared/deletehrisabsencesabsenceidpositiveresponse_data.rbi +4 -0
  29. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse.rb → getassessmentorderspositiveresponse.rb} +3 -3
  30. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse.rbi → getassessmentorderspositiveresponse.rbi} +2 -2
  31. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_application.rb → getassessmentorderspositiveresponse_application.rb} +2 -2
  32. data/lib/kombo/models/shared/getassessmentorderspositiveresponse_application.rbi +13 -0
  33. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_candidate.rb → getassessmentorderspositiveresponse_candidate.rb} +5 -5
  34. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_candidate.rbi → getassessmentorderspositiveresponse_candidate.rbi} +2 -2
  35. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_data.rb → getassessmentorderspositiveresponse_data.rb} +3 -3
  36. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_data.rbi → getassessmentorderspositiveresponse_data.rbi} +2 -2
  37. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_hiring_team.rb → getassessmentorderspositiveresponse_hiring_team.rb} +4 -4
  38. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_hiring_team.rbi → getassessmentorderspositiveresponse_hiring_team.rbi} +2 -2
  39. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_hiring_team_role.rb → getassessmentorderspositiveresponse_hiring_team_role.rb} +1 -4
  40. data/lib/kombo/models/shared/getassessmentorderspositiveresponse_hiring_team_role.rbi +11 -0
  41. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_job.rb → getassessmentorderspositiveresponse_job.rb} +8 -8
  42. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_job.rbi → getassessmentorderspositiveresponse_job.rbi} +2 -2
  43. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_location.rb → getassessmentorderspositiveresponse_location.rb} +19 -19
  44. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_location.rbi → getassessmentorderspositiveresponse_location.rbi} +10 -10
  45. data/lib/kombo/models/shared/getassessmentorderspositiveresponse_result.rb +52 -0
  46. data/lib/kombo/models/shared/{getassessmentordersopenpositiveresponse_result.rbi → getassessmentorderspositiveresponse_result.rbi} +4 -2
  47. data/lib/kombo/models/shared/getassessmentorderspositiveresponse_status.rb +23 -0
  48. data/lib/kombo/models/shared/getassessmentorderspositiveresponse_status.rbi +11 -0
  49. data/lib/kombo/models/shared/gethrisabsencespositiveresponse_result.rb +12 -2
  50. data/lib/kombo/models/shared/gethrisabsencespositiveresponse_result.rbi +4 -0
  51. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_application.rb +1 -1
  52. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_candidate.rb +4 -4
  53. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rb +1 -1
  54. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team_role.rb +0 -3
  55. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_job.rb +5 -5
  56. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_location.rb +18 -18
  57. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_location.rbi +8 -8
  58. data/lib/kombo/models/shared/integration_tool.rb +3 -0
  59. data/lib/kombo/models/shared/posthrisabsencespositiveresponse_data.rb +12 -2
  60. data/lib/kombo/models/shared/posthrisabsencespositiveresponse_data.rbi +4 -0
  61. data/lib/kombo/models/shared.rb +10 -9
  62. data/lib/kombo/sdkconfiguration.rb +2 -2
  63. metadata +26 -24
  64. data/lib/kombo/models/operations/getassessmentordersopen_request.rbi +0 -17
  65. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_application.rbi +0 -13
  66. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team_role.rbi +0 -11
  67. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_result.rb +0 -48
@@ -15,15 +15,15 @@ module Kombo
15
15
  # The hiring team allows you to provision users into your system who can access the job and its applications.
16
16
  field :hiring_team, Crystalline::Array.new(Models::Shared::AssessmentOrderReceivedWebhookPayloadHiringTeam), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team'), required: true } }
17
17
  # The job's identifier in the integrated system.
18
- field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id') } }
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The job title.
20
- field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name') } }
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
21
  # The human readable job code. Some systems expose this as the Requisition Code/ID.
22
- field :job_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job_code') } }
22
+ field :job_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job_code'), required: true } }
23
23
  # Description of the job. This field is usually returned as HTML.
24
- field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description') } }
24
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
25
25
  # The job location information.
26
- field :location, Crystalline::Nilable.new(Models::Shared::AssessmentOrderReceivedWebhookPayloadLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location') } }
26
+ field :location, Crystalline::Nilable.new(Models::Shared::AssessmentOrderReceivedWebhookPayloadLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location'), required: true } }
27
27
 
28
28
  sig { params(hiring_team: T::Array[Models::Shared::AssessmentOrderReceivedWebhookPayloadHiringTeam], remote_id: T.nilable(::String), name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), location: T.nilable(Models::Shared::AssessmentOrderReceivedWebhookPayloadLocation)).void }
29
29
  def initialize(hiring_team:, remote_id: nil, name: nil, job_code: nil, description: nil, location: nil)
@@ -12,42 +12,42 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
16
- field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('city') } }
17
- # Contains the ISO2 country code if possible. If not, it contains the original value.
18
- field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('country') } }
19
- # If we have address data, this is filled with the raw address string.
20
- field :raw, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('raw') } }
21
-
22
- field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('state') } }
23
15
  # If we can parse the address data, this field contains the first part of the street information.
24
16
  field :street_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('street_1') } }
25
17
 
26
18
  field :street_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('street_2') } }
27
19
 
20
+ field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('city') } }
21
+
22
+ field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('state') } }
23
+
28
24
  field :zip_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('zip_code') } }
25
+ # Contains the ISO2 country code if possible. If not, it contains the original value.
26
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('country') } }
27
+ # If we have address data, this is filled with the raw address string.
28
+ field :raw, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('raw') } }
29
29
 
30
- sig { params(city: T.nilable(::String), country: T.nilable(::String), raw: T.nilable(::String), state: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), zip_code: T.nilable(::String)).void }
31
- def initialize(city: nil, country: nil, raw: nil, state: nil, street_1: nil, street_2: nil, zip_code: nil)
32
- @city = city
33
- @country = country
34
- @raw = raw
35
- @state = state
30
+ sig { params(street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), state: T.nilable(::String), zip_code: T.nilable(::String), country: T.nilable(::String), raw: T.nilable(::String)).void }
31
+ def initialize(street_1: nil, street_2: nil, city: nil, state: nil, zip_code: nil, country: nil, raw: nil)
36
32
  @street_1 = street_1
37
33
  @street_2 = street_2
34
+ @city = city
35
+ @state = state
38
36
  @zip_code = zip_code
37
+ @country = country
38
+ @raw = raw
39
39
  end
40
40
 
41
41
  sig { params(other: T.untyped).returns(T::Boolean) }
42
42
  def ==(other)
43
43
  return false unless other.is_a? self.class
44
- return false unless @city == other.city
45
- return false unless @country == other.country
46
- return false unless @raw == other.raw
47
- return false unless @state == other.state
48
44
  return false unless @street_1 == other.street_1
49
45
  return false unless @street_2 == other.street_2
46
+ return false unless @city == other.city
47
+ return false unless @state == other.state
50
48
  return false unless @zip_code == other.zip_code
49
+ return false unless @country == other.country
50
+ return false unless @raw == other.raw
51
51
  true
52
52
  end
53
53
  end
@@ -8,18 +8,18 @@ end
8
8
 
9
9
 
10
10
  class Kombo::Models::Shared::AssessmentOrderReceivedWebhookPayloadLocation
11
- def city(); end
12
- def city=(str_); end
13
- def country(); end
14
- def country=(str_); end
15
- def raw(); end
16
- def raw=(str_); end
17
- def state(); end
18
- def state=(str_); end
19
11
  def street_1(); end
20
12
  def street_1=(str_); end
21
13
  def street_2(); end
22
14
  def street_2=(str_); end
15
+ def city(); end
16
+ def city=(str_); end
17
+ def state(); end
18
+ def state=(str_); end
23
19
  def zip_code(); end
24
20
  def zip_code=(str_); end
21
+ def country(); end
22
+ def country=(str_); end
23
+ def raw(); end
24
+ def raw=(str_); end
25
25
  end
@@ -41,14 +41,20 @@ module Kombo
41
41
  field :employee_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('employee_note'), required: true } }
42
42
  # The Kombo absence type ID of this absence.
43
43
  field :type_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type_id'), required: true } }
44
+ # The date and time the object was created in the remote system.
45
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
46
+ field :remote_created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_created_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
47
+ # A timestamp retrieved from the remote system, describing when the resource was last updated.
48
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
49
+ field :remote_updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_updated_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
44
50
  # 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.
45
51
  # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
46
52
  field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
47
53
  # The absence’s current status. In rare cases where we can’t find a clear mapping, the original string is passed through.
48
54
  field :status, Crystalline::Nilable.new(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseStatus), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseStatus, true) } }
49
55
 
50
- sig { params(id: ::String, employee_id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), start_date: T.nilable(::Object), end_date: T.nilable(::Object), start_half_day: T.nilable(T::Boolean), end_half_day: T.nilable(T::Boolean), start_time: T.nilable(::Object), end_time: T.nilable(::Object), amount: T.nilable(::Float), unit: T.nilable(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseUnit), employee_note: T.nilable(::String), type_id: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), status: T.nilable(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseStatus)).void }
51
- def initialize(id:, employee_id:, changed_at:, remote_id: nil, start_date: nil, end_date: nil, start_half_day: nil, end_half_day: nil, start_time: nil, end_time: nil, amount: nil, unit: nil, employee_note: nil, type_id: nil, remote_deleted_at: nil, status: nil)
56
+ sig { params(id: ::String, employee_id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), start_date: T.nilable(::Object), end_date: T.nilable(::Object), start_half_day: T.nilable(T::Boolean), end_half_day: T.nilable(T::Boolean), start_time: T.nilable(::Object), end_time: T.nilable(::Object), amount: T.nilable(::Float), unit: T.nilable(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseUnit), employee_note: T.nilable(::String), type_id: T.nilable(::String), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), status: T.nilable(Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseStatus)).void }
57
+ def initialize(id:, employee_id:, changed_at:, remote_id: nil, start_date: nil, end_date: nil, start_half_day: nil, end_half_day: nil, start_time: nil, end_time: nil, amount: nil, unit: nil, employee_note: nil, type_id: nil, remote_created_at: nil, remote_updated_at: nil, remote_deleted_at: nil, status: nil)
52
58
  @id = id
53
59
  @employee_id = employee_id
54
60
  @changed_at = changed_at
@@ -63,6 +69,8 @@ module Kombo
63
69
  @unit = unit
64
70
  @employee_note = employee_note
65
71
  @type_id = type_id
72
+ @remote_created_at = remote_created_at
73
+ @remote_updated_at = remote_updated_at
66
74
  @remote_deleted_at = remote_deleted_at
67
75
  @status = status
68
76
  end
@@ -84,6 +92,8 @@ module Kombo
84
92
  return false unless @unit == other.unit
85
93
  return false unless @employee_note == other.employee_note
86
94
  return false unless @type_id == other.type_id
95
+ return false unless @remote_created_at == other.remote_created_at
96
+ return false unless @remote_updated_at == other.remote_updated_at
87
97
  return false unless @remote_deleted_at == other.remote_deleted_at
88
98
  return false unless @status == other.status
89
99
  true
@@ -36,6 +36,10 @@ class Kombo::Models::Shared::DeleteHrisAbsencesAbsenceIdPositiveResponseData
36
36
  def employee_note=(str_); end
37
37
  def type_id(); end
38
38
  def type_id=(str_); end
39
+ def remote_created_at(); end
40
+ def remote_created_at=(str_); end
41
+ def remote_updated_at(); end
42
+ def remote_updated_at=(str_); end
39
43
  def remote_deleted_at(); end
40
44
  def remote_deleted_at=(str_); end
41
45
  def status(); end
@@ -8,16 +8,16 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class GetAssessmentOrdersOpenPositiveResponse
11
+ class GetAssessmentOrdersPositiveResponse
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
16
  field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
17
17
 
18
- field :data, Models::Shared::GetAssessmentOrdersOpenPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
18
+ field :data, Models::Shared::GetAssessmentOrdersPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
19
19
 
20
- sig { params(status: ::String, data: Models::Shared::GetAssessmentOrdersOpenPositiveResponseData).void }
20
+ sig { params(status: ::String, data: Models::Shared::GetAssessmentOrdersPositiveResponseData).void }
21
21
  def initialize(status:, data:)
22
22
  unless status == 'success'
23
23
  raise ArgumentError, 'Invalid value for status'
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponse
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponse
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponse
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponse
11
11
  def status(); end
12
12
  def status=(str_); end
13
13
  def data(); end
@@ -8,12 +8,12 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
  # Information about the job application.
11
- class GetAssessmentOrdersOpenPositiveResponseApplication
11
+ class GetAssessmentOrdersPositiveResponseApplication
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The application's identifier in the integrated system.
16
- field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id') } }
16
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
17
17
 
18
18
  sig { params(remote_id: T.nilable(::String)).void }
19
19
  def initialize(remote_id: nil)
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseApplication
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseApplication
11
+ def remote_id(); end
12
+ def remote_id=(str_); end
13
+ end
@@ -8,20 +8,20 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
  # Information about the candidate taking the assessment.
11
- class GetAssessmentOrdersOpenPositiveResponseCandidate
11
+ class GetAssessmentOrdersPositiveResponseCandidate
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The candidate's email address.
16
16
  field :email, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('email'), required: true } }
17
17
  # The candidate's identifier in the integrated system.
18
- field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id') } }
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The candidate's first name.
20
- field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('first_name') } }
20
+ field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('first_name'), required: true } }
21
21
  # The candidate's last name.
22
- field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('last_name') } }
22
+ field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('last_name'), required: true } }
23
23
  # The candidate's phone number.
24
- field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('phone') } }
24
+ field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('phone'), required: true } }
25
25
 
26
26
  sig { params(email: ::String, remote_id: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String), phone: T.nilable(::String)).void }
27
27
  def initialize(email:, remote_id: nil, first_name: nil, last_name: nil, phone: nil)
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseCandidate
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseCandidate
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseCandidate
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseCandidate
11
11
  def email(); end
12
12
  def email=(str_); end
13
13
  def remote_id(); end
@@ -8,16 +8,16 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class GetAssessmentOrdersOpenPositiveResponseData
11
+ class GetAssessmentOrdersPositiveResponseData
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :results, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersOpenPositiveResponseResult), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('results'), required: true } }
16
+ field :results, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersPositiveResponseResult), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('results'), required: true } }
17
17
 
18
18
  field :next_, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('next'), required: true } }
19
19
 
20
- sig { params(results: T::Array[Models::Shared::GetAssessmentOrdersOpenPositiveResponseResult], next_: T.nilable(::String)).void }
20
+ sig { params(results: T::Array[Models::Shared::GetAssessmentOrdersPositiveResponseResult], next_: T.nilable(::String)).void }
21
21
  def initialize(results:, next_: nil)
22
22
  @results = results
23
23
  @next_ = next_
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseData
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseData
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseData
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseData
11
11
  def results(); end
12
12
  def results=(str_); end
13
13
  def next_(); end
@@ -8,12 +8,12 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
  # A member of the hiring team.
11
- class GetAssessmentOrdersOpenPositiveResponseHiringTeam
11
+ class GetAssessmentOrdersPositiveResponseHiringTeam
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema.
16
- field :hiring_team_roles, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeamRole), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team_roles'), required: true } }
15
+ # Array of the roles of the user for this specific job.
16
+ field :hiring_team_roles, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeamRole), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team_roles'), required: true } }
17
17
  # The team member's identifier in the integrated system.
18
18
  field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The team member's email address.
@@ -23,7 +23,7 @@ module Kombo
23
23
  # The team member's last name.
24
24
  field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('last_name'), required: true } }
25
25
 
26
- sig { params(hiring_team_roles: T::Array[Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeamRole], remote_id: T.nilable(::String), email: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String)).void }
26
+ sig { params(hiring_team_roles: T::Array[Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeamRole], remote_id: T.nilable(::String), email: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String)).void }
27
27
  def initialize(hiring_team_roles:, remote_id: nil, email: nil, first_name: nil, last_name: nil)
28
28
  @hiring_team_roles = hiring_team_roles
29
29
  @remote_id = remote_id
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeam
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeam
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeam
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeam
11
11
  def hiring_team_roles(); end
12
12
  def hiring_team_roles=(str_); end
13
13
  def remote_id(); end
@@ -8,15 +8,12 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class GetAssessmentOrdersOpenPositiveResponseHiringTeamRole < T::Enum
11
+ class GetAssessmentOrdersPositiveResponseHiringTeamRole < T::Enum
12
12
 
13
13
 
14
14
  enums do
15
15
  RECRUITER = new('RECRUITER')
16
16
  HIRING_MANAGER = new('HIRING_MANAGER')
17
- COORDINATOR = new('COORDINATOR')
18
- SOURCER = new('SOURCER')
19
- INTERVIEWER = new('INTERVIEWER')
20
17
  end
21
18
  end
22
19
  end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeamRole
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeamRole
11
+ end
@@ -8,24 +8,24 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
  # Information about the job posting.
11
- class GetAssessmentOrdersOpenPositiveResponseJob
11
+ class GetAssessmentOrdersPositiveResponseJob
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The hiring team allows you to provision users into your system who can access the job and its applications.
16
- field :hiring_team, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeam), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team'), required: true } }
16
+ field :hiring_team, Crystalline::Array.new(Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeam), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team'), required: true } }
17
17
  # The job's identifier in the integrated system.
18
- field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id') } }
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The job title.
20
- field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name') } }
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
21
  # The human readable job code. Some systems expose this as the Requisition Code/ID.
22
- field :job_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job_code') } }
22
+ field :job_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job_code'), required: true } }
23
23
  # Description of the job. This field is usually returned as HTML.
24
- field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description') } }
24
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
25
25
  # The job location information.
26
- field :location, Crystalline::Nilable.new(Models::Shared::GetAssessmentOrdersOpenPositiveResponseLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location') } }
26
+ field :location, Crystalline::Nilable.new(Models::Shared::GetAssessmentOrdersPositiveResponseLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location'), required: true } }
27
27
 
28
- sig { params(hiring_team: T::Array[Models::Shared::GetAssessmentOrdersOpenPositiveResponseHiringTeam], remote_id: T.nilable(::String), name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), location: T.nilable(Models::Shared::GetAssessmentOrdersOpenPositiveResponseLocation)).void }
28
+ sig { params(hiring_team: T::Array[Models::Shared::GetAssessmentOrdersPositiveResponseHiringTeam], remote_id: T.nilable(::String), name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), location: T.nilable(Models::Shared::GetAssessmentOrdersPositiveResponseLocation)).void }
29
29
  def initialize(hiring_team:, remote_id: nil, name: nil, job_code: nil, description: nil, location: nil)
30
30
  @hiring_team = hiring_team
31
31
  @remote_id = remote_id
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseJob
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseJob
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseJob
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseJob
11
11
  def hiring_team(); end
12
12
  def hiring_team=(str_); end
13
13
  def remote_id(); end
@@ -8,46 +8,46 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
  # The job location information.
11
- class GetAssessmentOrdersOpenPositiveResponseLocation
11
+ class GetAssessmentOrdersPositiveResponseLocation
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
16
- field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('city') } }
17
- # Contains the ISO2 country code if possible. If not, it contains the original value.
18
- field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('country') } }
19
- # If we have address data, this is filled with the raw address string.
20
- field :raw, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('raw') } }
21
-
22
- field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('state') } }
23
15
  # If we can parse the address data, this field contains the first part of the street information.
24
16
  field :street_1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('street_1') } }
25
17
 
26
18
  field :street_2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('street_2') } }
27
19
 
20
+ field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('city') } }
21
+
22
+ field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('state') } }
23
+
28
24
  field :zip_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('zip_code') } }
25
+ # Contains the ISO2 country code if possible. If not, it contains the original value.
26
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('country') } }
27
+ # If we have address data, this is filled with the raw address string.
28
+ field :raw, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('raw') } }
29
29
 
30
- sig { params(city: T.nilable(::String), country: T.nilable(::String), raw: T.nilable(::String), state: T.nilable(::String), street_1: T.nilable(::String), street_2: T.nilable(::String), zip_code: T.nilable(::String)).void }
31
- def initialize(city: nil, country: nil, raw: nil, state: nil, street_1: nil, street_2: nil, zip_code: nil)
32
- @city = city
33
- @country = country
34
- @raw = raw
35
- @state = state
30
+ sig { params(street_1: T.nilable(::String), street_2: T.nilable(::String), city: T.nilable(::String), state: T.nilable(::String), zip_code: T.nilable(::String), country: T.nilable(::String), raw: T.nilable(::String)).void }
31
+ def initialize(street_1: nil, street_2: nil, city: nil, state: nil, zip_code: nil, country: nil, raw: nil)
36
32
  @street_1 = street_1
37
33
  @street_2 = street_2
34
+ @city = city
35
+ @state = state
38
36
  @zip_code = zip_code
37
+ @country = country
38
+ @raw = raw
39
39
  end
40
40
 
41
41
  sig { params(other: T.untyped).returns(T::Boolean) }
42
42
  def ==(other)
43
43
  return false unless other.is_a? self.class
44
- return false unless @city == other.city
45
- return false unless @country == other.country
46
- return false unless @raw == other.raw
47
- return false unless @state == other.state
48
44
  return false unless @street_1 == other.street_1
49
45
  return false unless @street_2 == other.street_2
46
+ return false unless @city == other.city
47
+ return false unless @state == other.state
50
48
  return false unless @zip_code == other.zip_code
49
+ return false unless @country == other.country
50
+ return false unless @raw == other.raw
51
51
  true
52
52
  end
53
53
  end
@@ -2,24 +2,24 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseLocation
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseLocation
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseLocation
11
- def city(); end
12
- def city=(str_); end
13
- def country(); end
14
- def country=(str_); end
15
- def raw(); end
16
- def raw=(str_); end
17
- def state(); end
18
- def state=(str_); end
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseLocation
19
11
  def street_1(); end
20
12
  def street_1=(str_); end
21
13
  def street_2(); end
22
14
  def street_2=(str_); end
15
+ def city(); end
16
+ def city=(str_); end
17
+ def state(); end
18
+ def state=(str_); end
23
19
  def zip_code(); end
24
20
  def zip_code=(str_); end
21
+ def country(); end
22
+ def country=(str_); end
23
+ def raw(); end
24
+ def raw=(str_); end
25
25
  end
@@ -0,0 +1,52 @@
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 GetAssessmentOrdersPositiveResponseResult
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The unique identifier of the assessment order.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The identifier of the assessment package.
18
+ field :package_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('package_id'), required: true } }
19
+ # The current status of the assessment order.
20
+ field :status, Models::Shared::GetAssessmentOrdersPositiveResponseStatus, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetAssessmentOrdersPositiveResponseStatus, false) } }
21
+ # Information about the candidate taking the assessment.
22
+ field :candidate, Models::Shared::GetAssessmentOrdersPositiveResponseCandidate, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('candidate'), required: true } }
23
+ # Information about the job application.
24
+ field :application, Models::Shared::GetAssessmentOrdersPositiveResponseApplication, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('application'), required: true } }
25
+ # Information about the job posting.
26
+ field :job, Models::Shared::GetAssessmentOrdersPositiveResponseJob, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job'), required: true } }
27
+
28
+ sig { params(id: ::String, package_id: ::String, status: Models::Shared::GetAssessmentOrdersPositiveResponseStatus, candidate: Models::Shared::GetAssessmentOrdersPositiveResponseCandidate, application: Models::Shared::GetAssessmentOrdersPositiveResponseApplication, job: Models::Shared::GetAssessmentOrdersPositiveResponseJob).void }
29
+ def initialize(id:, package_id:, status:, candidate:, application:, job:)
30
+ @id = id
31
+ @package_id = package_id
32
+ @status = status
33
+ @candidate = candidate
34
+ @application = application
35
+ @job = job
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @id == other.id
42
+ return false unless @package_id == other.package_id
43
+ return false unless @status == other.status
44
+ return false unless @candidate == other.candidate
45
+ return false unless @application == other.application
46
+ return false unless @job == other.job
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -2,16 +2,18 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseResult
5
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseResult
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GetAssessmentOrdersOpenPositiveResponseResult
10
+ class Kombo::Models::Shared::GetAssessmentOrdersPositiveResponseResult
11
11
  def id(); end
12
12
  def id=(str_); end
13
13
  def package_id(); end
14
14
  def package_id=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
15
17
  def candidate(); end
16
18
  def candidate=(str_); end
17
19
  def application(); end