kombo 1.0.3 → 1.0.5

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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +157 -1
  3. data/lib/kombo/general.rb +18 -5
  4. data/lib/kombo/hris.rb +165 -8
  5. data/lib/kombo/models/operations/getatsapplications_request.rb +9 -0
  6. data/lib/kombo/models/operations/getatsapplicationstages_request.rb +2 -0
  7. data/lib/kombo/models/operations/getatscandidates_request.rb +8 -0
  8. data/lib/kombo/models/operations/getatsinterviews_request.rb +8 -0
  9. data/lib/kombo/models/operations/getatsjobs_request.rb +11 -0
  10. data/lib/kombo/models/operations/getatsoffers_request.rb +6 -0
  11. data/lib/kombo/models/operations/getatsrejectionreasons_request.rb +2 -0
  12. data/lib/kombo/models/operations/getatsroles_request.rb +75 -0
  13. data/lib/kombo/models/operations/getatsroles_request.rbi +29 -0
  14. data/lib/kombo/models/operations/getatsroles_response.rb +56 -0
  15. data/lib/kombo/models/operations/getatsroles_response.rbi +19 -0
  16. data/lib/kombo/models/operations/getatstags_request.rb +2 -0
  17. data/lib/kombo/models/operations/getatsusers_request.rb +5 -0
  18. data/lib/kombo/models/operations/gethrisabsences_request.rb +4 -0
  19. data/lib/kombo/models/operations/gethrisabsencetypes_request.rb +2 -0
  20. data/lib/kombo/models/operations/gethrisemployeedocumentcategories_request.rb +2 -0
  21. data/lib/kombo/models/operations/gethrisemployees_request.rb +10 -0
  22. data/lib/kombo/models/operations/gethrisemployments_request.rb +2 -0
  23. data/lib/kombo/models/operations/gethrisgroups_request.rb +2 -0
  24. data/lib/kombo/models/operations/gethrislegalentities_request.rb +2 -0
  25. data/lib/kombo/models/operations/gethrislocations_request.rb +2 -0
  26. data/lib/kombo/models/operations/gethrisperformancereviewcycles_request.rb +2 -0
  27. data/lib/kombo/models/operations/gethrisperformancereviews_request.rb +6 -0
  28. data/lib/kombo/models/operations/gethrisstaffingentities_request.rb +85 -0
  29. data/lib/kombo/models/operations/gethrisstaffingentities_request.rbi +31 -0
  30. data/lib/kombo/models/operations/gethrisstaffingentities_response.rb +56 -0
  31. data/lib/kombo/models/operations/gethrisstaffingentities_response.rbi +19 -0
  32. data/lib/kombo/models/operations/gethristimeoffbalances_request.rb +4 -0
  33. data/lib/kombo/models/operations/gethristimesheets_request.rb +2 -0
  34. data/lib/kombo/models/operations.rb +4 -0
  35. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  36. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  37. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  38. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rb +6 -6
  39. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rbi +2 -2
  40. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team_role.rb +3 -0
  41. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rb +13 -3
  42. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rbi +2 -0
  43. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team_role.rb +3 -0
  44. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rb +21 -0
  45. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rbi +11 -0
  46. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rb +25 -0
  47. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rbi +11 -0
  48. data/lib/kombo/models/shared/getatsrolespositiveresponse.rb +39 -0
  49. data/lib/kombo/models/shared/getatsrolespositiveresponse.rbi +15 -0
  50. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rb +36 -0
  51. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rbi +15 -0
  52. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rb +58 -0
  53. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rbi +25 -0
  54. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rb +21 -0
  55. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rbi +11 -0
  56. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rb +25 -0
  57. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rbi +11 -0
  58. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rb +10 -2
  59. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rbi +2 -0
  60. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rb +21 -0
  61. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rbi +11 -0
  62. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rb +25 -0
  63. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rbi +11 -0
  64. data/lib/kombo/models/shared/{group.rb → gethrisemployeespositiveresponse_group.rb} +3 -3
  65. data/lib/kombo/models/shared/{group.rbi → gethrisemployeespositiveresponse_group.rbi} +2 -2
  66. data/lib/kombo/models/shared/{group_type.rb → gethrisemployeespositiveresponse_group_type.rb} +2 -2
  67. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_group_type.rbi +11 -0
  68. data/lib/kombo/models/shared/{legal_entity.rb → gethrisemployeespositiveresponse_legal_entity.rb} +1 -1
  69. data/lib/kombo/models/shared/{legal_entity.rbi → gethrisemployeespositiveresponse_legal_entity.rbi} +2 -2
  70. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_result.rb +3 -3
  71. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rb +39 -0
  72. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rbi +15 -0
  73. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rb +36 -0
  74. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rbi +15 -0
  75. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rb +36 -0
  76. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rbi +15 -0
  77. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rb +44 -0
  78. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rbi +19 -0
  79. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rb +40 -0
  80. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rbi +17 -0
  81. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rb +44 -0
  82. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rbi +19 -0
  83. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rb +110 -0
  84. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rbi +47 -0
  85. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rb +31 -0
  86. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rbi +11 -0
  87. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rb +22 -0
  88. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rbi +11 -0
  89. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rb +27 -0
  90. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rbi +11 -0
  91. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  92. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  93. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  94. data/lib/kombo/models/shared/integration_tool.rb +4 -0
  95. data/lib/kombo/models/shared/job_role.rb +44 -0
  96. data/lib/kombo/models/shared/job_role.rbi +19 -0
  97. data/lib/kombo/models/shared/komboatserror_code.rb +1 -0
  98. data/lib/kombo/models/shared/kombogeneralerror_code.rb +1 -0
  99. data/lib/kombo/models/shared/kombohriserror_code.rb +1 -0
  100. data/lib/kombo/models/shared/model_type.rb +22 -0
  101. data/lib/kombo/models/shared/{group_type.rbi → model_type.rbi} +2 -2
  102. data/lib/kombo/models/shared/name.rb +7 -0
  103. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rb +32 -0
  104. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rbi +13 -0
  105. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  106. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  107. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rb +48 -0
  108. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rbi +21 -0
  109. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rb +6 -2
  110. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rbi +2 -0
  111. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +6 -2
  112. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +2 -0
  113. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rb +32 -0
  114. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rbi +13 -0
  115. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rb +6 -2
  116. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rbi +2 -0
  117. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rb +48 -0
  118. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rbi +21 -0
  119. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rb +6 -2
  120. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rbi +2 -0
  121. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +6 -2
  122. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +2 -0
  123. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rb +32 -0
  124. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rbi +13 -0
  125. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rb +6 -2
  126. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rbi +2 -0
  127. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rb +32 -0
  128. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rbi +13 -0
  129. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rb +6 -2
  130. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rbi +2 -0
  131. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  132. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  133. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rb +36 -0
  134. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rbi +15 -0
  135. data/lib/kombo/models/shared/step_type.rb +21 -0
  136. data/lib/kombo/models/shared/step_type.rbi +11 -0
  137. data/lib/kombo/models/shared/system_role.rb +44 -0
  138. data/lib/kombo/models/shared/system_role.rbi +19 -0
  139. data/lib/kombo/models/shared.rb +33 -3
  140. data/lib/kombo/sdkconfiguration.rb +2 -2
  141. metadata +76 -8
@@ -8,7 +8,7 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class LegalEntity
11
+ class GetHrisEmployeesPositiveResponseLegalEntity
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::LegalEntity
5
+ class Kombo::Models::Shared::GetHrisEmployeesPositiveResponseLegalEntity
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::LegalEntity
10
+ class Kombo::Models::Shared::GetHrisEmployeesPositiveResponseLegalEntity
11
11
  def id(); end
12
12
  def id=(str_); end
13
13
  def remote_id(); end
@@ -24,7 +24,7 @@ module Kombo
24
24
 
25
25
  field :time_off_balances, Crystalline::Array.new(Models::Shared::TimeOffBalance), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('time_off_balances'), required: true } }
26
26
 
27
- field :groups, Crystalline::Array.new(Models::Shared::Group), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('groups'), required: true } }
27
+ field :groups, Crystalline::Array.new(Models::Shared::GetHrisEmployeesPositiveResponseGroup), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('groups'), required: true } }
28
28
  # The employee’s organization-internal employee number.
29
29
  field :employee_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('employee_number'), required: true } }
30
30
  # The employee’s first name.
@@ -73,7 +73,7 @@ module Kombo
73
73
 
74
74
  field :manager, Crystalline::Nilable.new(Models::Shared::Manager), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('manager'), required: true } }
75
75
 
76
- field :legal_entity, Crystalline::Nilable.new(Models::Shared::LegalEntity), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('legal_entity'), required: true } }
76
+ field :legal_entity, Crystalline::Nilable.new(Models::Shared::GetHrisEmployeesPositiveResponseLegalEntity), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('legal_entity'), required: true } }
77
77
 
78
78
  field :work_location, Crystalline::Nilable.new(Models::Shared::WorkLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('work_location'), required: true } }
79
79
  # The employee’s work email address. If the email address is invalid, we will set this to `null`.
@@ -113,7 +113,7 @@ module Kombo
113
113
  # The employee’s bank accounts.
114
114
  field :bank_accounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::BankAccount)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('bank_accounts') } }
115
115
 
116
- sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, employments: T::Array[Models::Shared::Employment], time_off_balances: T::Array[Models::Shared::TimeOffBalance], groups: T::Array[Models::Shared::Group], employee_number: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String), nationality: T.nilable(::String), display_full_name: T.nilable(::String), job_title: T.nilable(::String), mobile_phone_number: T.nilable(::String), ssn: T.nilable(::String), tax_id: T.nilable(::String), weekly_hours: T.nilable(::Float), avatar: T.nilable(::String), work_location_id: T.nilable(::String), legal_entity_id: T.nilable(::String), manager_id: T.nilable(::String), date_of_birth: T.nilable(::DateTime), start_date: T.nilable(::DateTime), termination_date: T.nilable(::DateTime), remote_created_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), manager: T.nilable(Models::Shared::Manager), legal_entity: T.nilable(Models::Shared::LegalEntity), work_location: T.nilable(Models::Shared::WorkLocation), work_email: T.nilable(::String), personal_email: T.nilable(::String), gender: T.nilable(Models::Shared::GetHrisEmployeesPositiveResponseGender), ethnicity: T.nilable(Models::Shared::Ethnicity), marital_status: T.nilable(Models::Shared::MaritalStatus), employment_status: T.nilable(Models::Shared::EmploymentStatus), employment_type: T.nilable(Models::Shared::GetHrisEmployeesPositiveResponseEmploymentType), home_address: T.nilable(Models::Shared::HomeAddress), bank_accounts: T.nilable(T::Array[Models::Shared::BankAccount])).void }
116
+ sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, employments: T::Array[Models::Shared::Employment], time_off_balances: T::Array[Models::Shared::TimeOffBalance], groups: T::Array[Models::Shared::GetHrisEmployeesPositiveResponseGroup], employee_number: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String), nationality: T.nilable(::String), display_full_name: T.nilable(::String), job_title: T.nilable(::String), mobile_phone_number: T.nilable(::String), ssn: T.nilable(::String), tax_id: T.nilable(::String), weekly_hours: T.nilable(::Float), avatar: T.nilable(::String), work_location_id: T.nilable(::String), legal_entity_id: T.nilable(::String), manager_id: T.nilable(::String), date_of_birth: T.nilable(::DateTime), start_date: T.nilable(::DateTime), termination_date: T.nilable(::DateTime), remote_created_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), manager: T.nilable(Models::Shared::Manager), legal_entity: T.nilable(Models::Shared::GetHrisEmployeesPositiveResponseLegalEntity), work_location: T.nilable(Models::Shared::WorkLocation), work_email: T.nilable(::String), personal_email: T.nilable(::String), gender: T.nilable(Models::Shared::GetHrisEmployeesPositiveResponseGender), ethnicity: T.nilable(Models::Shared::Ethnicity), marital_status: T.nilable(Models::Shared::MaritalStatus), employment_status: T.nilable(Models::Shared::EmploymentStatus), employment_type: T.nilable(Models::Shared::GetHrisEmployeesPositiveResponseEmploymentType), home_address: T.nilable(Models::Shared::HomeAddress), bank_accounts: T.nilable(T::Array[Models::Shared::BankAccount])).void }
117
117
  def initialize(id:, remote_id:, changed_at:, employments:, time_off_balances:, groups:, employee_number: nil, first_name: nil, last_name: nil, nationality: nil, display_full_name: nil, job_title: nil, mobile_phone_number: nil, ssn: nil, tax_id: nil, weekly_hours: nil, avatar: nil, work_location_id: nil, legal_entity_id: nil, manager_id: nil, date_of_birth: nil, start_date: nil, termination_date: nil, remote_created_at: nil, remote_deleted_at: nil, custom_fields: nil, manager: nil, legal_entity: nil, work_location: nil, work_email: nil, personal_email: nil, gender: nil, ethnicity: nil, marital_status: nil, employment_status: nil, employment_type: nil, home_address: nil, bank_accounts: nil)
118
118
  @id = id
119
119
  @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 GetHrisStaffingEntitiesPositiveResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
17
+
18
+ field :data, Models::Shared::GetHrisStaffingEntitiesPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
19
+
20
+ sig { params(status: ::String, data: Models::Shared::GetHrisStaffingEntitiesPositiveResponseData).void }
21
+ def initialize(status:, data:)
22
+ unless status == 'success'
23
+ raise ArgumentError, 'Invalid value for status'
24
+ end
25
+ @status = 'success'
26
+ @data = data
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 @status == other.status
33
+ return false unless @data == other.data
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::GetHrisStaffingEntitiesPositiveResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponse
11
+ def status(); end
12
+ def status=(str_); end
13
+ def data(); end
14
+ def data=(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 GetHrisStaffingEntitiesPositiveResponseData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :results, Crystalline::Array.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseResult), { '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::GetHrisStaffingEntitiesPositiveResponseResult], 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::GetHrisStaffingEntitiesPositiveResponseData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseData
11
+ def results(); end
12
+ def results=(str_); end
13
+ def next_(); end
14
+ def next_=(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 GetHrisStaffingEntitiesPositiveResponseEmploymentType
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The label of the employment type how it appears in the remote system.
16
+ field :remote_label, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_label'), required: true } }
17
+ # The unified type, how Kombo categorize this label.
18
+ field :unified_type, Crystalline::Nilable.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseUnifiedType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetHrisStaffingEntitiesPositiveResponseUnifiedType, false) } }
19
+
20
+ sig { params(remote_label: ::String, unified_type: T.nilable(Models::Shared::GetHrisStaffingEntitiesPositiveResponseUnifiedType)).void }
21
+ def initialize(remote_label:, unified_type: nil)
22
+ @remote_label = remote_label
23
+ @unified_type = unified_type
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @remote_label == other.remote_label
30
+ return false unless @unified_type == other.unified_type
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseEmploymentType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseEmploymentType
11
+ def remote_label(); end
12
+ def remote_label=(str_); end
13
+ def unified_type(); end
14
+ def unified_type=(str_); end
15
+ end
@@ -0,0 +1,44 @@
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 GetHrisStaffingEntitiesPositiveResponseGroup
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 name of the group.
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
+ # Type of the group.
22
+ field :type, Crystalline::Nilable.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetHrisStaffingEntitiesPositiveResponseType, false) } }
23
+
24
+ sig { params(id: ::String, remote_id: ::String, name: T.nilable(::String), type: T.nilable(Models::Shared::GetHrisStaffingEntitiesPositiveResponseType)).void }
25
+ def initialize(id:, remote_id:, name: nil, type: nil)
26
+ @id = id
27
+ @remote_id = remote_id
28
+ @name = name
29
+ @type = type
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @id == other.id
36
+ return false unless @remote_id == other.remote_id
37
+ return false unless @name == other.name
38
+ return false unless @type == other.type
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseGroup
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseGroup
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def type(); end
18
+ def type=(str_); end
19
+ end
@@ -0,0 +1,40 @@
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 GetHrisStaffingEntitiesPositiveResponseLegalEntity
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, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The legal entity’s name.
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
+
22
+ sig { params(id: ::String, remote_id: T.nilable(::String), name: T.nilable(::String)).void }
23
+ def initialize(id:, remote_id: nil, name: nil)
24
+ @id = id
25
+ @remote_id = remote_id
26
+ @name = name
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 @id == other.id
33
+ return false unless @remote_id == other.remote_id
34
+ return false unless @name == other.name
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseLegalEntity
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseLegalEntity
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ end
@@ -0,0 +1,44 @@
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 GetHrisStaffingEntitiesPositiveResponseLocation
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, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The work location’s name
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
21
+ # The work location’s type. A freeform string.
22
+ field :type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
23
+
24
+ sig { params(id: ::String, remote_id: T.nilable(::String), name: T.nilable(::String), type: T.nilable(::String)).void }
25
+ def initialize(id:, remote_id: nil, name: nil, type: nil)
26
+ @id = id
27
+ @remote_id = remote_id
28
+ @name = name
29
+ @type = type
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @id == other.id
36
+ return false unless @remote_id == other.remote_id
37
+ return false unless @name == other.name
38
+ return false unless @type == other.type
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseLocation
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseLocation
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def type(); end
18
+ def type=(str_); end
19
+ end
@@ -0,0 +1,110 @@
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 GetHrisStaffingEntitiesPositiveResponseResult
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 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.
20
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
21
+ field :changed_at, ::DateTime, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('changed_at'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
22
+ # The physical work locations associated with this staffing entity. A position or requisition can be linked to one or more offices or sites where the role is to be filled.
23
+ field :locations, Crystalline::Array.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('locations'), required: true } }
24
+ # The legal entities (companies or sub-companies) associated with this staffing entity. Indicates which employing entities within the organization the position or requisition belongs to.
25
+ field :legal_entities, Crystalline::Array.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseLegalEntity), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('legal_entities'), required: true } }
26
+ # The organizational groups (such as departments, teams, or cost centers) associated with this staffing entity.
27
+ field :groups, Crystalline::Array.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseGroup), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('groups'), required: true } }
28
+ # The name/title of the staffing entity.
29
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name'), required: true } }
30
+ # The remote model type of the record. Possible values are "JOB", "POSITION" or "REQUISITION". We recommend that users of our `create employee` endpoint ask the customer whether they want to hire into positions or requisitions.
31
+ field :model_type, Crystalline::Nilable.new(Models::Shared::ModelType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('model_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::ModelType, false) } }
32
+ # A text description of the staffing entity — typically covering responsibilities, requirements, and scope. Commonly referred to as the "job description" in HRIS systems. May contain HTML, depending on the source system.
33
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description'), required: true } }
34
+ # The status of the staffing entity.
35
+ # OPEN_LIMITED: The staffing entity is open and has a limited number of openings. Refer to the `number_of_openings` field to get the number of openings.
36
+ # OPEN_UNLIMITED: The staffing entity is open and has an unlimited number of openings. Some enterprise systems refer to this as "Evergreen".
37
+ # PENDING: The staffing entity is pending approval or is waiting to be published.
38
+ # FROZEN: The staffing entity is frozen (hiring freeze) and does not accept applications/hires.
39
+ # FILLED: The staffing entity is filled (to its maximum capacity) and not available for new hires.
40
+ # CLOSED: The staffing entity is closed and not available for new hires.
41
+ field :status, Crystalline::Nilable.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus, false) } }
42
+ # The employment types available for/used by the staffing entity. Use the `remote_label` for display in your UI as it is consistent with the language of the remote system. Use the `unified_type` for internal categorization as it is unified across all tools.
43
+ field :employment_types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::GetHrisStaffingEntitiesPositiveResponseEmploymentType)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('employment_types'), required: true } }
44
+ # The number of openings for the staffing entity. Only meaningful for staffing entities with the status "OPEN_LIMITED".
45
+ field :number_of_openings, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('number_of_openings'), required: true } }
46
+ # The Kombo ID of the staffing entity’s parent. Usually it’s the position/job that was used to create the requisition. The ID can be used to retrieve the parent staffing entity from the `get staffing entity` endpoint.
47
+ field :parent_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('parent_id'), required: true } }
48
+ # URL to the staffing entity in the HRIS system. Use this to implement backlinks into the HRIS/Enterprise System.
49
+ field :remote_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_url'), required: true } }
50
+ # The date and time the object was created in the remote system.
51
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
52
+ 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) } }
53
+ # A timestamp retrieved from the remote system, describing when the resource was last updated.
54
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
55
+ 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) } }
56
+ # 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.
57
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
58
+ 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) } }
59
+ # A key-value store of fields not covered by the schema. [Read more](/custom-fields)
60
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
61
+
62
+ sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, locations: T::Array[Models::Shared::GetHrisStaffingEntitiesPositiveResponseLocation], legal_entities: T::Array[Models::Shared::GetHrisStaffingEntitiesPositiveResponseLegalEntity], groups: T::Array[Models::Shared::GetHrisStaffingEntitiesPositiveResponseGroup], name: T.nilable(::String), model_type: T.nilable(Models::Shared::ModelType), description: T.nilable(::String), status: T.nilable(Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus), employment_types: T.nilable(T::Array[Models::Shared::GetHrisStaffingEntitiesPositiveResponseEmploymentType]), number_of_openings: T.nilable(::Float), parent_id: T.nilable(::String), remote_url: T.nilable(::String), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), remote_deleted_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Hash[Symbol, ::Object])).void }
63
+ def initialize(id:, remote_id:, changed_at:, locations:, legal_entities:, groups:, name: nil, model_type: nil, description: nil, status: nil, employment_types: nil, number_of_openings: nil, parent_id: nil, remote_url: nil, remote_created_at: nil, remote_updated_at: nil, remote_deleted_at: nil, custom_fields: nil)
64
+ @id = id
65
+ @remote_id = remote_id
66
+ @changed_at = changed_at
67
+ @locations = locations
68
+ @legal_entities = legal_entities
69
+ @groups = groups
70
+ @name = name
71
+ @model_type = model_type
72
+ @description = description
73
+ @status = status
74
+ @employment_types = employment_types
75
+ @number_of_openings = number_of_openings
76
+ @parent_id = parent_id
77
+ @remote_url = remote_url
78
+ @remote_created_at = remote_created_at
79
+ @remote_updated_at = remote_updated_at
80
+ @remote_deleted_at = remote_deleted_at
81
+ @custom_fields = custom_fields
82
+ end
83
+
84
+ sig { params(other: T.untyped).returns(T::Boolean) }
85
+ def ==(other)
86
+ return false unless other.is_a? self.class
87
+ return false unless @id == other.id
88
+ return false unless @remote_id == other.remote_id
89
+ return false unless @changed_at == other.changed_at
90
+ return false unless @locations == other.locations
91
+ return false unless @legal_entities == other.legal_entities
92
+ return false unless @groups == other.groups
93
+ return false unless @name == other.name
94
+ return false unless @model_type == other.model_type
95
+ return false unless @description == other.description
96
+ return false unless @status == other.status
97
+ return false unless @employment_types == other.employment_types
98
+ return false unless @number_of_openings == other.number_of_openings
99
+ return false unless @parent_id == other.parent_id
100
+ return false unless @remote_url == other.remote_url
101
+ return false unless @remote_created_at == other.remote_created_at
102
+ return false unless @remote_updated_at == other.remote_updated_at
103
+ return false unless @remote_deleted_at == other.remote_deleted_at
104
+ return false unless @custom_fields == other.custom_fields
105
+ true
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,47 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseResult
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseResult
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def changed_at(); end
16
+ def changed_at=(str_); end
17
+ def locations(); end
18
+ def locations=(str_); end
19
+ def legal_entities(); end
20
+ def legal_entities=(str_); end
21
+ def groups(); end
22
+ def groups=(str_); end
23
+ def name(); end
24
+ def name=(str_); end
25
+ def model_type(); end
26
+ def model_type=(str_); end
27
+ def description(); end
28
+ def description=(str_); end
29
+ def status(); end
30
+ def status=(str_); end
31
+ def employment_types(); end
32
+ def employment_types=(str_); end
33
+ def number_of_openings(); end
34
+ def number_of_openings=(str_); end
35
+ def parent_id(); end
36
+ def parent_id=(str_); end
37
+ def remote_url(); end
38
+ def remote_url=(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
43
+ def remote_deleted_at(); end
44
+ def remote_deleted_at=(str_); end
45
+ def custom_fields(); end
46
+ def custom_fields=(str_); end
47
+ end
@@ -0,0 +1,31 @@
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
+ # GetHrisStaffingEntitiesPositiveResponseStatus - The status of the staffing entity.
11
+ # OPEN_LIMITED: The staffing entity is open and has a limited number of openings. Refer to the `number_of_openings` field to get the number of openings.
12
+ # OPEN_UNLIMITED: The staffing entity is open and has an unlimited number of openings. Some enterprise systems refer to this as "Evergreen".
13
+ # PENDING: The staffing entity is pending approval or is waiting to be published.
14
+ # FROZEN: The staffing entity is frozen (hiring freeze) and does not accept applications/hires.
15
+ # FILLED: The staffing entity is filled (to its maximum capacity) and not available for new hires.
16
+ # CLOSED: The staffing entity is closed and not available for new hires.
17
+ class GetHrisStaffingEntitiesPositiveResponseStatus < T::Enum
18
+
19
+
20
+ enums do
21
+ OPEN_LIMITED = new('OPEN_LIMITED')
22
+ OPEN_UNLIMITED = new('OPEN_UNLIMITED')
23
+ PENDING = new('PENDING')
24
+ FROZEN = new('FROZEN')
25
+ FILLED = new('FILLED')
26
+ CLOSED = new('CLOSED')
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus
11
+ end
@@ -0,0 +1,22 @@
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
+ # GetHrisStaffingEntitiesPositiveResponseType - Type of the group.
11
+ class GetHrisStaffingEntitiesPositiveResponseType < T::Enum
12
+
13
+
14
+ enums do
15
+ DEPARTMENT = new('DEPARTMENT')
16
+ TEAM = new('TEAM')
17
+ COST_CENTER = new('COST_CENTER')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end