stackone_client 0.8.0 → 0.10.1

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/hris.rb +12 -0
  3. data/lib/stack_one/models/operations/hris_list_employee_time_off_policies_queryparam_filter.rb +7 -3
  4. data/lib/stack_one/models/operations/hris_list_employee_time_off_policies_request.rb +1 -1
  5. data/lib/stack_one/models/operations/hris_list_time_off_policies_queryparam_filter.rb +7 -3
  6. data/lib/stack_one/models/operations/hris_list_time_off_policies_request.rb +1 -1
  7. data/lib/stack_one/models/operations/queryparam_type.rb +35 -0
  8. data/lib/stack_one/models/operations/type.rb +35 -0
  9. data/lib/stack_one/models/operations.rb +2 -0
  10. data/lib/stack_one/models/shared/answer_value.rb +1 -0
  11. data/lib/stack_one/models/shared/categories.rb +1 -0
  12. data/lib/stack_one/models/shared/connectorsmeta_category.rb +1 -0
  13. data/lib/stack_one/models/shared/connectsessioncreate_categories.rb +1 -0
  14. data/lib/stack_one/models/shared/connectsessiontokenauthlink_categories.rb +1 -0
  15. data/lib/stack_one/models/shared/createanswer_value.rb +1 -0
  16. data/lib/stack_one/models/shared/createemploymentapimodel.rb +6 -6
  17. data/lib/stack_one/models/shared/createemploymentapimodel_duration_unit.rb +37 -0
  18. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_work_time_4.rb +28 -0
  19. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_work_time_source_value.rb +28 -0
  20. data/lib/stack_one/models/shared/createemploymentapimodel_schemas_work_time_value.rb +23 -0
  21. data/lib/stack_one/models/shared/employment.rb +10 -6
  22. data/lib/stack_one/models/shared/employment_duration_unit.rb +37 -0
  23. data/lib/stack_one/models/shared/employment_schemas_work_time_4.rb +28 -0
  24. data/lib/stack_one/models/shared/employment_schemas_work_time_source_value.rb +28 -0
  25. data/lib/stack_one/models/shared/employment_schemas_work_time_value.rb +23 -0
  26. data/lib/stack_one/models/shared/employment_work_time.rb +37 -0
  27. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_duration_unit.rb +37 -0
  28. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_employment.rb +6 -6
  29. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_work_time_4.rb +28 -0
  30. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_work_time_source_value.rb +28 -0
  31. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_employment_work_time_value.rb +23 -0
  32. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_work_time.rb +37 -0
  33. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto.rb +6 -6
  34. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto_duration_unit.rb +37 -0
  35. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto_schemas_work_time_4.rb +28 -0
  36. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto_schemas_work_time_source_value.rb +28 -0
  37. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto_schemas_work_time_value.rb +23 -0
  38. data/lib/stack_one/models/shared/hriscreateemploymentrequestdto_work_time.rb +37 -0
  39. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_duration_unit.rb +37 -0
  40. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_employment.rb +6 -6
  41. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_work_time_4.rb +28 -0
  42. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_work_time_source_value.rb +28 -0
  43. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_schemas_employment_work_time_value.rb +23 -0
  44. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_work_time.rb +37 -0
  45. data/lib/stack_one/models/shared/linkedaccountmeta_category.rb +1 -0
  46. data/lib/stack_one/models/shared/question_value.rb +1 -0
  47. data/lib/stack_one/models/shared/work_time.rb +37 -0
  48. data/lib/stack_one/models/shared.rb +25 -0
  49. data/lib/stack_one/sdkconfiguration.rb +2 -2
  50. metadata +30 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a24c3c36630e3fc4726010e1d32ba74ed6fe68d38a1dc8a3023d32edcb1d7a4a
4
- data.tar.gz: e0ef51e23fa194652b5818bcc3075deb2430187516f0247f575e8bca00d1a358
3
+ metadata.gz: 915a8514b78a0362e51230780e0a06065b7b6498e747fb4601331eb5d665a737
4
+ data.tar.gz: '08451c5c4117209c10c34e3403bd41765a59afa17205e195f52a2c77df63f9f6'
5
5
  SHA512:
6
- metadata.gz: 1cf485a55f0cb1bbbd080700055a03b2a8cc3d34e84ce5062bd622a7e55343241ae3b1e2cde415224b5747aa3fd56230e5cf72df442169b15dcbb856749eb939
7
- data.tar.gz: 1e1fad3a695cda51b1d77f62673521f22349c234b79b1012c39f31667c94ea360c5efd95e06aea404a5596935b18a4190b7e18b15ad60f4e0ea26e9ecef1fe9d
6
+ metadata.gz: aec7b7244fd0fe7515c704cc25139b338316c890cccc2118643d6ea08397fec6a3e8f17790924c465db1f5c4ca79ad324849068e394d5cffb9534ee439b62ab3
7
+ data.tar.gz: 7a737ddb721446efc844d008eee10a2553a6ff2758bad6b9512c11e5aa35bb75548ed2e28ecdfa889b72293e1956ede424a0fa08d773158769c3df3d5cfb1322
@@ -427,6 +427,18 @@ module StackOne
427
427
  else
428
428
  raise ::StackOne::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
429
429
  end
430
+ elsif Utils.match_status_code(http_response.status, ['204'])
431
+ http_response = @sdk_configuration.hooks.after_success(
432
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
433
+ hook_ctx: hook_ctx
434
+ ),
435
+ response: http_response
436
+ )
437
+ return Models::Operations::HrisCancelEmployeeTimeOffRequestResponse.new(
438
+ status_code: http_response.status,
439
+ content_type: content_type,
440
+ raw_response: http_response
441
+ )
430
442
  elsif Utils.match_status_code(http_response.status, ['400'])
431
443
  if Utils.match_content_type(content_type, 'application/json')
432
444
  http_response = @sdk_configuration.hooks.after_success(
@@ -8,22 +8,26 @@ module StackOne
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # Filter parameters that allow greater customisation of the list response
11
+ # HRIS Time-Off Policies filters
12
12
  class HrisListEmployeeTimeOffPoliciesQueryParamFilter
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Filter to select time-off policies by type
17
+ field :type, T.nilable(Models::Operations::Type), { 'query_param': { 'field_name': 'type' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
21
 
20
- sig { params(updated_after: T.nilable(::String)).void }
21
- def initialize(updated_after: nil)
22
+ sig { params(type: T.nilable(Models::Operations::Type), updated_after: T.nilable(::String)).void }
23
+ def initialize(type: nil, updated_after: nil)
24
+ @type = type
22
25
  @updated_after = updated_after
23
26
  end
24
27
 
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
30
+ return false unless @type == other.type
27
31
  return false unless @updated_after == other.updated_after
28
32
  true
29
33
  end
@@ -19,7 +19,7 @@ module StackOne
19
19
  field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
20
20
  # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
21
21
  field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
22
- # Filter parameters that allow greater customisation of the list response
22
+ # HRIS Time-Off Policies filters
23
23
  field :filter, T.nilable(Models::Operations::HrisListEmployeeTimeOffPoliciesQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'deepObject', 'explode': true } }
24
24
  # The unified cursor
25
25
  field :next_, T.nilable(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
@@ -8,22 +8,26 @@ module StackOne
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # Filter parameters that allow greater customisation of the list response
11
+ # HRIS Time-Off Policies filters
12
12
  class HrisListTimeOffPoliciesQueryParamFilter
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Filter to select time-off policies by type
17
+ field :type, T.nilable(Models::Operations::QueryParamType), { 'query_param': { 'field_name': 'type' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
21
 
20
- sig { params(updated_after: T.nilable(::String)).void }
21
- def initialize(updated_after: nil)
22
+ sig { params(type: T.nilable(Models::Operations::QueryParamType), updated_after: T.nilable(::String)).void }
23
+ def initialize(type: nil, updated_after: nil)
24
+ @type = type
22
25
  @updated_after = updated_after
23
26
  end
24
27
 
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
30
+ return false unless @type == other.type
27
31
  return false unless @updated_after == other.updated_after
28
32
  true
29
33
  end
@@ -17,7 +17,7 @@ module StackOne
17
17
  field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
18
18
  # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
19
19
  field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
20
- # Filter parameters that allow greater customisation of the list response
20
+ # HRIS Time-Off Policies filters
21
21
  field :filter, T.nilable(Models::Operations::HrisListTimeOffPoliciesQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'deepObject', 'explode': true } }
22
22
  # The unified cursor
23
23
  field :next_, T.nilable(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
@@ -0,0 +1,35 @@
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 Operations
10
+
11
+ # QueryParamType - Filter to select time-off policies by type
12
+ class QueryParamType < T::Enum
13
+ enums do
14
+ SICK = new('sick')
15
+ UNMAPPED_VALUE = new('unmapped_value')
16
+ VACATION = new('vacation')
17
+ LONG_TERM_DISABILITY = new('long_term_disability')
18
+ SHORT_TERM_DISABILITY = new('short_term_disability')
19
+ ABSENT = new('absent')
20
+ COMP_TIME = new('comp_time')
21
+ TRAINING = new('training')
22
+ ANNUAL_LEAVE = new('annual_leave')
23
+ LEAVE_OF_ABSENCE = new('leave_of_absence')
24
+ BREAK = new('break')
25
+ CHILD_CARE_LEAVE = new('child_care_leave')
26
+ MATERNITY_LEAVE = new('maternity_leave')
27
+ JURY_DUTY = new('jury_duty')
28
+ BEREAVEMENT_LEAVE = new('bereavement_leave')
29
+ SABBATICAL = new('sabbatical')
30
+ ACCIDENT = new('accident')
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
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 Operations
10
+
11
+ # Type - Filter to select time-off policies by type
12
+ class Type < T::Enum
13
+ enums do
14
+ SICK = new('sick')
15
+ UNMAPPED_VALUE = new('unmapped_value')
16
+ VACATION = new('vacation')
17
+ LONG_TERM_DISABILITY = new('long_term_disability')
18
+ SHORT_TERM_DISABILITY = new('short_term_disability')
19
+ ABSENT = new('absent')
20
+ COMP_TIME = new('comp_time')
21
+ TRAINING = new('training')
22
+ ANNUAL_LEAVE = new('annual_leave')
23
+ LEAVE_OF_ABSENCE = new('leave_of_absence')
24
+ BREAK = new('break')
25
+ CHILD_CARE_LEAVE = new('child_care_leave')
26
+ MATERNITY_LEAVE = new('maternity_leave')
27
+ JURY_DUTY = new('jury_duty')
28
+ BEREAVEMENT_LEAVE = new('bereavement_leave')
29
+ SABBATICAL = new('sabbatical')
30
+ ACCIDENT = new('accident')
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -505,6 +505,7 @@ module StackOne
505
505
  autoload :QueryParamOrderBy, 'stack_one/models/operations/queryparam_order_by.rb'
506
506
  autoload :QueryParamOrderDirection, 'stack_one/models/operations/queryparam_order_direction.rb'
507
507
  autoload :QueryParamStatus, 'stack_one/models/operations/queryparam_status.rb'
508
+ autoload :QueryParamType, 'stack_one/models/operations/queryparam_type.rb'
508
509
  autoload :StackoneAuthenticateConnectSessionResponse, 'stack_one/models/operations/stackone_authenticate_connect_session_response.rb'
509
510
  autoload :StackoneCreateConnectSessionResponse, 'stack_one/models/operations/stackone_create_connect_session_response.rb'
510
511
  autoload :StackoneDeleteAccountRequest, 'stack_one/models/operations/stackone_delete_account_request.rb'
@@ -535,6 +536,7 @@ module StackOne
535
536
  autoload :StackoneUpdateAccountRequest, 'stack_one/models/operations/stackone_update_account_request.rb'
536
537
  autoload :StackoneUpdateAccountResponse, 'stack_one/models/operations/stackone_update_account_response.rb'
537
538
  autoload :Status, 'stack_one/models/operations/status.rb'
539
+ autoload :Type, 'stack_one/models/operations/type.rb'
538
540
  end
539
541
  end
540
542
  end
@@ -20,6 +20,7 @@ module StackOne
20
20
  NUMBER = new('number')
21
21
  DATE = new('date')
22
22
  VIDEO = new('video')
23
+ URL = new('url')
23
24
  end
24
25
  end
25
26
  end
@@ -22,6 +22,7 @@ module StackOne
22
22
  DOCUMENTS = new('documents')
23
23
  TICKETING = new('ticketing')
24
24
  SCREENING = new('screening')
25
+ MESSAGING = new('messaging')
25
26
  end
26
27
  end
27
28
  end
@@ -22,6 +22,7 @@ module StackOne
22
22
  DOCUMENTS = new('documents')
23
23
  TICKETING = new('ticketing')
24
24
  SCREENING = new('screening')
25
+ MESSAGING = new('messaging')
25
26
  end
26
27
  end
27
28
  end
@@ -22,6 +22,7 @@ module StackOne
22
22
  DOCUMENTS = new('documents')
23
23
  TICKETING = new('ticketing')
24
24
  SCREENING = new('screening')
25
+ MESSAGING = new('messaging')
25
26
  end
26
27
  end
27
28
  end
@@ -22,6 +22,7 @@ module StackOne
22
22
  DOCUMENTS = new('documents')
23
23
  TICKETING = new('ticketing')
24
24
  SCREENING = new('screening')
25
+ MESSAGING = new('messaging')
25
26
  end
26
27
  end
27
28
  end
@@ -20,6 +20,7 @@ module StackOne
20
20
  NUMBER = new('number')
21
21
  DATE = new('date')
22
22
  VIDEO = new('video')
23
+ URL = new('url')
23
24
  end
24
25
  end
25
26
  end
@@ -33,14 +33,14 @@ module StackOne
33
33
  field :pay_period, T.nilable(Models::Shared::PayPeriod), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_period') } }
34
34
  # The pay rate for the employee
35
35
  field :pay_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('pay_rate') } }
36
- # The time worked for the employee in ISO 8601 duration format
37
- field :time_worked, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('time_worked') } }
38
36
  # Custom Unified Fields configured in your StackOne project
39
37
  field :unified_custom_fields, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('unified_custom_fields') } }
40
38
 
39
+ field :work_time, T.nilable(Models::Shared::WorkTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_time') } }
41
40
 
42
- sig { params(effective_date: T.nilable(::DateTime), employment_contract_type: T.nilable(Models::Shared::EmploymentContractType), employment_type: T.nilable(Models::Shared::EmploymentType), id: T.nilable(::String), job_title: T.nilable(::String), pay_currency: T.nilable(::String), pay_frequency: T.nilable(Models::Shared::PayFrequency), pay_period: T.nilable(Models::Shared::PayPeriod), pay_rate: T.nilable(::String), time_worked: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object])).void }
43
- def initialize(effective_date: nil, employment_contract_type: nil, employment_type: nil, id: nil, job_title: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, time_worked: nil, unified_custom_fields: nil)
41
+
42
+ sig { params(effective_date: T.nilable(::DateTime), employment_contract_type: T.nilable(Models::Shared::EmploymentContractType), employment_type: T.nilable(Models::Shared::EmploymentType), id: T.nilable(::String), job_title: T.nilable(::String), pay_currency: T.nilable(::String), pay_frequency: T.nilable(Models::Shared::PayFrequency), pay_period: T.nilable(Models::Shared::PayPeriod), pay_rate: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), work_time: T.nilable(Models::Shared::WorkTime)).void }
43
+ def initialize(effective_date: nil, employment_contract_type: nil, employment_type: nil, id: nil, job_title: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, unified_custom_fields: nil, work_time: nil)
44
44
  @effective_date = effective_date
45
45
  @employment_contract_type = employment_contract_type
46
46
  @employment_type = employment_type
@@ -50,8 +50,8 @@ module StackOne
50
50
  @pay_frequency = pay_frequency
51
51
  @pay_period = pay_period
52
52
  @pay_rate = pay_rate
53
- @time_worked = time_worked
54
53
  @unified_custom_fields = unified_custom_fields
54
+ @work_time = work_time
55
55
  end
56
56
 
57
57
  def ==(other)
@@ -65,8 +65,8 @@ module StackOne
65
65
  return false unless @pay_frequency == other.pay_frequency
66
66
  return false unless @pay_period == other.pay_period
67
67
  return false unless @pay_rate == other.pay_rate
68
- return false unless @time_worked == other.time_worked
69
68
  return false unless @unified_custom_fields == other.unified_custom_fields
69
+ return false unless @work_time == other.work_time
70
70
  true
71
71
  end
72
72
  end
@@ -0,0 +1,37 @@
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
+ # The duration unit of the work time
12
+ class CreateEmploymentApiModelDurationUnit
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::CreateEmploymentApiModelSchemasWorkTime4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The unified value for the duration unit.
19
+ field :value, T.nilable(Models::Shared::CreateEmploymentApiModelSchemasWorkTimeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::CreateEmploymentApiModelSchemasWorkTimeValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::CreateEmploymentApiModelSchemasWorkTime4, T::Array[::Object])), value: T.nilable(Models::Shared::CreateEmploymentApiModelSchemasWorkTimeValue)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ 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
+
12
+ class CreateEmploymentApiModelSchemasWorkTime4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
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,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
+
12
+ class CreateEmploymentApiModelSchemasWorkTimeSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
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,23 @@
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
+ # CreateEmploymentApiModelSchemasWorkTimeValue - The unified value for the duration unit.
12
+ class CreateEmploymentApiModelSchemasWorkTimeValue < T::Enum
13
+ enums do
14
+ DAY = new('day')
15
+ WEEK = new('week')
16
+ MONTH = new('month')
17
+ YEAR = new('year')
18
+ UNMAPPED_VALUE = new('unmapped_value')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -43,6 +43,8 @@ module StackOne
43
43
  field :employment_type, T.nilable(Models::Shared::EmploymentEmploymentType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_type') } }
44
44
  # The end_date of employment
45
45
  field :end_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('end_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
46
+ # the employee’s working percentage relative to a full-time employee
47
+ field :fte, T.nilable(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('fte') } }
46
48
  # Unique identifier
47
49
  field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
48
50
  # The job of employee
@@ -67,8 +69,6 @@ module StackOne
67
69
  field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
68
70
  # The start_date of employment
69
71
  field :start_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
70
- # The time worked for the employee in ISO 8601 duration format
71
- field :time_worked, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('time_worked') } }
72
72
  # The type of employment
73
73
  field :type, T.nilable(Models::Shared::EmploymentSchemasType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
74
74
  # Custom Unified Fields configured in your StackOne project
@@ -76,9 +76,11 @@ module StackOne
76
76
  # The updated_at date
77
77
  field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
78
78
 
79
+ field :work_time, T.nilable(Models::Shared::EmploymentWorkTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('work_time') } }
79
80
 
80
- sig { params(active: T.nilable(T::Boolean), contract_type: T.nilable(Models::Shared::ContractType), cost_center: T.nilable(Models::Shared::CostCenter), cost_centers: T.nilable(T::Array[Models::Shared::HRISCostCenter]), created_at: T.nilable(::DateTime), department: T.nilable(Models::Shared::EmploymentDepartment), division: T.nilable(Models::Shared::Division), effective_date: T.nilable(::DateTime), employee_id: T.nilable(::String), employment_contract_type: T.nilable(Models::Shared::EmploymentEmploymentContractType), employment_type: T.nilable(Models::Shared::EmploymentEmploymentType), end_date: T.nilable(::DateTime), id: T.nilable(::String), job: T.nilable(Models::Shared::EmploymentJob), job_title: T.nilable(::String), manager: T.nilable(T::Array[Models::Shared::EmploymentManagerApiModel]), pay_currency: T.nilable(::String), pay_frequency: T.nilable(Models::Shared::EmploymentPayFrequency), pay_period: T.nilable(Models::Shared::EmploymentPayPeriod), pay_rate: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), start_date: T.nilable(::DateTime), time_worked: T.nilable(::String), type: T.nilable(Models::Shared::EmploymentSchemasType), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
81
- def initialize(active: nil, contract_type: nil, cost_center: nil, cost_centers: nil, created_at: nil, department: nil, division: nil, effective_date: nil, employee_id: nil, employment_contract_type: nil, employment_type: nil, end_date: nil, id: nil, job: nil, job_title: nil, manager: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, remote_employee_id: nil, remote_id: nil, start_date: nil, time_worked: nil, type: nil, unified_custom_fields: nil, updated_at: nil)
81
+
82
+ sig { params(active: T.nilable(T::Boolean), contract_type: T.nilable(Models::Shared::ContractType), cost_center: T.nilable(Models::Shared::CostCenter), cost_centers: T.nilable(T::Array[Models::Shared::HRISCostCenter]), created_at: T.nilable(::DateTime), department: T.nilable(Models::Shared::EmploymentDepartment), division: T.nilable(Models::Shared::Division), effective_date: T.nilable(::DateTime), employee_id: T.nilable(::String), employment_contract_type: T.nilable(Models::Shared::EmploymentEmploymentContractType), employment_type: T.nilable(Models::Shared::EmploymentEmploymentType), end_date: T.nilable(::DateTime), fte: T.nilable(::Float), id: T.nilable(::String), job: T.nilable(Models::Shared::EmploymentJob), job_title: T.nilable(::String), manager: T.nilable(T::Array[Models::Shared::EmploymentManagerApiModel]), pay_currency: T.nilable(::String), pay_frequency: T.nilable(Models::Shared::EmploymentPayFrequency), pay_period: T.nilable(Models::Shared::EmploymentPayPeriod), pay_rate: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), start_date: T.nilable(::DateTime), type: T.nilable(Models::Shared::EmploymentSchemasType), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), work_time: T.nilable(Models::Shared::EmploymentWorkTime)).void }
83
+ def initialize(active: nil, contract_type: nil, cost_center: nil, cost_centers: nil, created_at: nil, department: nil, division: nil, effective_date: nil, employee_id: nil, employment_contract_type: nil, employment_type: nil, end_date: nil, fte: nil, id: nil, job: nil, job_title: nil, manager: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, remote_employee_id: nil, remote_id: nil, start_date: nil, type: nil, unified_custom_fields: nil, updated_at: nil, work_time: nil)
82
84
  @active = active
83
85
  @contract_type = contract_type
84
86
  @cost_center = cost_center
@@ -91,6 +93,7 @@ module StackOne
91
93
  @employment_contract_type = employment_contract_type
92
94
  @employment_type = employment_type
93
95
  @end_date = end_date
96
+ @fte = fte
94
97
  @id = id
95
98
  @job = job
96
99
  @job_title = job_title
@@ -102,10 +105,10 @@ module StackOne
102
105
  @remote_employee_id = remote_employee_id
103
106
  @remote_id = remote_id
104
107
  @start_date = start_date
105
- @time_worked = time_worked
106
108
  @type = type
107
109
  @unified_custom_fields = unified_custom_fields
108
110
  @updated_at = updated_at
111
+ @work_time = work_time
109
112
  end
110
113
 
111
114
  def ==(other)
@@ -122,6 +125,7 @@ module StackOne
122
125
  return false unless @employment_contract_type == other.employment_contract_type
123
126
  return false unless @employment_type == other.employment_type
124
127
  return false unless @end_date == other.end_date
128
+ return false unless @fte == other.fte
125
129
  return false unless @id == other.id
126
130
  return false unless @job == other.job
127
131
  return false unless @job_title == other.job_title
@@ -133,10 +137,10 @@ module StackOne
133
137
  return false unless @remote_employee_id == other.remote_employee_id
134
138
  return false unless @remote_id == other.remote_id
135
139
  return false unless @start_date == other.start_date
136
- return false unless @time_worked == other.time_worked
137
140
  return false unless @type == other.type
138
141
  return false unless @unified_custom_fields == other.unified_custom_fields
139
142
  return false unless @updated_at == other.updated_at
143
+ return false unless @work_time == other.work_time
140
144
  true
141
145
  end
142
146
  end
@@ -0,0 +1,37 @@
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
+ # The duration unit of the work time
12
+ class EmploymentDurationUnit
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::EmploymentSchemasWorkTime4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The unified value for the duration unit.
19
+ field :value, T.nilable(Models::Shared::EmploymentSchemasWorkTimeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::EmploymentSchemasWorkTimeValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::EmploymentSchemasWorkTime4, T::Array[::Object])), value: T.nilable(Models::Shared::EmploymentSchemasWorkTimeValue)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ 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
+
12
+ class EmploymentSchemasWorkTime4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
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,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
+
12
+ class EmploymentSchemasWorkTimeSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
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,23 @@
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
+ # EmploymentSchemasWorkTimeValue - The unified value for the duration unit.
12
+ class EmploymentSchemasWorkTimeValue < T::Enum
13
+ enums do
14
+ DAY = new('day')
15
+ WEEK = new('week')
16
+ MONTH = new('month')
17
+ YEAR = new('year')
18
+ UNMAPPED_VALUE = new('unmapped_value')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end