stackone_client 0.37.4 → 0.38.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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/models/shared/account_type.rb +5 -5
  3. data/lib/stack_one/models/shared/candidate.rb +6 -2
  4. data/lib/stack_one/models/shared/candidate.rbi +2 -0
  5. data/lib/stack_one/models/shared/clearingcode.rb +37 -0
  6. data/lib/stack_one/models/shared/clearingcode.rbi +15 -0
  7. data/lib/stack_one/models/shared/{patchaccountexternaldto_setup_information.rb → clearingcode_4.rb} +1 -1
  8. data/lib/stack_one/models/shared/clearingcode_4.rbi +11 -0
  9. data/lib/stack_one/models/shared/clearingcode_source_value.rb +28 -0
  10. data/lib/stack_one/models/shared/clearingcode_source_value.rbi +11 -0
  11. data/lib/stack_one/models/shared/clearingcode_type.rb +37 -0
  12. data/lib/stack_one/models/shared/clearingcode_type.rbi +15 -0
  13. data/lib/stack_one/models/shared/clearingcode_value.rb +41 -0
  14. data/lib/stack_one/models/shared/clearingcode_value.rbi +11 -0
  15. data/lib/stack_one/models/shared/country_code.rb +37 -0
  16. data/lib/stack_one/models/shared/country_code.rbi +15 -0
  17. data/lib/stack_one/models/shared/employee.rb +10 -2
  18. data/lib/stack_one/models/shared/employee.rbi +4 -0
  19. data/lib/stack_one/models/shared/employee_2.rb +28 -0
  20. data/lib/stack_one/models/shared/employee_2.rbi +11 -0
  21. data/lib/stack_one/models/shared/employment_status.rb +2 -2
  22. data/lib/stack_one/models/shared/hrisbankdetails.rb +77 -0
  23. data/lib/stack_one/models/shared/hrisbankdetails.rbi +35 -0
  24. data/lib/stack_one/models/shared/hrisbankdetails_4.rb +28 -0
  25. data/lib/stack_one/models/shared/hrisbankdetails_4.rbi +11 -0
  26. data/lib/stack_one/models/shared/hrisbankdetails_currency_code.rb +37 -0
  27. data/lib/stack_one/models/shared/hrisbankdetails_currency_code.rbi +15 -0
  28. data/lib/stack_one/models/shared/hrisbankdetails_schemas_4.rb +28 -0
  29. data/lib/stack_one/models/shared/hrisbankdetails_schemas_4.rbi +11 -0
  30. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_4.rb +28 -0
  31. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_4.rbi +11 -0
  32. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_source_value.rb +28 -0
  33. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_source_value.rbi +11 -0
  34. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_value.rb +178 -0
  35. data/lib/stack_one/models/shared/hrisbankdetails_schemas_currency_code_value.rbi +11 -0
  36. data/lib/stack_one/models/shared/hrisbankdetails_schemas_source_value.rb +28 -0
  37. data/lib/stack_one/models/shared/hrisbankdetails_schemas_source_value.rbi +11 -0
  38. data/lib/stack_one/models/shared/hrisbankdetails_schemas_value.rb +269 -0
  39. data/lib/stack_one/models/shared/hrisbankdetails_schemas_value.rbi +11 -0
  40. data/lib/stack_one/models/shared/hrisbankdetails_source_value.rb +28 -0
  41. data/lib/stack_one/models/shared/hrisbankdetails_source_value.rbi +11 -0
  42. data/lib/stack_one/models/shared/hrisbankdetails_value.rb +27 -0
  43. data/lib/stack_one/models/shared/hrisbankdetails_value.rbi +11 -0
  44. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rb +6 -2
  45. data/lib/stack_one/models/shared/hriscreateemployeerequestdto.rbi +2 -0
  46. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_2.rb +28 -0
  47. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_2.rbi +11 -0
  48. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_employment_status.rb +2 -2
  49. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto.rb +6 -2
  50. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto.rbi +2 -0
  51. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_2.rb +28 -0
  52. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_2.rbi +11 -0
  53. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_employment_status.rb +2 -2
  54. data/lib/stack_one/models/shared/is_unlimited.rb +28 -0
  55. data/lib/stack_one/models/shared/is_unlimited.rbi +11 -0
  56. data/lib/stack_one/models/shared/journalline.rb +2 -2
  57. data/lib/stack_one/models/shared/journalline_account_type.rb +37 -0
  58. data/lib/stack_one/models/shared/journalline_account_type.rbi +15 -0
  59. data/lib/stack_one/models/shared/linkedaccount.rb +2 -2
  60. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rb +6 -6
  61. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rbi +2 -2
  62. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rb +6 -6
  63. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rbi +2 -2
  64. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rb +6 -6
  65. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rbi +2 -2
  66. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_content_type.rb +2 -2
  67. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_source_value.rb +1 -1
  68. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_value.rb +6 -1
  69. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rb +6 -6
  70. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rbi +2 -2
  71. data/lib/stack_one/models/shared/patchaccountexternaldto.rb +2 -2
  72. data/lib/stack_one/models/shared/tag.rb +37 -0
  73. data/lib/stack_one/models/shared/tag.rbi +15 -0
  74. data/lib/stack_one/models/shared/timeoffbalances.rb +6 -2
  75. data/lib/stack_one/models/shared/timeoffbalances.rbi +2 -0
  76. data/lib/stack_one/models/shared/timeoffbalances_2.rb +22 -0
  77. data/lib/stack_one/models/shared/timeoffbalances_2.rbi +11 -0
  78. data/lib/stack_one/models/shared.rb +24 -1
  79. data/lib/stack_one/sdkconfiguration.rb +3 -3
  80. metadata +50 -4
  81. data/lib/stack_one/models/shared/patchaccountexternaldto_setup_information.rbi +0 -11
@@ -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
+ # Type of the account
12
+ class JournalLineAccountType
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Float, Crystalline::Boolean.new, Models::Shared::JournalLine4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # Type of account
19
+ field :value, Crystalline::Nilable.new(Models::Shared::JournalLineValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::JournalLineValue, true) } }
20
+
21
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::JournalLine4, T::Array[::Object])), value: T.nilable(Models::Shared::JournalLineValue)).void }
22
+ def initialize(source_value: nil, value: nil)
23
+ @source_value = source_value
24
+ @value = value
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
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,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::JournalLineAccountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::JournalLineAccountType
11
+ def source_value(); end
12
+ def source_value=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -36,13 +36,13 @@ module StackOne
36
36
 
37
37
  field :provider_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider_name') } }
38
38
 
39
- field :setup_information, Crystalline::Nilable.new(Models::Shared::SetupInformation), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('setup_information') } }
39
+ field :setup_information, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('setup_information') } }
40
40
 
41
41
  field :status_reasons, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::StatusReason)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status_reasons') } }
42
42
  # The account type
43
43
  field :type, Crystalline::Nilable.new(Models::Shared::LinkedAccountType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::LinkedAccountType, true) } }
44
44
 
45
- sig { params(created_at: ::DateTime, id: ::String, origin_owner_id: ::String, origin_owner_name: ::String, provider: ::String, status: Models::Shared::LinkedAccountStatus, updated_at: ::DateTime, credentials: T.nilable(Models::Shared::Credentials), label: T.nilable(::String), origin_username: T.nilable(::String), provider_name: T.nilable(::String), setup_information: T.nilable(Models::Shared::SetupInformation), status_reasons: T.nilable(T::Array[Models::Shared::StatusReason]), type: T.nilable(Models::Shared::LinkedAccountType)).void }
45
+ sig { params(created_at: ::DateTime, id: ::String, origin_owner_id: ::String, origin_owner_name: ::String, provider: ::String, status: Models::Shared::LinkedAccountStatus, updated_at: ::DateTime, credentials: T.nilable(Models::Shared::Credentials), label: T.nilable(::String), origin_username: T.nilable(::String), provider_name: T.nilable(::String), setup_information: T.nilable(T::Hash[Symbol, ::Object]), status_reasons: T.nilable(T::Array[Models::Shared::StatusReason]), type: T.nilable(Models::Shared::LinkedAccountType)).void }
46
46
  def initialize(created_at:, id:, origin_owner_id:, origin_owner_name:, provider:, status:, updated_at:, credentials: nil, label: nil, origin_username: nil, provider_name: nil, setup_information: nil, status_reasons: nil, type: nil)
47
47
  @created_at = created_at
48
48
  @id = id
@@ -13,6 +13,8 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The external reference of the learning object associated with this assignment, this is the main identifier for creating assignments.
17
+ field :learning_object_external_reference, ::String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference'), required: true } }
16
18
  # The date the assignment was created
17
19
  field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
18
20
  # The date the assignment is due to be completed
@@ -21,8 +23,6 @@ module StackOne
21
23
  #
22
24
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
23
25
  field :external_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_reference') } }
24
- # The external reference of the learning object associated with this assignment, this is the main identifier for creating assignments.
25
- field :learning_object_external_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference') } }
26
26
  # The learning_object_id associated with this assignment. This is not required unless specified in an integration.
27
27
  field :learning_object_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_id') } }
28
28
  # Value to pass through to the provider
@@ -32,12 +32,12 @@ module StackOne
32
32
  # The status of the assignment
33
33
  field :status, Crystalline::Nilable.new(Models::Shared::LmsCreateAssignmentRequestDtoStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } }
34
34
 
35
- sig { params(created_at: T.nilable(::DateTime), due_date: T.nilable(::DateTime), external_reference: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), passthrough: T.nilable(T::Hash[Symbol, ::Object]), progress: T.nilable(::Float), status: T.nilable(Models::Shared::LmsCreateAssignmentRequestDtoStatus)).void }
36
- def initialize(created_at: nil, due_date: nil, external_reference: nil, learning_object_external_reference: nil, learning_object_id: nil, passthrough: nil, progress: nil, status: nil)
35
+ sig { params(learning_object_external_reference: ::String, created_at: T.nilable(::DateTime), due_date: T.nilable(::DateTime), external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), passthrough: T.nilable(T::Hash[Symbol, ::Object]), progress: T.nilable(::Float), status: T.nilable(Models::Shared::LmsCreateAssignmentRequestDtoStatus)).void }
36
+ def initialize(learning_object_external_reference:, created_at: nil, due_date: nil, external_reference: nil, learning_object_id: nil, passthrough: nil, progress: nil, status: nil)
37
+ @learning_object_external_reference = learning_object_external_reference
37
38
  @created_at = created_at
38
39
  @due_date = due_date
39
40
  @external_reference = external_reference
40
- @learning_object_external_reference = learning_object_external_reference
41
41
  @learning_object_id = learning_object_id
42
42
  @passthrough = passthrough
43
43
  @progress = progress
@@ -47,10 +47,10 @@ module StackOne
47
47
  sig { params(other: T.untyped).returns(T::Boolean) }
48
48
  def ==(other)
49
49
  return false unless other.is_a? self.class
50
+ return false unless @learning_object_external_reference == other.learning_object_external_reference
50
51
  return false unless @created_at == other.created_at
51
52
  return false unless @due_date == other.due_date
52
53
  return false unless @external_reference == other.external_reference
53
- return false unless @learning_object_external_reference == other.learning_object_external_reference
54
54
  return false unless @learning_object_id == other.learning_object_id
55
55
  return false unless @passthrough == other.passthrough
56
56
  return false unless @progress == other.progress
@@ -8,14 +8,14 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Shared::LmsCreateAssignmentRequestDto
11
+ def learning_object_external_reference(); end
12
+ def learning_object_external_reference=(str_); end
11
13
  def created_at(); end
12
14
  def created_at=(str_); end
13
15
  def due_date(); end
14
16
  def due_date=(str_); end
15
17
  def external_reference(); end
16
18
  def external_reference=(str_); end
17
- def learning_object_external_reference(); end
18
- def learning_object_external_reference=(str_); end
19
19
  def learning_object_id(); end
20
20
  def learning_object_id=(str_); end
21
21
  def passthrough(); end
@@ -13,6 +13,8 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The external reference of the learning object associated with this completion, this is the main identifier for creating completions.
17
+ field :learning_object_external_reference, ::String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference'), required: true } }
16
18
  # The date the content was completed
17
19
  field :completed_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('completed_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
18
20
  # The external reference associated with this content
@@ -23,8 +25,6 @@ module StackOne
23
25
  #
24
26
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
25
27
  field :content_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('content_id') } }
26
- # The external reference of the learning object associated with this completion, this is the main identifier for creating completions.
27
- field :learning_object_external_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference') } }
28
28
  # The id of the learning object associated with this completion. This is not required unless specified in an integration.
29
29
  field :learning_object_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_id') } }
30
30
  # Value to pass through to the provider
@@ -34,12 +34,12 @@ module StackOne
34
34
  # ISO 8601 duration format representing the time spent on completing the learning object
35
35
  field :time_spent, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('time_spent') } }
36
36
 
37
- sig { params(completed_at: T.nilable(::DateTime), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), passthrough: T.nilable(T::Hash[Symbol, ::Object]), result: T.nilable(Models::Shared::LmsCreateCompletionRequestDtoResult), time_spent: T.nilable(::String)).void }
38
- def initialize(completed_at: nil, content_external_reference: nil, content_id: nil, learning_object_external_reference: nil, learning_object_id: nil, passthrough: nil, result: nil, time_spent: nil)
37
+ sig { params(learning_object_external_reference: ::String, completed_at: T.nilable(::DateTime), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), learning_object_id: T.nilable(::String), passthrough: T.nilable(T::Hash[Symbol, ::Object]), result: T.nilable(Models::Shared::LmsCreateCompletionRequestDtoResult), time_spent: T.nilable(::String)).void }
38
+ def initialize(learning_object_external_reference:, completed_at: nil, content_external_reference: nil, content_id: nil, learning_object_id: nil, passthrough: nil, result: nil, time_spent: nil)
39
+ @learning_object_external_reference = learning_object_external_reference
39
40
  @completed_at = completed_at
40
41
  @content_external_reference = content_external_reference
41
42
  @content_id = content_id
42
- @learning_object_external_reference = learning_object_external_reference
43
43
  @learning_object_id = learning_object_id
44
44
  @passthrough = passthrough
45
45
  @result = result
@@ -49,10 +49,10 @@ module StackOne
49
49
  sig { params(other: T.untyped).returns(T::Boolean) }
50
50
  def ==(other)
51
51
  return false unless other.is_a? self.class
52
+ return false unless @learning_object_external_reference == other.learning_object_external_reference
52
53
  return false unless @completed_at == other.completed_at
53
54
  return false unless @content_external_reference == other.content_external_reference
54
55
  return false unless @content_id == other.content_id
55
- return false unless @learning_object_external_reference == other.learning_object_external_reference
56
56
  return false unless @learning_object_id == other.learning_object_id
57
57
  return false unless @passthrough == other.passthrough
58
58
  return false unless @result == other.result
@@ -8,14 +8,14 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Shared::LmsCreateCompletionRequestDto
11
+ def learning_object_external_reference(); end
12
+ def learning_object_external_reference=(str_); end
11
13
  def completed_at(); end
12
14
  def completed_at=(str_); end
13
15
  def content_external_reference(); end
14
16
  def content_external_reference=(str_); end
15
17
  def content_id(); end
16
18
  def content_id=(str_); end
17
- def learning_object_external_reference(); end
18
- def learning_object_external_reference=(str_); end
19
19
  def learning_object_id(); end
20
20
  def learning_object_id=(str_); end
21
21
  def passthrough(); end
@@ -13,6 +13,8 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The external ID associated with this content
17
+ field :external_reference, ::String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_reference'), required: true } }
16
18
  # Whether the content is active and available for users.
17
19
  field :active, Crystalline::Nilable.new(Crystalline::Union.new(Crystalline::Boolean.new, Models::Shared::LmsCreateContentRequestDto2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
18
20
  # The additional_data associated with this content
@@ -33,8 +35,6 @@ module StackOne
33
35
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('description') } }
34
36
  # The duration of the content following the ISO8601 standard. If duration_unit is applicable we will derive this from the smallest unit given in the duration string or the minimum unit accepted by the provider.
35
37
  field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('duration') } }
36
- # The external ID associated with this content
37
- field :external_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_reference') } }
38
38
  # The languages associated with this content
39
39
  field :languages, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LanguageEnum)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('languages') } }
40
40
  # The localization data for this content
@@ -58,8 +58,9 @@ module StackOne
58
58
  # The date on which the content was last updated.
59
59
  field :updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
60
60
 
61
- sig { params(active: T.nilable(T.any(T::Boolean, Models::Shared::LmsCreateContentRequestDto2)), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), authors: T.nilable(T::Array[Models::Shared::AuthorModel]), categories: T.nilable(T::Array[Models::Shared::CreateCategoriesApiModel]), content_type: T.nilable(Models::Shared::LmsCreateContentRequestDtoContentType), 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 }
62
- def initialize(active: nil, additional_data: nil, authors: 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)
61
+ sig { params(external_reference: ::String, active: T.nilable(T.any(T::Boolean, Models::Shared::LmsCreateContentRequestDto2)), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), authors: T.nilable(T::Array[Models::Shared::AuthorModel]), categories: T.nilable(T::Array[Models::Shared::CreateCategoriesApiModel]), content_type: T.nilable(Models::Shared::LmsCreateContentRequestDtoContentType), content_url: T.nilable(::String), cover_url: T.nilable(::String), created_at: T.nilable(::DateTime), description: T.nilable(::String), duration: 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 }
62
+ def initialize(external_reference:, active: nil, additional_data: nil, authors: nil, categories: nil, content_type: nil, content_url: nil, cover_url: nil, created_at: nil, description: nil, duration: 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)
63
+ @external_reference = external_reference
63
64
  @active = active
64
65
  @additional_data = additional_data
65
66
  @authors = authors
@@ -70,7 +71,6 @@ module StackOne
70
71
  @created_at = created_at
71
72
  @description = description
72
73
  @duration = duration
73
- @external_reference = external_reference
74
74
  @languages = languages
75
75
  @localizations = localizations
76
76
  @mobile_launch_content_url = mobile_launch_content_url
@@ -86,6 +86,7 @@ module StackOne
86
86
  sig { params(other: T.untyped).returns(T::Boolean) }
87
87
  def ==(other)
88
88
  return false unless other.is_a? self.class
89
+ return false unless @external_reference == other.external_reference
89
90
  return false unless @active == other.active
90
91
  return false unless @additional_data == other.additional_data
91
92
  return false unless @authors == other.authors
@@ -96,7 +97,6 @@ module StackOne
96
97
  return false unless @created_at == other.created_at
97
98
  return false unless @description == other.description
98
99
  return false unless @duration == other.duration
99
- return false unless @external_reference == other.external_reference
100
100
  return false unless @languages == other.languages
101
101
  return false unless @localizations == other.localizations
102
102
  return false unless @mobile_launch_content_url == other.mobile_launch_content_url
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Shared::LmsCreateContentRequestDto
11
+ def external_reference(); end
12
+ def external_reference=(str_); end
11
13
  def active(); end
12
14
  def active=(str_); end
13
15
  def additional_data(); end
@@ -28,8 +30,6 @@ class StackOne::Models::Shared::LmsCreateContentRequestDto
28
30
  def description=(str_); end
29
31
  def duration(); end
30
32
  def duration=(str_); end
31
- def external_reference(); end
32
- def external_reference=(str_); end
33
33
  def languages(); end
34
34
  def languages=(str_); end
35
35
  def localizations(); end
@@ -13,9 +13,9 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The original value from the provider before normalization.
16
+ # The provider-specific value to use when value is omitted or set to "unmapped_value". You are responsible for ensuring this matches the provider's expected format.
17
17
  field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Float, Crystalline::Boolean.new, Models::Shared::LmsCreateContentRequestDto4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
- # The StackOne unified content type.
18
+ # The content type for write operations. Provide one of the listed enum values. If omitted or set to "unmapped_value", the source_value will be sent to the provider instead.
19
19
  field :value, Crystalline::Nilable.new(Models::Shared::LmsCreateContentRequestDtoValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::LmsCreateContentRequestDtoValue, true) } }
20
20
 
21
21
  sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::LmsCreateContentRequestDto4, T::Array[::Object])), value: T.nilable(Models::Shared::LmsCreateContentRequestDtoValue)).void }
@@ -8,7 +8,7 @@ module StackOne
8
8
  module Models
9
9
  module Shared
10
10
 
11
- # The original value from the provider before normalization.
11
+ # The provider-specific value to use when value is omitted or set to "unmapped_value". You are responsible for ensuring this matches the provider's expected format.
12
12
  class LmsCreateContentRequestDtoSourceValue
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
@@ -8,7 +8,7 @@ module StackOne
8
8
  module Models
9
9
  module Shared
10
10
 
11
- # LmsCreateContentRequestDtoValue - The StackOne unified content type.
11
+ # LmsCreateContentRequestDtoValue - The content type for write operations. Provide one of the listed enum values. If omitted or set to "unmapped_value", the source_value will be sent to the provider instead.
12
12
  class LmsCreateContentRequestDtoValue < T::Enum
13
13
 
14
14
 
@@ -18,6 +18,11 @@ module StackOne
18
18
  DOCUMENT = new('document')
19
19
  AUDIO = new('audio')
20
20
  ARTICLE = new('article')
21
+ BOOK = new('book')
22
+ EVENT = new('event')
23
+ COURSE = new('course')
24
+ COLLECTION = new('collection')
25
+ INTERACTIVE = new('interactive')
21
26
  UNMAPPED_VALUE = new('unmapped_value')
22
27
  end
23
28
  end
@@ -13,6 +13,8 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The external ID associated with this content
17
+ field :external_reference, ::String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_reference'), required: true } }
16
18
  # Whether the content is active and available for users.
17
19
  field :active, Crystalline::Nilable.new(Crystalline::Union.new(Crystalline::Boolean.new, Models::Shared::LmsUpsertContentRequestDto2)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('active') } }
18
20
  # The additional_data associated with this content
@@ -33,8 +35,6 @@ module StackOne
33
35
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('description') } }
34
36
  # The duration of the content following the ISO8601 standard. If duration_unit is applicable we will derive this from the smallest unit given in the duration string or the minimum unit accepted by the provider.
35
37
  field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('duration') } }
36
- # The external ID associated with this content
37
- field :external_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_reference') } }
38
38
  # The languages associated with this content
39
39
  field :languages, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LanguageEnum)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('languages') } }
40
40
  # The localization data for this course
@@ -58,8 +58,9 @@ module StackOne
58
58
  # The date on which the content was last updated.
59
59
  field :updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
60
60
 
61
- sig { params(active: T.nilable(T.any(T::Boolean, Models::Shared::LmsUpsertContentRequestDto2)), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), authors: T.nilable(T::Array[Models::Shared::AuthorModel]), 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 }
62
- def initialize(active: nil, additional_data: nil, authors: 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)
61
+ sig { params(external_reference: ::String, active: T.nilable(T.any(T::Boolean, Models::Shared::LmsUpsertContentRequestDto2)), additional_data: T.nilable(T::Array[Models::Shared::AdditionalData]), authors: T.nilable(T::Array[Models::Shared::AuthorModel]), 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), 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 }
62
+ def initialize(external_reference:, active: nil, additional_data: nil, authors: nil, categories: nil, content_type: nil, content_url: nil, cover_url: nil, created_at: nil, description: nil, duration: 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)
63
+ @external_reference = external_reference
63
64
  @active = active
64
65
  @additional_data = additional_data
65
66
  @authors = authors
@@ -70,7 +71,6 @@ module StackOne
70
71
  @created_at = created_at
71
72
  @description = description
72
73
  @duration = duration
73
- @external_reference = external_reference
74
74
  @languages = languages
75
75
  @localizations = localizations
76
76
  @mobile_launch_content_url = mobile_launch_content_url
@@ -86,6 +86,7 @@ module StackOne
86
86
  sig { params(other: T.untyped).returns(T::Boolean) }
87
87
  def ==(other)
88
88
  return false unless other.is_a? self.class
89
+ return false unless @external_reference == other.external_reference
89
90
  return false unless @active == other.active
90
91
  return false unless @additional_data == other.additional_data
91
92
  return false unless @authors == other.authors
@@ -96,7 +97,6 @@ module StackOne
96
97
  return false unless @created_at == other.created_at
97
98
  return false unless @description == other.description
98
99
  return false unless @duration == other.duration
99
- return false unless @external_reference == other.external_reference
100
100
  return false unless @languages == other.languages
101
101
  return false unless @localizations == other.localizations
102
102
  return false unless @mobile_launch_content_url == other.mobile_launch_content_url
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Shared::LmsUpsertContentRequestDto
11
+ def external_reference(); end
12
+ def external_reference=(str_); end
11
13
  def active(); end
12
14
  def active=(str_); end
13
15
  def additional_data(); end
@@ -28,8 +30,6 @@ class StackOne::Models::Shared::LmsUpsertContentRequestDto
28
30
  def description=(str_); end
29
31
  def duration(); end
30
32
  def duration=(str_); end
31
- def external_reference(); end
32
- def external_reference=(str_); end
33
33
  def languages(); end
34
34
  def languages=(str_); end
35
35
  def localizations(); end
@@ -34,11 +34,11 @@ module StackOne
34
34
 
35
35
  field :secrets, Crystalline::Nilable.new(Models::Shared::Secrets), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('secrets') } }
36
36
 
37
- field :setup_information, Crystalline::Nilable.new(Models::Shared::PatchAccountExternalDtoSetupInformation), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('setup_information') } }
37
+ field :setup_information, Crystalline::Nilable.new(Models::Shared::SetupInformation), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('setup_information') } }
38
38
  # The account type
39
39
  field :type, Crystalline::Nilable.new(Models::Shared::PatchAccountExternalDtoType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Shared::PatchAccountExternalDtoType, true) } }
40
40
 
41
- sig { params(authentication_config_key: T.nilable(::String), credentials: T.nilable(Models::Shared::PatchAccountExternalDtoCredentials), environment: T.nilable(::String), label: T.nilable(Models::Shared::Label), metadata: T.nilable(Models::Shared::PatchAccountExternalDtoMetadata), origin_owner_id: T.nilable(::String), origin_owner_name: T.nilable(::String), origin_username: T.nilable(::String), provider: T.nilable(::String), secrets: T.nilable(Models::Shared::Secrets), setup_information: T.nilable(Models::Shared::PatchAccountExternalDtoSetupInformation), type: T.nilable(Models::Shared::PatchAccountExternalDtoType)).void }
41
+ sig { params(authentication_config_key: T.nilable(::String), credentials: T.nilable(Models::Shared::PatchAccountExternalDtoCredentials), environment: T.nilable(::String), label: T.nilable(Models::Shared::Label), metadata: T.nilable(Models::Shared::PatchAccountExternalDtoMetadata), origin_owner_id: T.nilable(::String), origin_owner_name: T.nilable(::String), origin_username: T.nilable(::String), provider: T.nilable(::String), secrets: T.nilable(Models::Shared::Secrets), setup_information: T.nilable(Models::Shared::SetupInformation), type: T.nilable(Models::Shared::PatchAccountExternalDtoType)).void }
42
42
  def initialize(authentication_config_key: nil, credentials: nil, environment: nil, label: nil, metadata: nil, origin_owner_id: nil, origin_owner_name: nil, origin_username: nil, provider: nil, secrets: nil, setup_information: nil, type: nil)
43
43
  @authentication_config_key = authentication_config_key
44
44
  @credentials = credentials
@@ -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 Tag
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Name of the tag
17
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
18
+ # Remote ID of the tag
19
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
20
+
21
+ sig { params(name: T.nilable(::String), remote_id: T.nilable(::String)).void }
22
+ def initialize(name: nil, remote_id: nil)
23
+ @name = name
24
+ @remote_id = remote_id
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @name == other.name
31
+ return false unless @remote_id == other.remote_id
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::Tag
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::Tag
11
+ def name(); end
12
+ def name=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ 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