stackone_client 0.39.3 → 0.39.4

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/actions.rb +0 -1
  3. data/lib/stack_one/models/operations/hris_list_employee_tasks_queryparam_filter.rb +6 -2
  4. data/lib/stack_one/models/operations/hris_list_employee_tasks_queryparam_filter.rbi +2 -0
  5. data/lib/stack_one/models/operations/hris_list_positions_queryparam_status.rb +1 -0
  6. data/lib/stack_one/models/operations/hris_list_tasks_queryparam_filter.rb +6 -2
  7. data/lib/stack_one/models/operations/hris_list_tasks_queryparam_filter.rbi +2 -0
  8. data/lib/stack_one/models/operations/stackone_list_actions_meta_request.rb +2 -8
  9. data/lib/stack_one/models/operations/stackone_list_actions_meta_request.rbi +0 -2
  10. data/lib/stack_one/models/shared/assignment.rb +6 -2
  11. data/lib/stack_one/models/shared/assignment.rbi +2 -0
  12. data/lib/stack_one/models/shared/completion.rb +6 -2
  13. data/lib/stack_one/models/shared/completion.rbi +2 -0
  14. data/lib/stack_one/models/shared/completion_score.rb +37 -0
  15. data/lib/stack_one/models/shared/completion_score.rbi +15 -0
  16. data/lib/stack_one/models/shared/jobposting.rb +6 -6
  17. data/lib/stack_one/models/shared/jobposting.rbi +2 -2
  18. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rb +6 -6
  19. data/lib/stack_one/models/shared/lmscreateassignmentrequestdto.rbi +2 -2
  20. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rb +6 -2
  21. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto.rbi +2 -0
  22. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto_score.rb +37 -0
  23. data/lib/stack_one/models/shared/lmscreatecompletionrequestdto_score.rbi +15 -0
  24. data/lib/stack_one/models/shared/position_value.rb +1 -0
  25. data/lib/stack_one/models/shared.rb +2 -0
  26. data/lib/stack_one/sdk_hooks/hooks.rb +4 -0
  27. data/lib/stack_one/sdk_hooks/registration.rb +34 -0
  28. data/lib/stack_one/sdkconfiguration.rb +3 -3
  29. data/lib/stack_one/stackone.rb +10 -9
  30. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9f1427ab570081dad1f69094a9553439df13b90888d6a34c3b0bef6498425ed
4
- data.tar.gz: 83318b2a9a156f367e7673ca3967a024d265a0346e5cc810570356e50b7da7ea
3
+ metadata.gz: ea38f3e0ae9258c3375a2f74eddf3b05e811f06727a1697589516e925f8551a9
4
+ data.tar.gz: ca3e22b723cb91682cde708f83e1b3e16dbbfe24729e343fd8a082ccef2a14b2
5
5
  SHA512:
6
- metadata.gz: 6751c227d1f97f222612834c9096f104f3b33df0556cf53ce0191608f496618ed8ecb4cd474353b77fd8deb068938ab7d49d149a58901a8c748805701ab27e03
7
- data.tar.gz: '024439ab4370c3e0e7722c8a4130ae1d6dd3b24ef20e34038d5465fa50c844d2f9396466b9d7f789df6183cdfd42e0c1b3200258b18e010896773c08ed9a80e8'
6
+ metadata.gz: 40b5b4bdd4c880f185171f947386a71680f7778846626ff9f3ff1b04a85059825a4f84aee6a7200dd722bd0e9fd3ca6eb59c56670c3a7e0d57810f9bb08ec3d7
7
+ data.tar.gz: bed4176a34cbce09109f088be424b7828f9c3d6bee7fe6a8c37576fd5c0043c65650da9712b95caa0aa2034ee2f5042b1e2eee96e0c673af770f9c703fdfd3ce
@@ -164,7 +164,6 @@ module StackOne
164
164
  group_by: request.group_by,
165
165
  include: request.include,
166
166
  next_: next_cursor,
167
- page: request.page,
168
167
  page_size: request.page_size
169
168
  )
170
169
  )
@@ -13,17 +13,21 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Use a string with a date to only select results created after that given date
17
+ field :created_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'created_after' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
- sig { params(updated_after: T.nilable(::DateTime)).void }
20
- def initialize(updated_after: nil)
21
+ sig { params(created_after: T.nilable(::DateTime), updated_after: T.nilable(::DateTime)).void }
22
+ def initialize(created_after: nil, updated_after: nil)
23
+ @created_after = created_after
21
24
  @updated_after = updated_after
22
25
  end
23
26
 
24
27
  sig { params(other: T.untyped).returns(T::Boolean) }
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
30
+ return false unless @created_after == other.created_after
27
31
  return false unless @updated_after == other.updated_after
28
32
  true
29
33
  end
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Operations::HrisListEmployeeTasksQueryParamFilter
11
+ def created_after(); end
12
+ def created_after=(str_); end
11
13
  def updated_after(); end
12
14
  def updated_after=(str_); end
13
15
  end
@@ -14,6 +14,7 @@ module StackOne
14
14
 
15
15
  enums do
16
16
  OPEN = new('open')
17
+ DRAFT = new('draft')
17
18
  CLOSED = new('closed')
18
19
  PAUSED = new('paused')
19
20
  UNMAPPED_VALUE = new('unmapped_value')
@@ -13,17 +13,21 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Use a string with a date to only select results created after that given date
17
+ field :created_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'created_after' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
- sig { params(updated_after: T.nilable(::DateTime)).void }
20
- def initialize(updated_after: nil)
21
+ sig { params(created_after: T.nilable(::DateTime), updated_after: T.nilable(::DateTime)).void }
22
+ def initialize(created_after: nil, updated_after: nil)
23
+ @created_after = created_after
21
24
  @updated_after = updated_after
22
25
  end
23
26
 
24
27
  sig { params(other: T.untyped).returns(T::Boolean) }
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
30
+ return false unless @created_after == other.created_after
27
31
  return false unless @updated_after == other.updated_after
28
32
  true
29
33
  end
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Operations::HrisListTasksQueryParamFilter
11
+ def created_after(); end
12
+ def created_after=(str_); end
11
13
  def updated_after(); end
12
14
  def updated_after=(str_); end
13
15
  end
@@ -19,21 +19,16 @@ module StackOne
19
19
  field :include, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::Include)), { 'query_param': { 'field_name': 'include', 'style': 'form', 'explode': true } }
20
20
  # The unified cursor
21
21
  field :next_, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
22
- # The page number of the results to fetch
23
- #
24
- # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
25
- field :page, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
26
22
  # The number of results per page (default value is 25)
27
23
  field :page_size, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'page_size', 'style': 'form', 'explode': true } }
28
24
  # The relation to group the results by
29
25
  field :group_by, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'group_by', 'style': 'form', 'explode': true } }
30
26
 
31
- sig { params(filter: T.nilable(Models::Operations::Filter), include: T.nilable(T::Array[Models::Operations::Include]), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), group_by: T.nilable(::String)).void }
32
- def initialize(filter: nil, include: nil, next_: nil, page: nil, page_size: nil, group_by: 'connector')
27
+ sig { params(filter: T.nilable(Models::Operations::Filter), include: T.nilable(T::Array[Models::Operations::Include]), next_: T.nilable(::String), page_size: T.nilable(::String), group_by: T.nilable(::String)).void }
28
+ def initialize(filter: nil, include: nil, next_: nil, page_size: nil, group_by: 'connector')
33
29
  @filter = filter
34
30
  @include = include
35
31
  @next_ = next_
36
- @page = page
37
32
  @page_size = page_size
38
33
  @group_by = group_by
39
34
  end
@@ -44,7 +39,6 @@ module StackOne
44
39
  return false unless @filter == other.filter
45
40
  return false unless @include == other.include
46
41
  return false unless @next_ == other.next_
47
- return false unless @page == other.page
48
42
  return false unless @page_size == other.page_size
49
43
  return false unless @group_by == other.group_by
50
44
  true
@@ -14,8 +14,6 @@ class StackOne::Models::Operations::StackoneListActionsMetaRequest
14
14
  def include=(str_); end
15
15
  def next_(); end
16
16
  def next_=(str_); end
17
- def page(); end
18
- def page=(str_); end
19
17
  def page_size(); end
20
18
  def page_size=(str_); end
21
19
  def group_by(); end
@@ -13,6 +13,8 @@ module StackOne
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The date the assignment was assigned
17
+ field :assigned_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('assigned_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
16
18
  # The certification URL associated with this assignment
17
19
  field :certificate_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('certificate_url') } }
18
20
  # The date the content was completed
@@ -60,8 +62,9 @@ module StackOne
60
62
  # The user ID associated with this assignment
61
63
  field :user_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('user_id') } }
62
64
 
63
- sig { params(certificate_url: T.nilable(::String), completed_at: T.nilable(::DateTime), course_id: T.nilable(::String), created_at: T.nilable(::DateTime), due_date: T.nilable(::DateTime), external_reference: T.nilable(::String), id: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), learning_object_type: T.nilable(Models::Shared::LearningObjectType), progress: T.nilable(::Float), remote_course_id: T.nilable(::String), remote_id: T.nilable(::String), remote_learning_object_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(Models::Shared::Result), status: T.nilable(Models::Shared::AssignmentStatus), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), user_id: T.nilable(::String)).void }
64
- def initialize(certificate_url: nil, completed_at: nil, course_id: nil, created_at: nil, due_date: nil, external_reference: nil, id: nil, learning_object_external_reference: nil, learning_object_id: nil, learning_object_type: nil, progress: nil, remote_course_id: nil, remote_id: nil, remote_learning_object_id: nil, remote_user_id: nil, result: nil, status: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
65
+ sig { params(assigned_at: T.nilable(::DateTime), certificate_url: T.nilable(::String), completed_at: T.nilable(::DateTime), course_id: T.nilable(::String), created_at: T.nilable(::DateTime), due_date: T.nilable(::DateTime), external_reference: T.nilable(::String), id: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), learning_object_type: T.nilable(Models::Shared::LearningObjectType), progress: T.nilable(::Float), remote_course_id: T.nilable(::String), remote_id: T.nilable(::String), remote_learning_object_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(Models::Shared::Result), status: T.nilable(Models::Shared::AssignmentStatus), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), user_id: T.nilable(::String)).void }
66
+ def initialize(assigned_at: nil, certificate_url: nil, completed_at: nil, course_id: nil, created_at: nil, due_date: nil, external_reference: nil, id: nil, learning_object_external_reference: nil, learning_object_id: nil, learning_object_type: nil, progress: nil, remote_course_id: nil, remote_id: nil, remote_learning_object_id: nil, remote_user_id: nil, result: nil, status: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
67
+ @assigned_at = assigned_at
65
68
  @certificate_url = certificate_url
66
69
  @completed_at = completed_at
67
70
  @course_id = course_id
@@ -87,6 +90,7 @@ module StackOne
87
90
  sig { params(other: T.untyped).returns(T::Boolean) }
88
91
  def ==(other)
89
92
  return false unless other.is_a? self.class
93
+ return false unless @assigned_at == other.assigned_at
90
94
  return false unless @certificate_url == other.certificate_url
91
95
  return false unless @completed_at == other.completed_at
92
96
  return false unless @course_id == other.course_id
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class StackOne::Models::Shared::Assignment
11
+ def assigned_at(); end
12
+ def assigned_at=(str_); end
11
13
  def certificate_url(); end
12
14
  def certificate_url=(str_); end
13
15
  def completed_at(); end
@@ -67,6 +67,8 @@ module StackOne
67
67
  field :remote_user_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_user_id') } }
68
68
  # The result of the completion
69
69
  field :result, Crystalline::Nilable.new(Models::Shared::CompletionSchemasResult), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('result') } }
70
+ # The score associated with this completion
71
+ field :score, Crystalline::Nilable.new(Models::Shared::CompletionScore), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('score') } }
70
72
  # ISO 8601 duration format representing the time spent on completing the learning object
71
73
  field :time_spent, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('time_spent') } }
72
74
  # Custom Unified Fields configured in your StackOne project
@@ -76,8 +78,8 @@ module StackOne
76
78
  # The user ID associated with this completion
77
79
  field :user_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('user_id') } }
78
80
 
79
- sig { params(certificate_url: T.nilable(::String), completed_at: T.nilable(::DateTime), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), course_id: T.nilable(::String), created_at: T.nilable(::DateTime), external_id: T.nilable(::String), external_reference: T.nilable(::String), id: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), learning_object_type: T.nilable(Models::Shared::CompletionLearningObjectType), remote_content_id: T.nilable(::String), remote_course_id: T.nilable(::String), remote_external_id: T.nilable(::String), remote_id: T.nilable(::String), remote_learning_object_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(Models::Shared::CompletionSchemasResult), time_spent: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), user_id: T.nilable(::String)).void }
80
- def initialize(certificate_url: nil, completed_at: nil, content_external_reference: nil, content_id: nil, course_id: nil, created_at: nil, external_id: nil, external_reference: nil, id: nil, learning_object_external_reference: nil, learning_object_id: nil, learning_object_type: nil, remote_content_id: nil, remote_course_id: nil, remote_external_id: nil, remote_id: nil, remote_learning_object_id: nil, remote_user_id: nil, result: nil, time_spent: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
81
+ sig { params(certificate_url: T.nilable(::String), completed_at: T.nilable(::DateTime), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), course_id: T.nilable(::String), created_at: T.nilable(::DateTime), external_id: T.nilable(::String), external_reference: T.nilable(::String), id: T.nilable(::String), learning_object_external_reference: T.nilable(::String), learning_object_id: T.nilable(::String), learning_object_type: T.nilable(Models::Shared::CompletionLearningObjectType), remote_content_id: T.nilable(::String), remote_course_id: T.nilable(::String), remote_external_id: T.nilable(::String), remote_id: T.nilable(::String), remote_learning_object_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(Models::Shared::CompletionSchemasResult), score: T.nilable(Models::Shared::CompletionScore), time_spent: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime), user_id: T.nilable(::String)).void }
82
+ def initialize(certificate_url: nil, completed_at: nil, content_external_reference: nil, content_id: nil, course_id: nil, created_at: nil, external_id: nil, external_reference: nil, id: nil, learning_object_external_reference: nil, learning_object_id: nil, learning_object_type: nil, remote_content_id: nil, remote_course_id: nil, remote_external_id: nil, remote_id: nil, remote_learning_object_id: nil, remote_user_id: nil, result: nil, score: nil, time_spent: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
81
83
  @certificate_url = certificate_url
82
84
  @completed_at = completed_at
83
85
  @content_external_reference = content_external_reference
@@ -97,6 +99,7 @@ module StackOne
97
99
  @remote_learning_object_id = remote_learning_object_id
98
100
  @remote_user_id = remote_user_id
99
101
  @result = result
102
+ @score = score
100
103
  @time_spent = time_spent
101
104
  @unified_custom_fields = unified_custom_fields
102
105
  @updated_at = updated_at
@@ -125,6 +128,7 @@ module StackOne
125
128
  return false unless @remote_learning_object_id == other.remote_learning_object_id
126
129
  return false unless @remote_user_id == other.remote_user_id
127
130
  return false unless @result == other.result
131
+ return false unless @score == other.score
128
132
  return false unless @time_spent == other.time_spent
129
133
  return false unless @unified_custom_fields == other.unified_custom_fields
130
134
  return false unless @updated_at == other.updated_at
@@ -46,6 +46,8 @@ class StackOne::Models::Shared::Completion
46
46
  def remote_user_id=(str_); end
47
47
  def result(); end
48
48
  def result=(str_); end
49
+ def score(); end
50
+ def score=(str_); end
49
51
  def time_spent(); end
50
52
  def time_spent=(str_); end
51
53
  def unified_custom_fields(); end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The score associated with this completion
12
+ class CompletionScore
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The score percentage
17
+ field :percentage, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('percentage') } }
18
+ # The raw string score value
19
+ field :raw_value, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw_value') } }
20
+
21
+ sig { params(percentage: T.nilable(::Float), raw_value: T.nilable(::String)).void }
22
+ def initialize(percentage: nil, raw_value: nil)
23
+ @percentage = percentage
24
+ @raw_value = raw_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 @percentage == other.percentage
31
+ return false unless @raw_value == other.raw_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::CompletionScore
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::CompletionScore
11
+ def percentage(); end
12
+ def percentage=(str_); end
13
+ def raw_value(); end
14
+ def raw_value=(str_); end
15
+ end
@@ -39,8 +39,8 @@ module StackOne
39
39
  field :questionnaires, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::JobPostingQuestionnaire)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('questionnaires') } }
40
40
  # Provider's unique identifier
41
41
  field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
42
- # Provider's unique identifier of the job posting
43
- field :remote_job_posting_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_job_posting_id') } }
42
+ # Provider's unique identifier of the job
43
+ field :remote_job_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_job_id') } }
44
44
  # The posting start date
45
45
  field :start_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
46
46
 
@@ -52,8 +52,8 @@ module StackOne
52
52
  # Date of last update
53
53
  field :updated_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
54
54
 
55
- sig { params(compensation: T.nilable(T::Array[Models::Shared::JobPostingCompensation]), content: T.nilable(Models::Shared::JobPostingContent), created_at: T.nilable(::DateTime), employment_contract_type: T.nilable(Models::Shared::JobPostingEmploymentContractType), employment_type: T.nilable(Models::Shared::JobPostingEmploymentType), external_apply_url: T.nilable(::String), external_url: T.nilable(::String), id: T.nilable(::String), internal: T.nilable(Models::Shared::Internal), job_id: T.nilable(::String), locations: T.nilable(T::Array[Models::Shared::JobPostingLocation]), questionnaires: T.nilable(T::Array[Models::Shared::JobPostingQuestionnaire]), remote_id: T.nilable(::String), remote_job_posting_id: T.nilable(::String), start_date: T.nilable(::DateTime), status: T.nilable(Models::Shared::JobPostingStatus), title: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
56
- def initialize(compensation: nil, content: nil, created_at: nil, employment_contract_type: nil, employment_type: nil, external_apply_url: nil, external_url: nil, id: nil, internal: nil, job_id: nil, locations: nil, questionnaires: nil, remote_id: nil, remote_job_posting_id: nil, start_date: nil, status: nil, title: nil, unified_custom_fields: nil, updated_at: nil)
55
+ sig { params(compensation: T.nilable(T::Array[Models::Shared::JobPostingCompensation]), content: T.nilable(Models::Shared::JobPostingContent), created_at: T.nilable(::DateTime), employment_contract_type: T.nilable(Models::Shared::JobPostingEmploymentContractType), employment_type: T.nilable(Models::Shared::JobPostingEmploymentType), external_apply_url: T.nilable(::String), external_url: T.nilable(::String), id: T.nilable(::String), internal: T.nilable(Models::Shared::Internal), job_id: T.nilable(::String), locations: T.nilable(T::Array[Models::Shared::JobPostingLocation]), questionnaires: T.nilable(T::Array[Models::Shared::JobPostingQuestionnaire]), remote_id: T.nilable(::String), remote_job_id: T.nilable(::String), start_date: T.nilable(::DateTime), status: T.nilable(Models::Shared::JobPostingStatus), title: T.nilable(::String), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::DateTime)).void }
56
+ def initialize(compensation: nil, content: nil, created_at: nil, employment_contract_type: nil, employment_type: nil, external_apply_url: nil, external_url: nil, id: nil, internal: nil, job_id: nil, locations: nil, questionnaires: nil, remote_id: nil, remote_job_id: nil, start_date: nil, status: nil, title: nil, unified_custom_fields: nil, updated_at: nil)
57
57
  @compensation = compensation
58
58
  @content = content
59
59
  @created_at = created_at
@@ -67,7 +67,7 @@ module StackOne
67
67
  @locations = locations
68
68
  @questionnaires = questionnaires
69
69
  @remote_id = remote_id
70
- @remote_job_posting_id = remote_job_posting_id
70
+ @remote_job_id = remote_job_id
71
71
  @start_date = start_date
72
72
  @status = status
73
73
  @title = title
@@ -91,7 +91,7 @@ module StackOne
91
91
  return false unless @locations == other.locations
92
92
  return false unless @questionnaires == other.questionnaires
93
93
  return false unless @remote_id == other.remote_id
94
- return false unless @remote_job_posting_id == other.remote_job_posting_id
94
+ return false unless @remote_job_id == other.remote_job_id
95
95
  return false unless @start_date == other.start_date
96
96
  return false unless @status == other.status
97
97
  return false unless @title == other.title
@@ -34,8 +34,8 @@ class StackOne::Models::Shared::JobPosting
34
34
  def questionnaires=(str_); end
35
35
  def remote_id(); end
36
36
  def remote_id=(str_); end
37
- def remote_job_posting_id(); end
38
- def remote_job_posting_id=(str_); end
37
+ def remote_job_id(); end
38
+ def remote_job_id=(str_); end
39
39
  def start_date(); end
40
40
  def start_date=(str_); end
41
41
  def status(); end
@@ -15,8 +15,8 @@ module StackOne
15
15
 
16
16
  # The external reference of the learning object associated with this assignment, this is the main identifier for creating assignments.
17
17
  field :learning_object_external_reference, ::String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference'), required: true } }
18
- # The date the assignment was created
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
+ # The date the assignment was assigned
19
+ field :assigned_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('assigned_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
20
20
  # The date the assignment is due to be completed
21
21
  field :due_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('due_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
22
22
  # The external reference associated with this assignment
@@ -32,10 +32,10 @@ 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(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)
35
+ sig { params(learning_object_external_reference: ::String, assigned_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:, assigned_at: nil, due_date: nil, external_reference: nil, learning_object_id: nil, passthrough: nil, progress: nil, status: nil)
37
37
  @learning_object_external_reference = learning_object_external_reference
38
- @created_at = created_at
38
+ @assigned_at = assigned_at
39
39
  @due_date = due_date
40
40
  @external_reference = external_reference
41
41
  @learning_object_id = learning_object_id
@@ -48,7 +48,7 @@ module StackOne
48
48
  def ==(other)
49
49
  return false unless other.is_a? self.class
50
50
  return false unless @learning_object_external_reference == other.learning_object_external_reference
51
- return false unless @created_at == other.created_at
51
+ return false unless @assigned_at == other.assigned_at
52
52
  return false unless @due_date == other.due_date
53
53
  return false unless @external_reference == other.external_reference
54
54
  return false unless @learning_object_id == other.learning_object_id
@@ -10,8 +10,8 @@ end
10
10
  class StackOne::Models::Shared::LmsCreateAssignmentRequestDto
11
11
  def learning_object_external_reference(); end
12
12
  def learning_object_external_reference=(str_); end
13
- def created_at(); end
14
- def created_at=(str_); end
13
+ def assigned_at(); end
14
+ def assigned_at=(str_); end
15
15
  def due_date(); end
16
16
  def due_date=(str_); end
17
17
  def external_reference(); end
@@ -31,11 +31,13 @@ module StackOne
31
31
  field :passthrough, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('passthrough') } }
32
32
  # The result of the completion
33
33
  field :result, Crystalline::Nilable.new(Models::Shared::LmsCreateCompletionRequestDtoResult), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('result') } }
34
+ # The score associated with this completion
35
+ field :score, Crystalline::Nilable.new(Models::Shared::LmsCreateCompletionRequestDtoScore), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('score') } }
34
36
  # ISO 8601 duration format representing the time spent on completing the learning object
35
37
  field :time_spent, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('time_spent') } }
36
38
 
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
+ 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), score: T.nilable(Models::Shared::LmsCreateCompletionRequestDtoScore), time_spent: T.nilable(::String)).void }
40
+ def initialize(learning_object_external_reference:, completed_at: nil, content_external_reference: nil, content_id: nil, learning_object_id: nil, passthrough: nil, result: nil, score: nil, time_spent: nil)
39
41
  @learning_object_external_reference = learning_object_external_reference
40
42
  @completed_at = completed_at
41
43
  @content_external_reference = content_external_reference
@@ -43,6 +45,7 @@ module StackOne
43
45
  @learning_object_id = learning_object_id
44
46
  @passthrough = passthrough
45
47
  @result = result
48
+ @score = score
46
49
  @time_spent = time_spent
47
50
  end
48
51
 
@@ -56,6 +59,7 @@ module StackOne
56
59
  return false unless @learning_object_id == other.learning_object_id
57
60
  return false unless @passthrough == other.passthrough
58
61
  return false unless @result == other.result
62
+ return false unless @score == other.score
59
63
  return false unless @time_spent == other.time_spent
60
64
  true
61
65
  end
@@ -22,6 +22,8 @@ class StackOne::Models::Shared::LmsCreateCompletionRequestDto
22
22
  def passthrough=(str_); end
23
23
  def result(); end
24
24
  def result=(str_); end
25
+ def score(); end
26
+ def score=(str_); end
25
27
  def time_spent(); end
26
28
  def time_spent=(str_); end
27
29
  end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The score associated with this completion
12
+ class LmsCreateCompletionRequestDtoScore
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The score percentage
17
+ field :percentage, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('percentage') } }
18
+ # The raw string score value
19
+ field :raw_value, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('raw_value') } }
20
+
21
+ sig { params(percentage: T.nilable(::Float), raw_value: T.nilable(::String)).void }
22
+ def initialize(percentage: nil, raw_value: nil)
23
+ @percentage = percentage
24
+ @raw_value = raw_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 @percentage == other.percentage
31
+ return false unless @raw_value == other.raw_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::LmsCreateCompletionRequestDtoScore
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class StackOne::Models::Shared::LmsCreateCompletionRequestDtoScore
11
+ def percentage(); end
12
+ def percentage=(str_); end
13
+ def raw_value(); end
14
+ def raw_value=(str_); end
15
+ end
@@ -14,6 +14,7 @@ module StackOne
14
14
 
15
15
  enums do
16
16
  OPEN = new('open')
17
+ DRAFT = new('draft')
17
18
  CLOSED = new('closed')
18
19
  PAUSED = new('paused')
19
20
  UNMAPPED_VALUE = new('unmapped_value')
@@ -287,6 +287,7 @@ module StackOne
287
287
  autoload :CompletionSchemasSourceValue, 'stack_one/models/shared/completion_schemas_source_value.rb'
288
288
  autoload :CompletionSchemasValue, 'stack_one/models/shared/completion_schemas_value.rb'
289
289
  autoload :CompletionLearningObjectType, 'stack_one/models/shared/completion_learning_object_type.rb'
290
+ autoload :CompletionScore, 'stack_one/models/shared/completion_score.rb'
290
291
  autoload :CompletionSourceValue, 'stack_one/models/shared/completion_source_value.rb'
291
292
  autoload :CompletionValue, 'stack_one/models/shared/completion_value.rb'
292
293
  autoload :CompletionsPaginated, 'stack_one/models/shared/completionspaginated.rb'
@@ -1141,6 +1142,7 @@ module StackOne
1141
1142
  autoload :LmsCreateCompletionRequestDto, 'stack_one/models/shared/lmscreatecompletionrequestdto.rb'
1142
1143
  autoload :LmsCreateCompletionRequestDto4, 'stack_one/models/shared/lmscreatecompletionrequestdto_4.rb'
1143
1144
  autoload :LmsCreateCompletionRequestDtoResult, 'stack_one/models/shared/lmscreatecompletionrequestdto_result.rb'
1145
+ autoload :LmsCreateCompletionRequestDtoScore, 'stack_one/models/shared/lmscreatecompletionrequestdto_score.rb'
1144
1146
  autoload :LmsCreateCompletionRequestDtoSourceValue, 'stack_one/models/shared/lmscreatecompletionrequestdto_source_value.rb'
1145
1147
  autoload :LmsCreateCompletionRequestDtoValue, 'stack_one/models/shared/lmscreatecompletionrequestdto_value.rb'
1146
1148
  autoload :LmsUpsertContentRequestDto, 'stack_one/models/shared/lmsupsertcontentrequestdto.rb'
@@ -3,6 +3,9 @@
3
3
  # typed: true
4
4
  # frozen_string_literal: true
5
5
 
6
+ require_relative './registration'
7
+ require_relative './types'
8
+
6
9
  module StackOne
7
10
  module SDKHooks
8
11
  class Hooks
@@ -14,6 +17,7 @@ module StackOne
14
17
  @before_request_hooks = T.let([], T::Array[AbstractSDKHook])
15
18
  @after_success_hooks = T.let([], T::Array[AbstractSDKHook])
16
19
  @after_error_hooks = T.let([], T::Array[AbstractSDKHook])
20
+ Registration.init_hooks self
17
21
  end
18
22
 
19
23
  sig { params(hook: AbstractSDKHook).void }
@@ -0,0 +1,34 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file is only ever generated once on the first generation and then is free to be modified.
6
+ # Any hooks you wish to add should be registered in the init_hooks method.
7
+ #
8
+ # Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance.
9
+ #
10
+
11
+ require_relative './types'
12
+
13
+
14
+ module StackOne
15
+ module SDKHooks
16
+ class Registration
17
+ extend T::Sig
18
+
19
+ sig do
20
+ params(
21
+ hooks: Hooks
22
+ ).void
23
+ end
24
+ def self.init_hooks(hooks)
25
+ # example_hook = ExampleHook.new
26
+
27
+ # hooks.register_sdk_init_hook example_hook
28
+ # hooks.register_before_request_hook example_hook
29
+ # hooks.register_after_error_hook example_hook
30
+ # hooks.register_after_success_hook example_hook
31
+ end
32
+ end
33
+ end
34
+ end
@@ -89,9 +89,9 @@ module StackOne
89
89
  end
90
90
  @language = 'ruby'
91
91
  @openapi_doc_version = '1.0.0'
92
- @sdk_version = '0.39.3'
93
- @gen_version = '2.767.2'
94
- @user_agent = 'speakeasy-sdk/ruby 0.39.3 2.767.2 1.0.0 stackone_client'
92
+ @sdk_version = '0.39.4'
93
+ @gen_version = '2.779.2'
94
+ @user_agent = 'speakeasy-sdk/ruby 0.39.4 2.779.2 1.0.0 stackone_client'
95
95
  end
96
96
 
97
97
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -18,6 +18,16 @@ module StackOne
18
18
 
19
19
  attr_accessor :accounts, :actions, :connect_sessions, :connectors, :mcp, :request_logs, :accounting, :ats, :crm, :documents, :hris, :iam, :lms, :marketing, :messaging, :proxy, :screening, :ticketing
20
20
 
21
+ # Instantiates the SDK, configuring it with the provided parameters.
22
+ #
23
+ # @param client [Faraday::Connection, nil] The faraday HTTP client to use for all operations
24
+ # @param retry_config [::StackOne::Utils::RetryConfig, nil] The retry configuration to use for all operations
25
+ # @param timeout_ms [Integer, nil] Request timeout in milliseconds for all operations
26
+ # @param security [Models::Shared::Security, nil] The security details required for authentication
27
+ # @param security_source [Proc{|| Models::Shared::Security, nil}] A function that returns security details required for authentication
28
+ # @param server_idx [Integer, nil] The index of the server to use for all operations
29
+ # @param server_url [String, nil] The server URL to use for all operations
30
+ # @param url_params [Hash{Symbol => String}, nil] Parameters to optionally template the server URL with
21
31
  sig do
22
32
  params(
23
33
  client: T.nilable(Faraday::Connection),
@@ -31,15 +41,6 @@ module StackOne
31
41
  ).void
32
42
  end
33
43
  def initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, server_idx: nil, server_url: nil, url_params: nil)
34
- ## Instantiates the SDK configuring it with the provided parameters.
35
- # @param [T.nilable(Faraday::Connection)] client The faraday HTTP client to use for all operations
36
- # @param [T.nilable(::StackOne::Utils::RetryConfig)] retry_config The retry configuration to use for all operations
37
- # @param [T.nilable(Integer)] timeout_ms Request timeout in milliseconds for all operations
38
- # @param [T.nilable(Models::Shared::Security)] security: The security details required for authentication
39
- # @param [T.proc.returns(T.nilable(Models::Shared::Security))] security_source: A function that returns security details required for authentication
40
- # @param [T.nilable(::Integer)] server_idx The index of the server to use for all operations
41
- # @param [T.nilable(::String)] server_url The server URL to use for all operations
42
- # @param [T.nilable(::Hash<::Symbol, ::String>)] url_params Parameters to optionally template the server URL with
43
44
 
44
45
  connection_options = {
45
46
  request: {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackone_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.39.3
4
+ version: 0.39.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - StackOne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-03 00:00:00.000000000 Z
11
+ date: 2025-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -2277,6 +2277,8 @@ files:
2277
2277
  - lib/stack_one/models/shared/completion_schemas_source_value.rbi
2278
2278
  - lib/stack_one/models/shared/completion_schemas_value.rb
2279
2279
  - lib/stack_one/models/shared/completion_schemas_value.rbi
2280
+ - lib/stack_one/models/shared/completion_score.rb
2281
+ - lib/stack_one/models/shared/completion_score.rbi
2280
2282
  - lib/stack_one/models/shared/completion_source_value.rb
2281
2283
  - lib/stack_one/models/shared/completion_source_value.rbi
2282
2284
  - lib/stack_one/models/shared/completion_value.rb
@@ -4083,6 +4085,8 @@ files:
4083
4085
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_4.rbi
4084
4086
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_result.rb
4085
4087
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_result.rbi
4088
+ - lib/stack_one/models/shared/lmscreatecompletionrequestdto_score.rb
4089
+ - lib/stack_one/models/shared/lmscreatecompletionrequestdto_score.rbi
4086
4090
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_source_value.rb
4087
4091
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_source_value.rbi
4088
4092
  - lib/stack_one/models/shared/lmscreatecompletionrequestdto_value.rb
@@ -5069,6 +5073,7 @@ files:
5069
5073
  - lib/stack_one/request_logs.rb
5070
5074
  - lib/stack_one/screening.rb
5071
5075
  - lib/stack_one/sdk_hooks/hooks.rb
5076
+ - lib/stack_one/sdk_hooks/registration.rb
5072
5077
  - lib/stack_one/sdk_hooks/types.rb
5073
5078
  - lib/stack_one/sdkconfiguration.rb
5074
5079
  - lib/stack_one/sdkconfiguration.rbi