stackone_client 0.23.0 → 0.25.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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/accounts.rb +1 -1
  3. data/lib/stack_one/ats.rb +276 -0
  4. data/lib/stack_one/connect_sessions.rb +1 -1
  5. data/lib/stack_one/connectors.rb +1 -1
  6. data/lib/stack_one/hris.rb +812 -265
  7. data/lib/stack_one/lms.rb +291 -1441
  8. data/lib/stack_one/models/operations/ats_list_application_changes_queryparam_filter.rb +37 -0
  9. data/lib/stack_one/models/operations/ats_list_application_changes_request.rb +61 -0
  10. data/lib/stack_one/models/operations/{lms_batch_upsert_course_response.rb → ats_list_application_changes_response.rb} +7 -7
  11. data/lib/stack_one/models/operations/change_type.rb +22 -0
  12. data/lib/stack_one/models/operations/hris_get_position_request.rb +49 -0
  13. data/lib/stack_one/models/operations/{lms_update_collection_response.rb → hris_get_position_response.rb} +7 -7
  14. data/lib/stack_one/models/operations/hris_list_positions_queryparam_filter.rb +33 -0
  15. data/lib/stack_one/models/operations/hris_list_positions_request.rb +73 -0
  16. data/lib/stack_one/models/operations/{lms_upsert_course_response.rb → hris_list_positions_response.rb} +7 -7
  17. data/lib/stack_one/models/operations/lms_list_assignments_queryparam_filter.rb +2 -2
  18. data/lib/stack_one/models/operations/lms_list_assignments_queryparam_status.rb +21 -0
  19. data/lib/stack_one/models/operations/queryparam_status.rb +5 -4
  20. data/lib/stack_one/models/operations.rb +10 -8
  21. data/lib/stack_one/models/shared/active.rb +1 -1
  22. data/lib/stack_one/models/shared/actor.rb +37 -0
  23. data/lib/stack_one/models/shared/applicationchanges.rb +57 -0
  24. data/lib/stack_one/models/shared/{customfielddefinition_schemas_4.rb → applicationchanges_4.rb} +1 -1
  25. data/lib/stack_one/models/shared/applicationchanges_source_value.rb +28 -0
  26. data/lib/stack_one/models/shared/applicationchanges_value.rb +22 -0
  27. data/lib/stack_one/models/shared/applicationchangesdatamodel.rb +41 -0
  28. data/lib/stack_one/models/shared/applicationchangesdatamodel_4.rb +28 -0
  29. data/lib/stack_one/models/shared/applicationchangesdatamodel_application_status.rb +37 -0
  30. data/lib/stack_one/models/shared/applicationchangesdatamodel_source_value.rb +28 -0
  31. data/lib/stack_one/models/shared/applicationchangesdatamodel_value.rb +38 -0
  32. data/lib/stack_one/models/shared/applicationchangespaginated.rb +41 -0
  33. data/lib/stack_one/models/shared/categories.rb +1 -0
  34. data/lib/stack_one/models/shared/category.rb +2 -2
  35. data/lib/stack_one/models/shared/category_2.rb +20 -0
  36. data/lib/stack_one/models/shared/change_type.rb +37 -0
  37. data/lib/stack_one/models/shared/connectorsmeta_category.rb +1 -0
  38. data/lib/stack_one/models/shared/connectsessioncreate_categories.rb +1 -0
  39. data/lib/stack_one/models/shared/connectsessiontokenauthlink_categories.rb +1 -0
  40. data/lib/stack_one/models/shared/course.rb +2 -2
  41. data/lib/stack_one/models/shared/course_2.rb +20 -0
  42. data/lib/stack_one/models/shared/course_active.rb +28 -0
  43. data/lib/stack_one/models/shared/customfielddefinition.rb +2 -2
  44. data/lib/stack_one/models/shared/customfielddefinition_type.rb +2 -2
  45. data/lib/stack_one/models/shared/customfieldoption.rb +37 -0
  46. data/lib/stack_one/models/shared/hriscreatetimeoffrequestdto.rb +6 -2
  47. data/lib/stack_one/models/shared/linkedaccountmeta_category.rb +1 -0
  48. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rb +2 -2
  49. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_2.rb +20 -0
  50. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_active.rb +28 -0
  51. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rb +2 -2
  52. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto_2.rb +20 -0
  53. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto_active.rb +28 -0
  54. data/lib/stack_one/models/shared/lmsuser.rb +2 -2
  55. data/lib/stack_one/models/shared/lmsuser_2.rb +20 -0
  56. data/lib/stack_one/models/shared/lmsuser_active.rb +28 -0
  57. data/lib/stack_one/models/shared/position.rb +69 -0
  58. data/lib/stack_one/models/shared/{options.rb → position_4.rb} +1 -1
  59. data/lib/stack_one/models/shared/position_source_value.rb +28 -0
  60. data/lib/stack_one/models/shared/position_status.rb +37 -0
  61. data/lib/stack_one/models/shared/position_value.rb +22 -0
  62. data/lib/stack_one/models/shared/positionresult.rb +37 -0
  63. data/lib/stack_one/models/shared/positionspaginated.rb +45 -0
  64. data/lib/stack_one/models/shared/reference_active.rb +28 -0
  65. data/lib/stack_one/models/shared/skills.rb +2 -2
  66. data/lib/stack_one/models/shared/skills_2.rb +20 -0
  67. data/lib/stack_one/models/shared/skills_active.rb +28 -0
  68. data/lib/stack_one/models/shared/timeoff.rb +6 -2
  69. data/lib/stack_one/models/shared.rb +32 -6
  70. data/lib/stack_one/proxy.rb +1 -1
  71. data/lib/stack_one/request_logs.rb +1 -1
  72. data/lib/stack_one/sdkconfiguration.rb +2 -2
  73. metadata +44 -16
  74. data/lib/stack_one/models/operations/lms_batch_upsert_course_request.rb +0 -37
  75. data/lib/stack_one/models/operations/lms_create_collection_request.rb +0 -37
  76. data/lib/stack_one/models/operations/lms_create_collection_response.rb +0 -49
  77. data/lib/stack_one/models/operations/lms_update_collection_request.rb +0 -41
  78. data/lib/stack_one/models/operations/lms_upsert_course_request.rb +0 -37
  79. data/lib/stack_one/models/shared/createcontentapimodel.rb +0 -53
  80. data/lib/stack_one/models/shared/lmsbatchupsertcourserequestdto.rb +0 -33
  81. data/lib/stack_one/models/shared/lmscreatecollectionrequestdto.rb +0 -69
  82. data/lib/stack_one/models/shared/lmsupsertcourserequestdto.rb +0 -81
@@ -14,7 +14,7 @@ module StackOne
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
  # Whether the content is active and available for users.
17
- field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
17
+ field :active, T.nilable(T.any(T::Boolean, Models::Shared::LmsUpsertContentRequestDto2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
18
18
  # The additional_data associated with this content
19
19
  field :additional_data, T.nilable(T::Array[Models::Shared::AdditionalData]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('additional_data') } }
20
20
  # The categories associated with this content
@@ -57,7 +57,7 @@ module StackOne
57
57
  field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
58
58
 
59
59
 
60
- sig { params(active: T.nilable(T::Boolean), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), categories: T.nilable(T::Array[Models::Shared::CreateCategoriesApiModel]), content_type: T.nilable(Models::Shared::LmsUpsertContentRequestDtoContentType), content_url: T.nilable(::String), cover_url: T.nilable(::String), created_at: T.nilable(::DateTime), description: T.nilable(::String), duration: T.nilable(::String), external_reference: T.nilable(::String), languages: T.nilable(T::Array[Models::Shared::LanguageEnum]), localizations: T.nilable(T::Array[Models::Shared::LocalizationModel]), mobile_launch_content_url: T.nilable(::String), order: T.nilable(::Float), short_description: T.nilable(::String), skills: T.nilable(T::Array[Models::Shared::CreateSkillsApiModel]), tags: T.nilable(T::Array[::String]), title: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
60
+ sig { params(active: T.nilable(T.any(T::Boolean, Models::Shared::LmsUpsertContentRequestDto2)), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), categories: T.nilable(T::Array[Models::Shared::CreateCategoriesApiModel]), content_type: T.nilable(Models::Shared::LmsUpsertContentRequestDtoContentType), content_url: T.nilable(::String), cover_url: T.nilable(::String), created_at: T.nilable(::DateTime), description: T.nilable(::String), duration: T.nilable(::String), external_reference: T.nilable(::String), languages: T.nilable(T::Array[Models::Shared::LanguageEnum]), localizations: T.nilable(T::Array[Models::Shared::LocalizationModel]), mobile_launch_content_url: T.nilable(::String), order: T.nilable(::Float), short_description: T.nilable(::String), skills: T.nilable(T::Array[Models::Shared::CreateSkillsApiModel]), tags: T.nilable(T::Array[::String]), title: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
61
61
  def initialize(active: nil, additional_data: nil, categories: nil, content_type: nil, content_url: nil, cover_url: nil, created_at: nil, description: nil, duration: nil, external_reference: nil, languages: nil, localizations: nil, mobile_launch_content_url: nil, order: nil, short_description: nil, skills: nil, tags: nil, title: nil, unified_custom_fields: nil, updated_at: nil)
62
62
  @active = active
63
63
  @additional_data = additional_data
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class LmsUpsertContentRequestDto2 < T::Enum
13
+ enums do
14
+ TRUE = new('true')
15
+ FALSE = new('false')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ 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
+ # Whether the content is active and available for users.
12
+ class LmsUpsertContentRequestDtoActive
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
@@ -14,7 +14,7 @@ module StackOne
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
  # The user active status
17
- field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
17
+ field :active, T.nilable(T.any(T::Boolean, Models::Shared::LmsUser2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
18
18
  # The created_at date
19
19
  field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
20
20
  # The user email
@@ -35,7 +35,7 @@ module StackOne
35
35
  field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
36
36
 
37
37
 
38
- sig { params(active: T.nilable(T::Boolean), created_at: T.nilable(::DateTime), email: T.nilable(::String), external_reference: T.nilable(::String), id: T.nilable(::String), name: T.nilable(::String), phone_number: T.nilable(::String), remote_id: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
38
+ sig { params(active: T.nilable(T.any(T::Boolean, Models::Shared::LmsUser2)), created_at: T.nilable(::DateTime), email: T.nilable(::String), external_reference: T.nilable(::String), id: T.nilable(::String), name: T.nilable(::String), phone_number: T.nilable(::String), remote_id: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
39
39
  def initialize(active: nil, created_at: nil, email: nil, external_reference: nil, id: nil, name: nil, phone_number: nil, remote_id: nil, unified_custom_fields: nil, updated_at: nil)
40
40
  @active = active
41
41
  @created_at = created_at
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class LmsUser2 < T::Enum
13
+ enums do
14
+ TRUE = new('true')
15
+ FALSE = new('false')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ 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
+ # The user active status
12
+ class LmsUserActive
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,69 @@
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 Position
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Department ID associated with the position
17
+ field :department_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('department_id') } }
18
+ # Description of the position
19
+ field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('description') } }
20
+ # Employment type for the position
21
+ field :employment_type, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employment_type') } }
22
+ # Unique identifier
23
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
24
+ # Job ID from the HRIS provider
25
+ field :job_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('job_id') } }
26
+ # Location ID associated with the position
27
+ field :location_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('location_id') } }
28
+ # Date when the position was posted
29
+ field :posted_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('posted_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
30
+ # Provider's unique identifier
31
+ field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
32
+ # Status of the position
33
+ field :status, T.nilable(Models::Shared::PositionStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } }
34
+ # Title of the position
35
+ field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
36
+
37
+
38
+ sig { params(department_id: T.nilable(::String), description: T.nilable(::String), employment_type: T.nilable(::String), id: T.nilable(::String), job_id: T.nilable(::String), location_id: T.nilable(::String), posted_date: T.nilable(::DateTime), remote_id: T.nilable(::String), status: T.nilable(Models::Shared::PositionStatus), title: T.nilable(::String)).void }
39
+ def initialize(department_id: nil, description: nil, employment_type: nil, id: nil, job_id: nil, location_id: nil, posted_date: nil, remote_id: nil, status: nil, title: nil)
40
+ @department_id = department_id
41
+ @description = description
42
+ @employment_type = employment_type
43
+ @id = id
44
+ @job_id = job_id
45
+ @location_id = location_id
46
+ @posted_date = posted_date
47
+ @remote_id = remote_id
48
+ @status = status
49
+ @title = title
50
+ end
51
+
52
+ def ==(other)
53
+ return false unless other.is_a? self.class
54
+ return false unless @department_id == other.department_id
55
+ return false unless @description == other.description
56
+ return false unless @employment_type == other.employment_type
57
+ return false unless @id == other.id
58
+ return false unless @job_id == other.job_id
59
+ return false unless @location_id == other.location_id
60
+ return false unless @posted_date == other.posted_date
61
+ return false unless @remote_id == other.remote_id
62
+ return false unless @status == other.status
63
+ return false unless @title == other.title
64
+ true
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -9,7 +9,7 @@ module StackOne
9
9
  module Shared
10
10
 
11
11
 
12
- class Options
12
+ class Position4
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -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
+ # The source value of the position status.
12
+ class PositionSourceValue
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,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
+ # Status of the position
12
+ class PositionStatus
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The source value of the position status.
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::Position4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The status of the position.
19
+ field :value, T.nilable(Models::Shared::PositionValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::PositionValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::Position4, T::Array[::Object])), value: T.nilable(Models::Shared::PositionValue)).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,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
+ # PositionValue - The status of the position.
12
+ class PositionValue < T::Enum
13
+ enums do
14
+ OPEN = new('open')
15
+ CLOSED = new('closed')
16
+ PAUSED = new('paused')
17
+ UNMAPPED_VALUE = new('unmapped_value')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ 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
+
12
+ class PositionResult
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :data, Models::Shared::Position, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('data') } }
18
+
19
+ field :raw, T.nilable(T::Array[Models::Shared::RawResponse]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw') } }
20
+
21
+
22
+ sig { params(data: Models::Shared::Position, raw: T.nilable(T::Array[Models::Shared::RawResponse])).void }
23
+ def initialize(data: nil, raw: nil)
24
+ @data = data
25
+ @raw = raw
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @data == other.data
31
+ return false unless @raw == other.raw
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,45 @@
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 PositionsPaginated
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :data, T::Array[Models::Shared::Position], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('data') } }
18
+
19
+ field :next_, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('next') } }
20
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
21
+ field :next_page, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('next_page') } }
22
+
23
+ field :raw, T.nilable(T::Array[Models::Shared::RawResponse]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw') } }
24
+
25
+
26
+ sig { params(data: T::Array[Models::Shared::Position], next_: T.nilable(::String), next_page: T.nilable(::String), raw: T.nilable(T::Array[Models::Shared::RawResponse])).void }
27
+ def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
28
+ @data = data
29
+ @next_ = next_
30
+ @next_page = next_page
31
+ @raw = raw
32
+ end
33
+
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @data == other.data
37
+ return false unless @next_ == other.next_
38
+ return false unless @next_page == other.next_page
39
+ return false unless @raw == other.raw
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ 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
+ # The reference status
12
+ class ReferenceActive
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
@@ -14,7 +14,7 @@ module StackOne
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
  # Whether the skill is active and therefore available for use
17
- field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
17
+ field :active, T.nilable(T.any(T::Boolean, Models::Shared::Skills2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
18
18
  # The hierarchal level of the skill
19
19
  field :hierarchy, T.nilable(Models::Shared::SkillsHierarchy), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('hierarchy') } }
20
20
  # The ID associated with this skill
@@ -31,7 +31,7 @@ module StackOne
31
31
  field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
32
32
 
33
33
 
34
- sig { params(active: T.nilable(T::Boolean), hierarchy: T.nilable(Models::Shared::SkillsHierarchy), id: T.nilable(::String), language: T.nilable(Models::Shared::SkillsLanguage), level: T.nilable(Models::Shared::SkillsLevel), name: T.nilable(::String), remote_id: T.nilable(::String)).void }
34
+ sig { params(active: T.nilable(T.any(T::Boolean, Models::Shared::Skills2)), hierarchy: T.nilable(Models::Shared::SkillsHierarchy), id: T.nilable(::String), language: T.nilable(Models::Shared::SkillsLanguage), level: T.nilable(Models::Shared::SkillsLevel), name: T.nilable(::String), remote_id: T.nilable(::String)).void }
35
35
  def initialize(active: nil, hierarchy: nil, id: nil, language: nil, level: nil, name: nil, remote_id: nil)
36
36
  @active = active
37
37
  @hierarchy = hierarchy
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class Skills2 < T::Enum
13
+ enums do
14
+ TRUE = new('true')
15
+ FALSE = new('false')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ 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
+ # Whether the skill is active and therefore available for use
12
+ class SkillsActive
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
@@ -15,6 +15,8 @@ module StackOne
15
15
 
16
16
  # The approver ID
17
17
  field :approver_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('approver_id') } }
18
+ # Allows users to provide additional context or notes for their time off request
19
+ field :comment, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('comment') } }
18
20
  # The created date of the time off request
19
21
  field :created_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
20
22
  # The duration of the time off request
@@ -55,9 +57,10 @@ module StackOne
55
57
  field :updated_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
56
58
 
57
59
 
58
- sig { params(approver_id: T.nilable(::String), created_date: T.nilable(::DateTime), duration: T.nilable(::String), employee_id: T.nilable(::String), end_date: T.nilable(::String), end_half_day: T.nilable(T.any(T::Boolean, Models::Shared::TimeOff2)), id: T.nilable(::String), policy: T.nilable(Models::Shared::Policy), reason: T.nilable(Models::Shared::TimeOffReason), remote_approver_id: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), remote_time_off_policy_id: T.nilable(::String), start_date: T.nilable(::String), start_half_day: T.nilable(T.any(T::Boolean, Models::Shared::TimeOffSchemas2)), status: T.nilable(Models::Shared::TimeOffStatus), time_off_policy_id: T.nilable(::String), type: T.nilable(Models::Shared::TimeOffType), updated_date: T.nilable(::DateTime)).void }
59
- def initialize(approver_id: nil, created_date: nil, duration: nil, employee_id: nil, end_date: nil, end_half_day: nil, id: nil, policy: nil, reason: nil, remote_approver_id: nil, remote_employee_id: nil, remote_id: nil, remote_time_off_policy_id: nil, start_date: nil, start_half_day: nil, status: nil, time_off_policy_id: nil, type: nil, updated_date: nil)
60
+ sig { params(approver_id: T.nilable(::String), comment: T.nilable(::String), created_date: T.nilable(::DateTime), duration: T.nilable(::String), employee_id: T.nilable(::String), end_date: T.nilable(::String), end_half_day: T.nilable(T.any(T::Boolean, Models::Shared::TimeOff2)), id: T.nilable(::String), policy: T.nilable(Models::Shared::Policy), reason: T.nilable(Models::Shared::TimeOffReason), remote_approver_id: T.nilable(::String), remote_employee_id: T.nilable(::String), remote_id: T.nilable(::String), remote_time_off_policy_id: T.nilable(::String), start_date: T.nilable(::String), start_half_day: T.nilable(T.any(T::Boolean, Models::Shared::TimeOffSchemas2)), status: T.nilable(Models::Shared::TimeOffStatus), time_off_policy_id: T.nilable(::String), type: T.nilable(Models::Shared::TimeOffType), updated_date: T.nilable(::DateTime)).void }
61
+ def initialize(approver_id: nil, comment: nil, created_date: nil, duration: nil, employee_id: nil, end_date: nil, end_half_day: nil, id: nil, policy: nil, reason: nil, remote_approver_id: nil, remote_employee_id: nil, remote_id: nil, remote_time_off_policy_id: nil, start_date: nil, start_half_day: nil, status: nil, time_off_policy_id: nil, type: nil, updated_date: nil)
60
62
  @approver_id = approver_id
63
+ @comment = comment
61
64
  @created_date = created_date
62
65
  @duration = duration
63
66
  @employee_id = employee_id
@@ -81,6 +84,7 @@ module StackOne
81
84
  def ==(other)
82
85
  return false unless other.is_a? self.class
83
86
  return false unless @approver_id == other.approver_id
87
+ return false unless @comment == other.comment
84
88
  return false unless @created_date == other.created_date
85
89
  return false unless @duration == other.duration
86
90
  return false unless @employee_id == other.employee_id