stackone_client 0.37.4 → 0.38.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe59d616d4f7cdfcf944ad1e5ca49c8f75fb9da7f4ec5fb78e3268b08f8f84a8
4
- data.tar.gz: 2a44d734b8a10cf636f2d9698f33985f1a7fd6cd3a0456ee5798df5cd589e7c7
3
+ metadata.gz: 72b16cb168c0ca51604063a21fa4cdb8ff30ef6b281467cdb7b8f4b5c5565825
4
+ data.tar.gz: 406cef96fe7020373f67e7a057a1400bd9257fc981cc11cabff8809bf110bd58
5
5
  SHA512:
6
- metadata.gz: '00867298b37a225d00922fc4095eb31c623ee82edd02e9cf06204cefaeeee89f467ce7e692231c01ccdddffbf793f438b2e6688d3665245210483190253ca8a0'
7
- data.tar.gz: 55d370b0ddef2a8db71e69a2955cbc32cadb0088c4b67f30269f4a56138fb64fc6109b8e31ab9db8dc30acefd91ea40bb5e7ed513036b32a00261aac20583d45
6
+ metadata.gz: 7c6318eac6c97eab612e4c48e083f9fcb2b55b635e22c45543f38cd4b08ac162153176b2b838346b4517ac668a7dff310c60e8da3d5ae4e8e2ffc33a8f64810d
7
+ data.tar.gz: 967ae85f51e61aa55fe5988a793a373e3daf1a0e2a6465a6c2f01f13eaaee152213d4ae524cd29960dce92e5a5d8d61e4c9129fa5637be604c8dfc2adbb10135
@@ -125,6 +125,8 @@ module StackOne
125
125
  field :tenure, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('tenure') } }
126
126
  # The employee termination date
127
127
  field :termination_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('termination_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
128
+ # The prefix of the employee's name (e.g., Mr, Ms, Dr)
129
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
128
130
  # Custom Unified Fields configured in your StackOne project
129
131
  field :unified_custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('unified_custom_fields') } }
130
132
  # The updated_at date
@@ -138,8 +140,8 @@ module StackOne
138
140
  # The employee work phone number
139
141
  field :work_phone_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_phone_number') } }
140
142
 
141
- sig { params(avatar: T.nilable(Models::Shared::Avatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::HRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company: T.nilable(Models::Shared::EmployeeCompany), company_id: T.nilable(::String), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[Models::Shared::CostCenters]), created_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment_contract_type: T.nilable(Models::Shared::EmployeeEmploymentContractType), employment_status: T.nilable(Models::Shared::EmploymentStatus), employment_type: T.nilable(Models::Shared::EmployeeEmploymentType), employments: T.nilable(T::Array[Models::Shared::Employment]), ethnicity: T.nilable(Models::Shared::Ethnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::Gender), groups: T.nilable(T::Array[Models::Shared::HRISGroup]), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HomeLocation), id: T.nilable(::String), job_description: T.nilable(Models::Shared::JobDescription), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::MaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::NationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::PreferredLanguage), remote_id: T.nilable(::String), remote_manager_id: T.nilable(::String), skills: T.nilable(T::Array[Models::Shared::EntitySkills]), start_date: T.nilable(::DateTime), tenure: T.nilable(::Float), termination_date: T.nilable(::DateTime), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), work_anniversary: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::WorkLocation), work_phone_number: T.nilable(::String)).void }
142
- def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company: nil, company_id: nil, company_name: nil, cost_centers: nil, created_at: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, first_name: nil, gender: nil, groups: nil, hire_date: nil, home_location: nil, id: nil, job_description: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, remote_id: nil, remote_manager_id: nil, skills: nil, start_date: nil, tenure: nil, termination_date: nil, unified_custom_fields: nil, updated_at: nil, work_anniversary: nil, work_email: nil, work_location: nil, work_phone_number: nil)
143
+ sig { params(avatar: T.nilable(Models::Shared::Avatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::HRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company: T.nilable(Models::Shared::EmployeeCompany), company_id: T.nilable(::String), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[Models::Shared::CostCenters]), created_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment_contract_type: T.nilable(Models::Shared::EmployeeEmploymentContractType), employment_status: T.nilable(Models::Shared::EmploymentStatus), employment_type: T.nilable(Models::Shared::EmployeeEmploymentType), employments: T.nilable(T::Array[Models::Shared::Employment]), ethnicity: T.nilable(Models::Shared::Ethnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::Gender), groups: T.nilable(T::Array[Models::Shared::HRISGroup]), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HomeLocation), id: T.nilable(::String), job_description: T.nilable(Models::Shared::JobDescription), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::MaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::NationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::PreferredLanguage), remote_id: T.nilable(::String), remote_manager_id: T.nilable(::String), skills: T.nilable(T::Array[Models::Shared::EntitySkills]), start_date: T.nilable(::DateTime), tenure: T.nilable(::Float), termination_date: T.nilable(::DateTime), title: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), work_anniversary: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::WorkLocation), work_phone_number: T.nilable(::String)).void }
144
+ def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company: nil, company_id: nil, company_name: nil, cost_centers: nil, created_at: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, first_name: nil, gender: nil, groups: nil, hire_date: nil, home_location: nil, id: nil, job_description: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, remote_id: nil, remote_manager_id: nil, skills: nil, start_date: nil, tenure: nil, termination_date: nil, title: nil, unified_custom_fields: nil, updated_at: nil, work_anniversary: nil, work_email: nil, work_location: nil, work_phone_number: nil)
143
145
  @avatar = avatar
144
146
  @avatar_url = avatar_url
145
147
  @benefits = benefits
@@ -185,6 +187,7 @@ module StackOne
185
187
  @start_date = start_date
186
188
  @tenure = tenure
187
189
  @termination_date = termination_date
190
+ @title = title
188
191
  @unified_custom_fields = unified_custom_fields
189
192
  @updated_at = updated_at
190
193
  @work_anniversary = work_anniversary
@@ -241,6 +244,7 @@ module StackOne
241
244
  return false unless @start_date == other.start_date
242
245
  return false unless @tenure == other.tenure
243
246
  return false unless @termination_date == other.termination_date
247
+ return false unless @title == other.title
244
248
  return false unless @unified_custom_fields == other.unified_custom_fields
245
249
  return false unless @updated_at == other.updated_at
246
250
  return false unless @work_anniversary == other.work_anniversary
@@ -98,6 +98,8 @@ class StackOne::Models::Shared::Employee
98
98
  def tenure=(str_); end
99
99
  def termination_date(); end
100
100
  def termination_date=(str_); end
101
+ def title(); end
102
+ def title=(str_); end
101
103
  def unified_custom_fields(); end
102
104
  def unified_custom_fields=(str_); end
103
105
  def updated_at(); end
@@ -103,6 +103,8 @@ module StackOne
103
103
  field :team_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('team_id') } }
104
104
  # The employee termination date
105
105
  field :termination_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('termination_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
106
+ # The prefix of the employee's name (e.g., Mr, Ms, Dr)
107
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
106
108
  # The employee work email
107
109
  field :work_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_email') } }
108
110
  # The employee work location
@@ -110,8 +112,8 @@ module StackOne
110
112
  # The employee work phone number
111
113
  field :work_phone_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_phone_number') } }
112
114
 
113
- sig { params(avatar: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoAvatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::CreateHRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company_id: T.nilable(::String), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[Models::Shared::CreateCostCenterApiModel]), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmployment), employment_contract_type: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentContractType), employment_status: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentStatus), employment_type: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentType), employments: T.nilable(T::Array[Models::Shared::CreateEmploymentApiModel]), ethnicity: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEthnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoGender), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoHomeLocation), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoMaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoNationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), passthrough: T.nilable(T::Hash[Symbol, ::Object]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoPreferredLanguage), start_date: T.nilable(::DateTime), team_id: T.nilable(::String), termination_date: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoWorkLocation), work_phone_number: T.nilable(::String)).void }
114
- def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company_id: nil, company_name: nil, cost_centers: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, first_name: nil, gender: nil, hire_date: nil, home_location: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, passthrough: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, start_date: nil, team_id: nil, termination_date: nil, work_email: nil, work_location: nil, work_phone_number: nil)
115
+ sig { params(avatar: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoAvatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::CreateHRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company_id: T.nilable(::String), company_name: T.nilable(::String), cost_centers: T.nilable(T::Array[Models::Shared::CreateCostCenterApiModel]), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmployment), employment_contract_type: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentContractType), employment_status: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentStatus), employment_type: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEmploymentType), employments: T.nilable(T::Array[Models::Shared::CreateEmploymentApiModel]), ethnicity: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoEthnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoGender), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoHomeLocation), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoMaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoNationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), passthrough: T.nilable(T::Hash[Symbol, ::Object]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoPreferredLanguage), start_date: T.nilable(::DateTime), team_id: T.nilable(::String), termination_date: T.nilable(::DateTime), title: T.nilable(::String), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoWorkLocation), work_phone_number: T.nilable(::String)).void }
116
+ def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company_id: nil, company_name: nil, cost_centers: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, first_name: nil, gender: nil, hire_date: nil, home_location: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, passthrough: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, start_date: nil, team_id: nil, termination_date: nil, title: nil, work_email: nil, work_location: nil, work_phone_number: nil)
115
117
  @avatar = avatar
116
118
  @avatar_url = avatar_url
117
119
  @benefits = benefits
@@ -151,6 +153,7 @@ module StackOne
151
153
  @start_date = start_date
152
154
  @team_id = team_id
153
155
  @termination_date = termination_date
156
+ @title = title
154
157
  @work_email = work_email
155
158
  @work_location = work_location
156
159
  @work_phone_number = work_phone_number
@@ -198,6 +201,7 @@ module StackOne
198
201
  return false unless @start_date == other.start_date
199
202
  return false unless @team_id == other.team_id
200
203
  return false unless @termination_date == other.termination_date
204
+ return false unless @title == other.title
201
205
  return false unless @work_email == other.work_email
202
206
  return false unless @work_location == other.work_location
203
207
  return false unless @work_phone_number == other.work_phone_number
@@ -86,6 +86,8 @@ class StackOne::Models::Shared::HrisCreateEmployeeRequestDto
86
86
  def team_id=(str_); end
87
87
  def termination_date(); end
88
88
  def termination_date=(str_); end
89
+ def title(); end
90
+ def title=(str_); end
89
91
  def work_email(); end
90
92
  def work_email=(str_); end
91
93
  def work_location(); end
@@ -97,6 +97,8 @@ module StackOne
97
97
  field :team_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('team_id') } }
98
98
  # The employee termination date
99
99
  field :termination_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('termination_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
100
+ # The prefix of the employee's name (e.g., Mr, Ms, Dr)
101
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
100
102
  # The employee work email
101
103
  field :work_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_email') } }
102
104
  # The employee work location
@@ -104,8 +106,8 @@ module StackOne
104
106
  # The employee work phone number
105
107
  field :work_phone_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_phone_number') } }
106
108
 
107
- sig { params(avatar: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoAvatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::CreateHRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company_id: T.nilable(::String), company_name: T.nilable(::String), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmployment), employment_contract_type: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentContractType), employment_status: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentStatus), employment_type: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentType), ethnicity: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEthnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoGender), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoHomeLocation), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoMaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoNationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), passthrough: T.nilable(T::Hash[Symbol, ::Object]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoPreferredLanguage), start_date: T.nilable(::DateTime), team_id: T.nilable(::String), termination_date: T.nilable(::DateTime), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoWorkLocation), work_phone_number: T.nilable(::String)).void }
108
- def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company_id: nil, company_name: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, ethnicity: nil, first_name: nil, gender: nil, hire_date: nil, home_location: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, passthrough: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, start_date: nil, team_id: nil, termination_date: nil, work_email: nil, work_location: nil, work_phone_number: nil)
109
+ sig { params(avatar: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoAvatar), avatar_url: T.nilable(::String), benefits: T.nilable(T::Array[Models::Shared::CreateHRISBenefit]), birthday: T.nilable(::DateTime), citizenships: T.nilable(T::Array[Models::Shared::CountryCodeEnum]), company_id: T.nilable(::String), company_name: T.nilable(::String), custom_fields: T.nilable(T::Array[Models::Shared::CustomFields]), date_of_birth: T.nilable(::DateTime), department: T.nilable(::String), department_id: T.nilable(::String), display_name: T.nilable(::String), employee_number: T.nilable(::String), employment: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmployment), employment_contract_type: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentContractType), employment_status: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentStatus), employment_type: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEmploymentType), ethnicity: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoEthnicity), first_name: T.nilable(::String), gender: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoGender), hire_date: T.nilable(::DateTime), home_location: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoHomeLocation), job_id: T.nilable(::String), job_title: T.nilable(::String), last_name: T.nilable(::String), manager_id: T.nilable(::String), marital_status: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoMaritalStatus), name: T.nilable(::String), national_identity_number: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoNationalIdentityNumber), national_identity_numbers: T.nilable(T::Array[Models::Shared::NationalIdentityNumberApiModel]), passthrough: T.nilable(T::Hash[Symbol, ::Object]), personal_email: T.nilable(::String), personal_phone_number: T.nilable(::String), preferred_language: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoPreferredLanguage), start_date: T.nilable(::DateTime), team_id: T.nilable(::String), termination_date: T.nilable(::DateTime), title: T.nilable(::String), work_email: T.nilable(::String), work_location: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoWorkLocation), work_phone_number: T.nilable(::String)).void }
110
+ def initialize(avatar: nil, avatar_url: nil, benefits: nil, birthday: nil, citizenships: nil, company_id: nil, company_name: nil, custom_fields: nil, date_of_birth: nil, department: nil, department_id: nil, display_name: nil, employee_number: nil, employment: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, ethnicity: nil, first_name: nil, gender: nil, hire_date: nil, home_location: nil, job_id: nil, job_title: nil, last_name: nil, manager_id: nil, marital_status: nil, name: nil, national_identity_number: nil, national_identity_numbers: nil, passthrough: nil, personal_email: nil, personal_phone_number: nil, preferred_language: nil, start_date: nil, team_id: nil, termination_date: nil, title: nil, work_email: nil, work_location: nil, work_phone_number: nil)
109
111
  @avatar = avatar
110
112
  @avatar_url = avatar_url
111
113
  @benefits = benefits
@@ -143,6 +145,7 @@ module StackOne
143
145
  @start_date = start_date
144
146
  @team_id = team_id
145
147
  @termination_date = termination_date
148
+ @title = title
146
149
  @work_email = work_email
147
150
  @work_location = work_location
148
151
  @work_phone_number = work_phone_number
@@ -188,6 +191,7 @@ module StackOne
188
191
  return false unless @start_date == other.start_date
189
192
  return false unless @team_id == other.team_id
190
193
  return false unless @termination_date == other.termination_date
194
+ return false unless @title == other.title
191
195
  return false unless @work_email == other.work_email
192
196
  return false unless @work_location == other.work_location
193
197
  return false unless @work_phone_number == other.work_phone_number
@@ -82,6 +82,8 @@ class StackOne::Models::Shared::HrisUpdateEmployeeRequestDto
82
82
  def team_id=(str_); end
83
83
  def termination_date(); end
84
84
  def termination_date=(str_); end
85
+ def title(); end
86
+ def title=(str_); end
85
87
  def work_email(); end
86
88
  def work_email=(str_); end
87
89
  def work_location(); end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # Indicates if this time off balance represents unlimited leave
12
+ class IsUnlimited
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::IsUnlimited
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::IsUnlimited
11
+ end
@@ -27,6 +27,8 @@ module StackOne
27
27
  field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
28
28
  # The initial numeric balance for the associated employee and time off policy as of the balance start date
29
29
  field :initial_balance, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('initial_balance') } }
30
+ # Indicates if this time off balance represents unlimited leave
31
+ field :is_unlimited, Crystalline::Nilable.new(Crystalline::Union.new(Crystalline::Boolean.new, Models::Shared::TimeOffBalances2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('is_unlimited') } }
30
32
  # The time off policy associated with this balance
31
33
  field :policy, Crystalline::Nilable.new(Models::Shared::TimeOffBalancesPolicy), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('policy') } }
32
34
  # The time off policy id associated with this balance
@@ -40,8 +42,8 @@ module StackOne
40
42
  # The updated_at date of this time off balance
41
43
  field :updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
42
44
 
43
- sig { params(balance_expiry_date: T.nilable(::DateTime), balance_start_date: T.nilable(::DateTime), balance_unit: T.nilable(Models::Shared::BalanceUnit), current_balance: T.nilable(::Float), employee_id: T.nilable(::String), id: T.nilable(::String), initial_balance: T.nilable(::Float), policy: T.nilable(Models::Shared::TimeOffBalancesPolicy), policy_id: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), remote_policy_id: T.nilable(::String), updated_at: T.nilable(::DateTime)).void }
44
- def initialize(balance_expiry_date: nil, balance_start_date: nil, balance_unit: nil, current_balance: nil, employee_id: nil, id: nil, initial_balance: nil, policy: nil, policy_id: nil, remote_employee_id: nil, remote_id: nil, remote_policy_id: nil, updated_at: nil)
45
+ sig { params(balance_expiry_date: T.nilable(::DateTime), balance_start_date: T.nilable(::DateTime), balance_unit: T.nilable(Models::Shared::BalanceUnit), current_balance: T.nilable(::Float), employee_id: T.nilable(::String), id: T.nilable(::String), initial_balance: T.nilable(::Float), is_unlimited: T.nilable(T.any(T::Boolean, Models::Shared::TimeOffBalances2)), policy: T.nilable(Models::Shared::TimeOffBalancesPolicy), policy_id: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), remote_policy_id: T.nilable(::String), updated_at: T.nilable(::DateTime)).void }
46
+ def initialize(balance_expiry_date: nil, balance_start_date: nil, balance_unit: nil, current_balance: nil, employee_id: nil, id: nil, initial_balance: nil, is_unlimited: nil, policy: nil, policy_id: nil, remote_employee_id: nil, remote_id: nil, remote_policy_id: nil, updated_at: nil)
45
47
  @balance_expiry_date = balance_expiry_date
46
48
  @balance_start_date = balance_start_date
47
49
  @balance_unit = balance_unit
@@ -49,6 +51,7 @@ module StackOne
49
51
  @employee_id = employee_id
50
52
  @id = id
51
53
  @initial_balance = initial_balance
54
+ @is_unlimited = is_unlimited
52
55
  @policy = policy
53
56
  @policy_id = policy_id
54
57
  @remote_employee_id = remote_employee_id
@@ -67,6 +70,7 @@ module StackOne
67
70
  return false unless @employee_id == other.employee_id
68
71
  return false unless @id == other.id
69
72
  return false unless @initial_balance == other.initial_balance
73
+ return false unless @is_unlimited == other.is_unlimited
70
74
  return false unless @policy == other.policy
71
75
  return false unless @policy_id == other.policy_id
72
76
  return false unless @remote_employee_id == other.remote_employee_id
@@ -22,6 +22,8 @@ class StackOne::Models::Shared::TimeOffBalances
22
22
  def id=(str_); end
23
23
  def initial_balance(); end
24
24
  def initial_balance=(str_); end
25
+ def is_unlimited(); end
26
+ def is_unlimited=(str_); end
25
27
  def policy(); end
26
28
  def policy=(str_); end
27
29
  def policy_id(); 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 StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class TimeOffBalances2 < T::Enum
13
+
14
+
15
+ enums do
16
+ TRUE = new('true')
17
+ FALSE = new('false')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::TimeOffBalances2
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::TimeOffBalances2
11
+ end
@@ -1474,6 +1474,7 @@ module StackOne
1474
1474
  autoload :TimeOffBalanceResult, 'stack_one/models/shared/timeoffbalanceresult.rb'
1475
1475
  autoload :TimeOffBalances, 'stack_one/models/shared/timeoffbalances.rb'
1476
1476
  autoload :TimeOffBalancesPaginated, 'stack_one/models/shared/timeoffbalancespaginated.rb'
1477
+ autoload :TimeOffBalances2, 'stack_one/models/shared/timeoffbalances_2.rb'
1477
1478
  autoload :TimeOffBalances4, 'stack_one/models/shared/timeoffbalances_4.rb'
1478
1479
  autoload :TimeOffBalancesSchemas4, 'stack_one/models/shared/timeoffbalances_schemas_4.rb'
1479
1480
  autoload :TimeOffBalancesSchemasPolicy4, 'stack_one/models/shared/timeoffbalances_schemas_policy_4.rb'
@@ -1618,6 +1619,7 @@ module StackOne
1618
1619
  autoload :IsBotUser, 'stack_one/models/shared/is_bot_user.rb'
1619
1620
  autoload :IsPaid, 'stack_one/models/shared/is_paid.rb'
1620
1621
  autoload :IsRoot, 'stack_one/models/shared/is_root.rb'
1622
+ autoload :IsUnlimited, 'stack_one/models/shared/is_unlimited.rb'
1621
1623
  autoload :IssuedBy, 'stack_one/models/shared/issued_by.rb'
1622
1624
  autoload :Job, 'stack_one/models/shared/job.rb'
1623
1625
  autoload :JobDescription, 'stack_one/models/shared/job_description.rb'
@@ -89,9 +89,9 @@ module StackOne
89
89
  end
90
90
  @language = 'ruby'
91
91
  @openapi_doc_version = '1.0.0'
92
- @sdk_version = '0.37.4'
93
- @gen_version = '2.723.11'
94
- @user_agent = 'speakeasy-sdk/ruby 0.37.4 2.723.11 1.0.0 stackone_client'
92
+ @sdk_version = '0.38.0'
93
+ @gen_version = '2.727.4'
94
+ @user_agent = 'speakeasy-sdk/ruby 0.38.0 2.727.4 1.0.0 stackone_client'
95
95
  end
96
96
 
97
97
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackone_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.4
4
+ version: 0.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - StackOne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-13 00:00:00.000000000 Z
11
+ date: 2025-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -3869,6 +3869,8 @@ files:
3869
3869
  - lib/stack_one/models/shared/is_paid.rbi
3870
3870
  - lib/stack_one/models/shared/is_root.rb
3871
3871
  - lib/stack_one/models/shared/is_root.rbi
3872
+ - lib/stack_one/models/shared/is_unlimited.rb
3873
+ - lib/stack_one/models/shared/is_unlimited.rbi
3872
3874
  - lib/stack_one/models/shared/issued_by.rb
3873
3875
  - lib/stack_one/models/shared/issued_by.rbi
3874
3876
  - lib/stack_one/models/shared/job.rb
@@ -4861,6 +4863,8 @@ files:
4861
4863
  - lib/stack_one/models/shared/timeoffbalanceresult.rbi
4862
4864
  - lib/stack_one/models/shared/timeoffbalances.rb
4863
4865
  - lib/stack_one/models/shared/timeoffbalances.rbi
4866
+ - lib/stack_one/models/shared/timeoffbalances_2.rb
4867
+ - lib/stack_one/models/shared/timeoffbalances_2.rbi
4864
4868
  - lib/stack_one/models/shared/timeoffbalances_4.rb
4865
4869
  - lib/stack_one/models/shared/timeoffbalances_4.rbi
4866
4870
  - lib/stack_one/models/shared/timeoffbalances_duration_unit.rb