stackone_client 0.38.0 → 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 (71) 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 +6 -2
  18. data/lib/stack_one/models/shared/employee.rbi +2 -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_2.rb +28 -0
  45. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_2.rbi +11 -0
  46. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_employment_status.rb +2 -2
  47. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_2.rb +28 -0
  48. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_2.rbi +11 -0
  49. data/lib/stack_one/models/shared/hrisupdateemployeerequestdto_employment_status.rb +2 -2
  50. data/lib/stack_one/models/shared/journalline.rb +2 -2
  51. data/lib/stack_one/models/shared/journalline_account_type.rb +37 -0
  52. data/lib/stack_one/models/shared/journalline_account_type.rbi +15 -0
  53. data/lib/stack_one/models/shared/linkedaccount.rb +2 -2
  54. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rb +6 -6
  55. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rbi +2 -2
  56. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rb +6 -6
  57. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rbi +2 -2
  58. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rb +6 -6
  59. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rbi +2 -2
  60. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_content_type.rb +2 -2
  61. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_source_value.rb +1 -1
  62. data/lib/stack_one/models/shared/lmscreatecontentrequestdto_value.rb +6 -1
  63. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rb +6 -6
  64. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rbi +2 -2
  65. data/lib/stack_one/models/shared/patchaccountexternaldto.rb +2 -2
  66. data/lib/stack_one/models/shared/tag.rb +37 -0
  67. data/lib/stack_one/models/shared/tag.rbi +15 -0
  68. data/lib/stack_one/models/shared.rb +22 -1
  69. data/lib/stack_one/sdkconfiguration.rb +3 -3
  70. metadata +46 -4
  71. data/lib/stack_one/models/shared/patchaccountexternaldto_setup_information.rbi +0 -11
@@ -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 HRISBankDetailsSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::HRISBankDetailsSourceValue
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::HRISBankDetailsSourceValue
11
+ end
@@ -0,0 +1,27 @@
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
+ # HRISBankDetailsValue - The type of bank account
12
+ class HRISBankDetailsValue < T::Enum
13
+
14
+
15
+ enums do
16
+ SAVINGS = new('savings')
17
+ CHECKING = new('checking')
18
+ CURRENT = new('current')
19
+ BUSINESS = new('business')
20
+ PERSONAL = new('personal')
21
+ OTHER = new('other')
22
+ UNMAPPED_VALUE = new('unmapped_value')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::HRISBankDetailsValue
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::HRISBankDetailsValue
11
+ 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 HrisCreateEmployeeRequestDto2
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::HrisCreateEmployeeRequestDto2
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::HrisCreateEmployeeRequestDto2
11
+ end
@@ -14,11 +14,11 @@ module StackOne
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Float, Crystalline::Boolean.new, Models::Shared::HrisCreateEmployeeRequestDtoSchemas4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
17
+ field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, Crystalline::Union.new(::Integer, ::Float), Crystalline::Boolean.new, Models::Shared::HrisCreateEmployeeRequestDtoSchemas4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
18
 
19
19
  field :value, Crystalline::Nilable.new(Models::Shared::HrisCreateEmployeeRequestDtoSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::HrisCreateEmployeeRequestDtoSchemasValue, true) } }
20
20
 
21
- sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HrisCreateEmployeeRequestDtoSchemas4, T::Array[::Object])), value: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoSchemasValue)).void }
21
+ sig { params(source_value: T.nilable(T.any(::String, T.any(::Integer, ::Float), T::Boolean, Models::Shared::HrisCreateEmployeeRequestDtoSchemas4, T::Array[::Object])), value: T.nilable(Models::Shared::HrisCreateEmployeeRequestDtoSchemasValue)).void }
22
22
  def initialize(source_value: nil, value: nil)
23
23
  @source_value = source_value
24
24
  @value = value
@@ -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 HrisUpdateEmployeeRequestDto2
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class StackOne::Models::Shared::HrisUpdateEmployeeRequestDto2
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::HrisUpdateEmployeeRequestDto2
11
+ end
@@ -14,11 +14,11 @@ module StackOne
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Float, Crystalline::Boolean.new, Models::Shared::HrisUpdateEmployeeRequestDtoSchemas4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
17
+ field :source_value, Crystalline::Nilable.new(Crystalline::Union.new(::String, Crystalline::Union.new(::Integer, ::Float), Crystalline::Boolean.new, Models::Shared::HrisUpdateEmployeeRequestDtoSchemas4, Crystalline::Array.new(::Object))), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
18
 
19
19
  field :value, Crystalline::Nilable.new(Models::Shared::HrisUpdateEmployeeRequestDtoSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::HrisUpdateEmployeeRequestDtoSchemasValue, true) } }
20
20
 
21
- sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::HrisUpdateEmployeeRequestDtoSchemas4, T::Array[::Object])), value: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoSchemasValue)).void }
21
+ sig { params(source_value: T.nilable(T.any(::String, T.any(::Integer, ::Float), T::Boolean, Models::Shared::HrisUpdateEmployeeRequestDtoSchemas4, T::Array[::Object])), value: T.nilable(Models::Shared::HrisUpdateEmployeeRequestDtoSchemasValue)).void }
22
22
  def initialize(source_value: nil, value: nil)
23
23
  @source_value = source_value
24
24
  @value = value
@@ -16,7 +16,7 @@ module StackOne
16
16
  # ID of the ledger account this line references
17
17
  field :account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('account_id') } }
18
18
  # Type of the account
19
- field :account_type, Crystalline::Nilable.new(Models::Shared::AccountType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('account_type') } }
19
+ field :account_type, Crystalline::Nilable.new(Models::Shared::JournalLineAccountType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('account_type') } }
20
20
  # Amount of the journal line in minor units, e.g. 10010 for 100.10 USD. Positive for debit, negative for credit
21
21
  field :amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('amount') } }
22
22
  # Currency code for this line
@@ -32,7 +32,7 @@ module StackOne
32
32
  # Tax rate percentage
33
33
  field :tax_rate_percentage, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('tax_rate_percentage') } }
34
34
 
35
- sig { params(account_id: T.nilable(::String), account_type: T.nilable(Models::Shared::AccountType), amount: T.nilable(::Float), currency_code: T.nilable(Models::Shared::JournalLineCurrencyCode), description: T.nilable(::String), exchange_rate: T.nilable(::Float), id: T.nilable(::String), tax_amount: T.nilable(::Float), tax_rate_percentage: T.nilable(::Float)).void }
35
+ sig { params(account_id: T.nilable(::String), account_type: T.nilable(Models::Shared::JournalLineAccountType), amount: T.nilable(::Float), currency_code: T.nilable(Models::Shared::JournalLineCurrencyCode), description: T.nilable(::String), exchange_rate: T.nilable(::Float), id: T.nilable(::String), tax_amount: T.nilable(::Float), tax_rate_percentage: T.nilable(::Float)).void }
36
36
  def initialize(account_id: nil, account_type: nil, amount: nil, currency_code: nil, description: nil, exchange_rate: nil, id: nil, tax_amount: nil, tax_rate_percentage: nil)
37
37
  @account_id = account_id
38
38
  @account_type = account_type
@@ -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