stackone_client 0.2.45 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/lms.rb +92 -0
  3. data/lib/stack_one/models/operations/ats_list_jobs_queryparam_filter.rb +6 -3
  4. data/lib/stack_one/models/operations/ats_list_jobs_request.rb +1 -1
  5. data/lib/stack_one/models/operations/lms_batch_upsert_course_request.rb +27 -0
  6. data/lib/stack_one/models/operations/lms_batch_upsert_course_response.rb +33 -0
  7. data/lib/stack_one/models/operations/lms_list_assignments_queryparam_filter.rb +5 -2
  8. data/lib/stack_one/models/operations/lms_list_assignments_request.rb +8 -2
  9. data/lib/stack_one/models/operations/lms_list_completions_queryparam_filter.rb +6 -3
  10. data/lib/stack_one/models/operations/lms_list_completions_request.rb +1 -1
  11. data/lib/stack_one/models/operations/lms_list_user_assignments_queryparam_filter.rb +5 -2
  12. data/lib/stack_one/models/operations/lms_list_user_assignments_request.rb +8 -2
  13. data/lib/stack_one/models/operations/lms_list_user_completions_queryparam_filter.rb +6 -3
  14. data/lib/stack_one/models/operations/lms_list_user_completions_request.rb +1 -1
  15. data/lib/stack_one/models/operations/lms_upsert_course_request.rb +27 -0
  16. data/lib/stack_one/models/operations/lms_upsert_course_response.rb +33 -0
  17. data/lib/stack_one/models/operations/stackone_list_linked_accounts_request.rb +5 -2
  18. data/lib/stack_one/models/operations/status.rb +18 -0
  19. data/lib/stack_one/models/operations.rb +5 -0
  20. data/lib/stack_one/models/shared/assignment.rb +2 -2
  21. data/lib/stack_one/models/shared/{learningobjecttypeenum_value.rb → assignment_value.rb} +2 -2
  22. data/lib/stack_one/models/shared/categories.rb +1 -0
  23. data/lib/stack_one/models/shared/completion.rb +14 -2
  24. data/lib/stack_one/models/shared/{active.rb → completion_learning_object_type.rb} +4 -4
  25. data/lib/stack_one/models/shared/completion_schemas_result.rb +2 -2
  26. data/lib/stack_one/models/shared/{createcategoriesapimodel_value.rb → completion_schemas_value.rb} +3 -3
  27. data/lib/stack_one/models/shared/completion_value.rb +3 -2
  28. data/lib/stack_one/models/shared/connectorsmeta_category.rb +1 -0
  29. data/lib/stack_one/models/shared/connectsessioncreate_categories.rb +1 -0
  30. data/lib/stack_one/models/shared/connectsessiontoken_categories.rb +1 -0
  31. data/lib/stack_one/models/shared/course.rb +3 -3
  32. data/lib/stack_one/models/shared/course_type.rb +2 -2
  33. data/lib/stack_one/models/shared/course_value.rb +3 -2
  34. data/lib/stack_one/models/shared/createcategoriesapimodel.rb +2 -8
  35. data/lib/stack_one/models/shared/createcontentapimodel.rb +33 -0
  36. data/lib/stack_one/models/shared/createskillsapimodel.rb +30 -0
  37. data/lib/stack_one/models/shared/employee_schemas_national_identity_number_type_value.rb +30 -0
  38. data/lib/stack_one/models/shared/hriscreateemployeerequestdto_schemas_national_identity_number_type_value.rb +30 -0
  39. data/lib/stack_one/models/shared/{learningobjecttypeenum.rb → learning_object_type.rb} +4 -4
  40. data/lib/stack_one/models/shared/linkedaccountmeta_category.rb +1 -0
  41. data/lib/stack_one/models/shared/lmsbatchupsertcourserequestdto.rb +24 -0
  42. data/lib/stack_one/models/shared/lmscreatecontentrequestdto.rb +5 -2
  43. data/lib/stack_one/models/shared/lmsupsertcontentrequestdto.rb +5 -2
  44. data/lib/stack_one/models/shared/lmsupsertcourserequestdto.rb +69 -0
  45. data/lib/stack_one/models/shared/{createcategoriesapimodel_level.rb → lmsupsertcourserequestdto_course_type.rb} +4 -4
  46. data/lib/stack_one/models/shared/{course_schemas_value.rb → lmsupsertcourserequestdto_value.rb} +1 -1
  47. data/lib/stack_one/models/shared/marketingcreatecontentblocksrequestdto.rb +5 -2
  48. data/lib/stack_one/models/shared/marketingcreatecontentblocksrequestdto_type.rb +27 -0
  49. data/lib/stack_one/models/shared/marketingcreatecontentblocksrequestdto_value.rb +20 -0
  50. data/lib/stack_one/models/shared.rb +15 -9
  51. data/lib/stack_one/sdkconfiguration.rb +3 -3
  52. metadata +23 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b651c91bad281ccd73b75409e185ccad966c5173d60d4d963295d804d290400b
4
- data.tar.gz: 03fcdebd60c6c467860778a2c701bfd8be2ea50bb64f2333ffa0e1885b988856
3
+ metadata.gz: 3f7cc7e78aff988a64ebea9f5fcf4396e110ac42c6652f18bb2f51bfdfe905ca
4
+ data.tar.gz: 569f17630065417b262f32ae2c02ee621e1c4af9ad5a0096bf36c0b1f51ea525
5
5
  SHA512:
6
- metadata.gz: 3be265678aa75398c2317c6ce979096edbc82009a7731186179d3f0bd2d40f05a8598b5bb457b259bf98d2c19e6ea698344c82c0afb61ee1dee0bd7c3547810f
7
- data.tar.gz: 56a87a2adaf173c1cc39691f3de10fc59c02380f1e24c637c15b0f270667515ccc716e273766ba18826df5758f5b1fa3218657085dd5cf096bb69b643fceb37f
6
+ metadata.gz: d66f7e48abc53c478aaeba07ca43642eaab1016ee491b6b27fd3b5feb79d235d173ccea46e99aa7eeb2b5e4afb6d13bc0dcd3ce41ea195ba0042169673faa356
7
+ data.tar.gz: 3458b5787299193bb5c61fd415f70bb4e232d16854bdfdf29ccdf26026f72270d15a2d0c1efd97debbd2f4ca8505e07ff78f500ce2e7ce5690902af7f54c4dbc
data/lib/stack_one/lms.rb CHANGED
@@ -65,6 +65,52 @@ module StackOne
65
65
  end
66
66
 
67
67
 
68
+ sig { params(lms_batch_upsert_course_request_dto: ::StackOne::Shared::LmsBatchUpsertCourseRequestDto, x_account_id: ::String).returns(::StackOne::Operations::LmsBatchUpsertCourseResponse) }
69
+ def batch_upsert_course(lms_batch_upsert_course_request_dto, x_account_id)
70
+ # batch_upsert_course - Batch Upsert Course
71
+ request = ::StackOne::Operations::LmsBatchUpsertCourseRequest.new(
72
+
73
+ lms_batch_upsert_course_request_dto: lms_batch_upsert_course_request_dto,
74
+ x_account_id: x_account_id
75
+ )
76
+ url, params = @sdk_configuration.get_server_details
77
+ base_url = Utils.template_url(url, params)
78
+ url = "#{base_url}/unified/lms/courses/batch"
79
+ headers = Utils.get_headers(request)
80
+ req_content_type, data, form = Utils.serialize_request_body(request, :lms_batch_upsert_course_request_dto, :json)
81
+ headers['content-type'] = req_content_type
82
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
83
+ headers['Accept'] = 'application/json'
84
+ headers['user-agent'] = @sdk_configuration.user_agent
85
+
86
+ r = @sdk_configuration.client.post(url) do |req|
87
+ req.headers = headers
88
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
89
+ if form
90
+ req.body = Utils.encode_form(form)
91
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
92
+ req.body = URI.encode_www_form(data)
93
+ else
94
+ req.body = data
95
+ end
96
+ end
97
+
98
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
99
+
100
+ res = ::StackOne::Operations::LmsBatchUpsertCourseResponse.new(
101
+ status_code: r.status, content_type: content_type, raw_response: r
102
+ )
103
+ if r.status == 202
104
+ if Utils.match_content_type(content_type, 'application/json')
105
+ out = Utils.unmarshal_complex(r.env.response_body, ::StackOne::Shared::BatchResultApiModel)
106
+ res.batch_result_api_model = out
107
+ end
108
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
109
+ end
110
+ res
111
+ end
112
+
113
+
68
114
  sig { params(lms_create_content_request_dto: ::StackOne::Shared::LmsCreateContentRequestDto, x_account_id: ::String).returns(::StackOne::Operations::LmsCreateContentResponse) }
69
115
  def create_content(lms_create_content_request_dto, x_account_id)
70
116
  # create_content - Create Content
@@ -949,5 +995,51 @@ module StackOne
949
995
  end
950
996
  res
951
997
  end
998
+
999
+
1000
+ sig { params(lms_upsert_course_request_dto: ::StackOne::Shared::LmsUpsertCourseRequestDto, x_account_id: ::String).returns(::StackOne::Operations::LmsUpsertCourseResponse) }
1001
+ def upsert_course(lms_upsert_course_request_dto, x_account_id)
1002
+ # upsert_course - Upsert Course
1003
+ request = ::StackOne::Operations::LmsUpsertCourseRequest.new(
1004
+
1005
+ lms_upsert_course_request_dto: lms_upsert_course_request_dto,
1006
+ x_account_id: x_account_id
1007
+ )
1008
+ url, params = @sdk_configuration.get_server_details
1009
+ base_url = Utils.template_url(url, params)
1010
+ url = "#{base_url}/unified/lms/courses"
1011
+ headers = Utils.get_headers(request)
1012
+ req_content_type, data, form = Utils.serialize_request_body(request, :lms_upsert_course_request_dto, :json)
1013
+ headers['content-type'] = req_content_type
1014
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1015
+ headers['Accept'] = 'application/json'
1016
+ headers['user-agent'] = @sdk_configuration.user_agent
1017
+
1018
+ r = @sdk_configuration.client.put(url) do |req|
1019
+ req.headers = headers
1020
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1021
+ if form
1022
+ req.body = Utils.encode_form(form)
1023
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1024
+ req.body = URI.encode_www_form(data)
1025
+ else
1026
+ req.body = data
1027
+ end
1028
+ end
1029
+
1030
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1031
+
1032
+ res = ::StackOne::Operations::LmsUpsertCourseResponse.new(
1033
+ status_code: r.status, content_type: content_type, raw_response: r
1034
+ )
1035
+ if r.status == 201
1036
+ if Utils.match_content_type(content_type, 'application/json')
1037
+ out = Utils.unmarshal_complex(r.env.response_body, ::StackOne::Shared::CreateResult)
1038
+ res.create_result = out
1039
+ end
1040
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1041
+ end
1042
+ res
1043
+ end
952
1044
  end
953
1045
  end
@@ -7,16 +7,19 @@
7
7
  module StackOne
8
8
  module Operations
9
9
 
10
- # Filter parameters that allow greater customisation of the list response
10
+ # ATS Jobs filters
11
11
  class AtsListJobsQueryParamFilter < ::StackOne::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # The status of the job
15
+ field :status, T.nilable(::StackOne::Operations::Status), { 'query_param': { 'field_name': 'status' } }
14
16
  # Use a string with a date to only select results updated after that given date
15
17
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
16
18
 
17
19
 
18
- sig { params(updated_after: T.nilable(::String)).void }
19
- def initialize(updated_after: nil)
20
+ sig { params(status: T.nilable(::StackOne::Operations::Status), updated_after: T.nilable(::String)).void }
21
+ def initialize(status: nil, updated_after: nil)
22
+ @status = status
20
23
  @updated_after = updated_after
21
24
  end
22
25
  end
@@ -17,7 +17,7 @@ module StackOne
17
17
  field :expand, T.nilable(::String), { 'query_param': { 'field_name': 'expand', 'style': 'form', 'explode': true } }
18
18
  # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
19
19
  field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
20
- # Filter parameters that allow greater customisation of the list response
20
+ # ATS Jobs filters
21
21
  field :filter, T.nilable(::StackOne::Operations::AtsListJobsQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'deepObject', 'explode': true } }
22
22
  # The comma separated list of fields that will be included in the response
23
23
  field :include, T.nilable(::String), { 'query_param': { 'field_name': 'include', 'style': 'form', 'explode': true } }
@@ -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 Operations
9
+
10
+
11
+ class LmsBatchUpsertCourseRequest < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :lms_batch_upsert_course_request_dto, ::StackOne::Shared::LmsBatchUpsertCourseRequestDto, { 'request': { 'media_type': 'application/json' } }
16
+ # The account identifier
17
+ field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
18
+
19
+
20
+ sig { params(lms_batch_upsert_course_request_dto: ::StackOne::Shared::LmsBatchUpsertCourseRequestDto, x_account_id: ::String).void }
21
+ def initialize(lms_batch_upsert_course_request_dto: nil, x_account_id: nil)
22
+ @lms_batch_upsert_course_request_dto = lms_batch_upsert_course_request_dto
23
+ @x_account_id = x_account_id
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
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 Operations
9
+
10
+
11
+ class LmsBatchUpsertCourseResponse < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # HTTP response content type for this operation
15
+ field :content_type, ::String
16
+ # Raw HTTP response; suitable for custom response parsing
17
+ field :raw_response, ::Faraday::Response
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Batch operation accepted
21
+ field :batch_result_api_model, T.nilable(::StackOne::Shared::BatchResultApiModel)
22
+
23
+
24
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, batch_result_api_model: T.nilable(::StackOne::Shared::BatchResultApiModel)).void }
25
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, batch_result_api_model: nil)
26
+ @content_type = content_type
27
+ @raw_response = raw_response
28
+ @status_code = status_code
29
+ @batch_result_api_model = batch_result_api_model
30
+ end
31
+ end
32
+ end
33
+ end
@@ -13,13 +13,16 @@ module StackOne
13
13
 
14
14
  # Filter to select assignment by completed status
15
15
  field :completed, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'completed' } }
16
+ # Filter to select assignment by learning object type.
17
+ field :learning_object_type, T.nilable(::String), { 'query_param': { 'field_name': 'learning_object_type' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
21
 
20
- sig { params(completed: T.nilable(T::Boolean), updated_after: T.nilable(::String)).void }
21
- def initialize(completed: nil, updated_after: nil)
22
+ sig { params(completed: T.nilable(T::Boolean), learning_object_type: T.nilable(::String), updated_after: T.nilable(::String)).void }
23
+ def initialize(completed: nil, learning_object_type: nil, updated_after: nil)
22
24
  @completed = completed
25
+ @learning_object_type = learning_object_type
23
26
  @updated_after = updated_after
24
27
  end
25
28
  end
@@ -29,14 +29,18 @@ module StackOne
29
29
  field :proxy, T.nilable(T::Hash[Symbol, ::Object]), { 'query_param': { 'field_name': 'proxy', 'style': 'form', 'explode': true } }
30
30
  # Indicates that the raw request result is returned
31
31
  field :raw, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'raw', 'style': 'form', 'explode': true } }
32
+ # Provider's unique identifier of the user related to the assignment
33
+ field :remote_user_id, T.nilable(::String), { 'query_param': { 'field_name': 'remote_user_id', 'style': 'form', 'explode': true } }
32
34
  # Use a string with a date to only select results updated after that given date
33
35
  #
34
36
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
35
37
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
38
+ # The user ID associated with this assignment
39
+ field :user_id, T.nilable(::String), { 'query_param': { 'field_name': 'user_id', 'style': 'form', 'explode': true } }
36
40
 
37
41
 
38
- sig { params(x_account_id: ::String, fields_: T.nilable(::String), filter: T.nilable(::StackOne::Operations::LmsListAssignmentsQueryParamFilter), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean), updated_after: T.nilable(::String)).void }
39
- def initialize(x_account_id: nil, fields_: nil, filter: nil, next_: nil, page: nil, page_size: nil, proxy: nil, raw: nil, updated_after: nil)
42
+ sig { params(x_account_id: ::String, fields_: T.nilable(::String), filter: T.nilable(::StackOne::Operations::LmsListAssignmentsQueryParamFilter), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean), remote_user_id: T.nilable(::String), updated_after: T.nilable(::String), user_id: T.nilable(::String)).void }
43
+ def initialize(x_account_id: nil, fields_: nil, filter: nil, next_: nil, page: nil, page_size: nil, proxy: nil, raw: nil, remote_user_id: nil, updated_after: nil, user_id: nil)
40
44
  @x_account_id = x_account_id
41
45
  @fields_ = fields_
42
46
  @filter = filter
@@ -45,7 +49,9 @@ module StackOne
45
49
  @page_size = page_size
46
50
  @proxy = proxy
47
51
  @raw = raw
52
+ @remote_user_id = remote_user_id
48
53
  @updated_after = updated_after
54
+ @user_id = user_id
49
55
  end
50
56
  end
51
57
  end
@@ -7,16 +7,19 @@
7
7
  module StackOne
8
8
  module Operations
9
9
 
10
- # Filter parameters that allow greater customisation of the list response
10
+ # LMS Completions Filter
11
11
  class LmsListCompletionsQueryParamFilter < ::StackOne::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # Filter to select completions by learning object type.
15
+ field :learning_object_type, T.nilable(::String), { 'query_param': { 'field_name': 'learning_object_type' } }
14
16
  # Use a string with a date to only select results updated after that given date
15
17
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
16
18
 
17
19
 
18
- sig { params(updated_after: T.nilable(::String)).void }
19
- def initialize(updated_after: nil)
20
+ sig { params(learning_object_type: T.nilable(::String), updated_after: T.nilable(::String)).void }
21
+ def initialize(learning_object_type: nil, updated_after: nil)
22
+ @learning_object_type = learning_object_type
20
23
  @updated_after = updated_after
21
24
  end
22
25
  end
@@ -15,7 +15,7 @@ module StackOne
15
15
  field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
16
16
  # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
17
17
  field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
18
- # Filter parameters that allow greater customisation of the list response
18
+ # LMS Completions Filter
19
19
  field :filter, T.nilable(::StackOne::Operations::LmsListCompletionsQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'deepObject', 'explode': true } }
20
20
  # The unified cursor
21
21
  field :next_, T.nilable(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
@@ -13,13 +13,16 @@ module StackOne
13
13
 
14
14
  # Filter to select assignment by completed status
15
15
  field :completed, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'completed' } }
16
+ # Filter to select assignment by learning object type.
17
+ field :learning_object_type, T.nilable(::String), { 'query_param': { 'field_name': 'learning_object_type' } }
16
18
  # Use a string with a date to only select results updated after that given date
17
19
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
18
20
 
19
21
 
20
- sig { params(completed: T.nilable(T::Boolean), updated_after: T.nilable(::String)).void }
21
- def initialize(completed: nil, updated_after: nil)
22
+ sig { params(completed: T.nilable(T::Boolean), learning_object_type: T.nilable(::String), updated_after: T.nilable(::String)).void }
23
+ def initialize(completed: nil, learning_object_type: nil, updated_after: nil)
22
24
  @completed = completed
25
+ @learning_object_type = learning_object_type
23
26
  @updated_after = updated_after
24
27
  end
25
28
  end
@@ -31,14 +31,18 @@ module StackOne
31
31
  field :proxy, T.nilable(T::Hash[Symbol, ::Object]), { 'query_param': { 'field_name': 'proxy', 'style': 'form', 'explode': true } }
32
32
  # Indicates that the raw request result is returned
33
33
  field :raw, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'raw', 'style': 'form', 'explode': true } }
34
+ # Provider's unique identifier of the user related to the assignment
35
+ field :remote_user_id, T.nilable(::String), { 'query_param': { 'field_name': 'remote_user_id', 'style': 'form', 'explode': true } }
34
36
  # Use a string with a date to only select results updated after that given date
35
37
  #
36
38
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
37
39
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
40
+ # The user ID associated with this assignment
41
+ field :user_id, T.nilable(::String), { 'query_param': { 'field_name': 'user_id', 'style': 'form', 'explode': true } }
38
42
 
39
43
 
40
- sig { params(id: ::String, x_account_id: ::String, fields_: T.nilable(::String), filter: T.nilable(::StackOne::Operations::LmsListUserAssignmentsQueryParamFilter), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean), updated_after: T.nilable(::String)).void }
41
- def initialize(id: nil, x_account_id: nil, fields_: nil, filter: nil, next_: nil, page: nil, page_size: nil, proxy: nil, raw: nil, updated_after: nil)
44
+ sig { params(id: ::String, x_account_id: ::String, fields_: T.nilable(::String), filter: T.nilable(::StackOne::Operations::LmsListUserAssignmentsQueryParamFilter), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean), remote_user_id: T.nilable(::String), updated_after: T.nilable(::String), user_id: T.nilable(::String)).void }
45
+ def initialize(id: nil, x_account_id: nil, fields_: nil, filter: nil, next_: nil, page: nil, page_size: nil, proxy: nil, raw: nil, remote_user_id: nil, updated_after: nil, user_id: nil)
42
46
  @id = id
43
47
  @x_account_id = x_account_id
44
48
  @fields_ = fields_
@@ -48,7 +52,9 @@ module StackOne
48
52
  @page_size = page_size
49
53
  @proxy = proxy
50
54
  @raw = raw
55
+ @remote_user_id = remote_user_id
51
56
  @updated_after = updated_after
57
+ @user_id = user_id
52
58
  end
53
59
  end
54
60
  end
@@ -7,16 +7,19 @@
7
7
  module StackOne
8
8
  module Operations
9
9
 
10
- # Filter parameters that allow greater customisation of the list response
10
+ # LMS Completions Filter
11
11
  class LmsListUserCompletionsQueryParamFilter < ::StackOne::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # Filter to select completions by learning object type.
15
+ field :learning_object_type, T.nilable(::String), { 'query_param': { 'field_name': 'learning_object_type' } }
14
16
  # Use a string with a date to only select results updated after that given date
15
17
  field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
16
18
 
17
19
 
18
- sig { params(updated_after: T.nilable(::String)).void }
19
- def initialize(updated_after: nil)
20
+ sig { params(learning_object_type: T.nilable(::String), updated_after: T.nilable(::String)).void }
21
+ def initialize(learning_object_type: nil, updated_after: nil)
22
+ @learning_object_type = learning_object_type
20
23
  @updated_after = updated_after
21
24
  end
22
25
  end
@@ -17,7 +17,7 @@ module StackOne
17
17
  field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
18
18
  # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
19
19
  field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
20
- # Filter parameters that allow greater customisation of the list response
20
+ # LMS Completions Filter
21
21
  field :filter, T.nilable(::StackOne::Operations::LmsListUserCompletionsQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'form', 'explode': true } }
22
22
  # The unified cursor
23
23
  field :next_, T.nilable(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
@@ -0,0 +1,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 Operations
9
+
10
+
11
+ class LmsUpsertCourseRequest < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :lms_upsert_course_request_dto, ::StackOne::Shared::LmsUpsertCourseRequestDto, { 'request': { 'media_type': 'application/json' } }
16
+ # The account identifier
17
+ field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
18
+
19
+
20
+ sig { params(lms_upsert_course_request_dto: ::StackOne::Shared::LmsUpsertCourseRequestDto, x_account_id: ::String).void }
21
+ def initialize(lms_upsert_course_request_dto: nil, x_account_id: nil)
22
+ @lms_upsert_course_request_dto = lms_upsert_course_request_dto
23
+ @x_account_id = x_account_id
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
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 Operations
9
+
10
+
11
+ class LmsUpsertCourseResponse < ::StackOne::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # HTTP response content type for this operation
15
+ field :content_type, ::String
16
+ # Raw HTTP response; suitable for custom response parsing
17
+ field :raw_response, ::Faraday::Response
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # The course was upserted successfully.
21
+ field :create_result, T.nilable(::StackOne::Shared::CreateResult)
22
+
23
+
24
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, create_result: T.nilable(::StackOne::Shared::CreateResult)).void }
25
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, create_result: nil)
26
+ @content_type = content_type
27
+ @raw_response = raw_response
28
+ @status_code = status_code
29
+ @create_result = create_result
30
+ end
31
+ end
32
+ end
33
+ end
@@ -25,16 +25,19 @@ module StackOne
25
25
  field :provider, T.nilable(::String), { 'query_param': { 'field_name': 'provider', 'style': 'form', 'explode': true } }
26
26
  # The providers list of the results to fetch
27
27
  field :providers, T.nilable(T::Array[::String]), { 'query_param': { 'field_name': 'providers', 'style': 'form', 'explode': true } }
28
+ # The status of the results to fetch
29
+ field :status, T.nilable(T::Array[::String]), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
28
30
 
29
31
 
30
- sig { params(account_ids: T.nilable(T::Array[::String]), origin_owner_id: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float), provider: T.nilable(::String), providers: T.nilable(T::Array[::String])).void }
31
- def initialize(account_ids: nil, origin_owner_id: nil, page: nil, page_size: nil, provider: nil, providers: nil)
32
+ sig { params(account_ids: T.nilable(T::Array[::String]), origin_owner_id: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float), provider: T.nilable(::String), providers: T.nilable(T::Array[::String]), status: T.nilable(T::Array[::String])).void }
33
+ def initialize(account_ids: nil, origin_owner_id: nil, page: nil, page_size: nil, provider: nil, providers: nil, status: nil)
32
34
  @account_ids = account_ids
33
35
  @origin_owner_id = origin_owner_id
34
36
  @page = page
35
37
  @page_size = page_size
36
38
  @provider = provider
37
39
  @providers = providers
40
+ @status = status
38
41
  end
39
42
  end
40
43
  end
@@ -0,0 +1,18 @@
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 Operations
9
+
10
+ # Status - The status of the job
11
+ class Status < T::Enum
12
+ enums do
13
+ OPEN = new('open')
14
+ DRAFT = new('draft')
15
+ end
16
+ end
17
+ end
18
+ end
@@ -127,6 +127,7 @@ module StackOne
127
127
  autoload :AtsListJobPostingsQueryParamFilter, 'stack_one/models/operations/ats_list_job_postings_queryparam_filter.rb'
128
128
  autoload :AtsListJobPostingsRequest, 'stack_one/models/operations/ats_list_job_postings_request.rb'
129
129
  autoload :AtsListJobPostingsResponse, 'stack_one/models/operations/ats_list_job_postings_response.rb'
130
+ autoload :Status, 'stack_one/models/operations/status.rb'
130
131
  autoload :AtsListJobsQueryParamFilter, 'stack_one/models/operations/ats_list_jobs_queryparam_filter.rb'
131
132
  autoload :AtsListJobsRequest, 'stack_one/models/operations/ats_list_jobs_request.rb'
132
133
  autoload :AtsListJobsResponse, 'stack_one/models/operations/ats_list_jobs_response.rb'
@@ -303,6 +304,8 @@ module StackOne
303
304
  autoload :IamListUsersResponse, 'stack_one/models/operations/iam_list_users_response.rb'
304
305
  autoload :LmsBatchUpsertContentRequest, 'stack_one/models/operations/lms_batch_upsert_content_request.rb'
305
306
  autoload :LmsBatchUpsertContentResponse, 'stack_one/models/operations/lms_batch_upsert_content_response.rb'
307
+ autoload :LmsBatchUpsertCourseRequest, 'stack_one/models/operations/lms_batch_upsert_course_request.rb'
308
+ autoload :LmsBatchUpsertCourseResponse, 'stack_one/models/operations/lms_batch_upsert_course_response.rb'
306
309
  autoload :LmsCreateContentRequest, 'stack_one/models/operations/lms_create_content_request.rb'
307
310
  autoload :LmsCreateContentResponse, 'stack_one/models/operations/lms_create_content_response.rb'
308
311
  autoload :LmsCreateUserCompletionRequest, 'stack_one/models/operations/lms_create_user_completion_request.rb'
@@ -358,6 +361,8 @@ module StackOne
358
361
  autoload :LmsUpdateContentResponse, 'stack_one/models/operations/lms_update_content_response.rb'
359
362
  autoload :LmsUpsertContentRequest, 'stack_one/models/operations/lms_upsert_content_request.rb'
360
363
  autoload :LmsUpsertContentResponse, 'stack_one/models/operations/lms_upsert_content_response.rb'
364
+ autoload :LmsUpsertCourseRequest, 'stack_one/models/operations/lms_upsert_course_request.rb'
365
+ autoload :LmsUpsertCourseResponse, 'stack_one/models/operations/lms_upsert_course_response.rb'
361
366
  autoload :MarketingCreateContentBlockRequest, 'stack_one/models/operations/marketing_create_content_block_request.rb'
362
367
  autoload :MarketingCreateContentBlockResponse, 'stack_one/models/operations/marketing_create_content_block_response.rb'
363
368
  autoload :MarketingCreateEmailTemplateRequest, 'stack_one/models/operations/marketing_create_email_template_request.rb'
@@ -24,7 +24,7 @@ module StackOne
24
24
  # The learning_object_id associated with this assignment
25
25
  field :learning_object_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_id') } }
26
26
  # The learning object type of the assignment
27
- field :learning_object_type, T.nilable(T::Array[::StackOne::Shared::LearningObjectTypeEnum]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_type') } }
27
+ field :learning_object_type, T.nilable(::StackOne::Shared::LearningObjectType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_type') } }
28
28
  # The progress associated with this assigment
29
29
  field :progress, T.nilable(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('progress') } }
30
30
  # Provider's unique identifier of the course related to the assignment
@@ -45,7 +45,7 @@ module StackOne
45
45
  field :user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('user_id') } }
46
46
 
47
47
 
48
- sig { params(course_id: T.nilable(::String), created_at: T.nilable(::String), due_date: 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(T::Array[::StackOne::Shared::LearningObjectTypeEnum]), 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), status: T.nilable(T::Array[::StackOne::Shared::AssignmentStatusEnum]), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::String), user_id: T.nilable(::String)).void }
48
+ sig { params(course_id: T.nilable(::String), created_at: T.nilable(::String), due_date: 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(::StackOne::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), status: T.nilable(T::Array[::StackOne::Shared::AssignmentStatusEnum]), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::String), user_id: T.nilable(::String)).void }
49
49
  def initialize(course_id: nil, created_at: nil, due_date: 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, status: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
50
50
  @course_id = course_id
51
51
  @created_at = created_at
@@ -8,11 +8,11 @@ module StackOne
8
8
  module Shared
9
9
 
10
10
 
11
- class LearningObjectTypeEnumValue < T::Enum
11
+ class AssignmentValue < T::Enum
12
12
  enums do
13
13
  CONTENT = new('content')
14
14
  COURSE = new('course')
15
- LEARNING_PATH = new('learning_path')
15
+ COLLECTION = new('collection')
16
16
  end
17
17
  end
18
18
  end
@@ -18,6 +18,7 @@ module StackOne
18
18
  MARKETING = new('marketing')
19
19
  LMS = new('lms')
20
20
  STACKONE = new('stackone')
21
+ FILE_STORAGE = new('file-storage')
21
22
  end
22
23
  end
23
24
  end
@@ -25,6 +25,12 @@ module StackOne
25
25
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('external_id') } }
26
26
  # The ID associated with this completion
27
27
  field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
28
+ # The learning_object_external_reference associated with this assignment
29
+ field :learning_object_external_reference, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_external_reference') } }
30
+ # The learning_object_id associated with this assignment
31
+ field :learning_object_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_id') } }
32
+ # The learning object type of the assignment
33
+ field :learning_object_type, T.nilable(::StackOne::Shared::CompletionLearningObjectType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('learning_object_type') } }
28
34
  # Provider's unique identifier of the content associated with the completion
29
35
  field :remote_content_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_content_id') } }
30
36
  # Provider's unique identifier of the course associated with the completion
@@ -33,6 +39,8 @@ module StackOne
33
39
  field :remote_external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_external_id') } }
34
40
  # Provider's unique identifier
35
41
  field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
42
+ # Provider's unique identifier of the learning object related to the assignment
43
+ field :remote_learning_object_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_learning_object_id') } }
36
44
  # Provider's unique identifier of the user related to the completion
37
45
  field :remote_user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_user_id') } }
38
46
  # The result of the completion
@@ -45,8 +53,8 @@ module StackOne
45
53
  field :user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('user_id') } }
46
54
 
47
55
 
48
- sig { params(completed_at: T.nilable(::String), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), course_id: T.nilable(::String), created_at: T.nilable(::String), external_id: T.nilable(::String), id: T.nilable(::String), remote_content_id: T.nilable(::String), remote_course_id: T.nilable(::String), remote_external_id: T.nilable(::String), remote_id: T.nilable(::String), remote_user_id: T.nilable(::String), result: T.nilable(::StackOne::Shared::CompletionSchemasResult), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::String), user_id: T.nilable(::String)).void }
49
- def initialize(completed_at: nil, content_external_reference: nil, content_id: nil, course_id: nil, created_at: nil, external_id: nil, id: nil, remote_content_id: nil, remote_course_id: nil, remote_external_id: nil, remote_id: nil, remote_user_id: nil, result: nil, unified_custom_fields: nil, updated_at: nil, user_id: nil)
56
+ sig { params(completed_at: T.nilable(::String), content_external_reference: T.nilable(::String), content_id: T.nilable(::String), course_id: T.nilable(::String), created_at: T.nilable(::String), external_id: 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(::StackOne::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(::StackOne::Shared::CompletionSchemasResult), unified_custom_fields: T.nilable(T::Hash[Symbol, ::Object]), updated_at: T.nilable(::String), user_id: T.nilable(::String)).void }
57
+ def initialize(completed_at: nil, content_external_reference: nil, content_id: nil, course_id: nil, created_at: nil, external_id: 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, unified_custom_fields: nil, updated_at: nil, user_id: nil)
50
58
  @completed_at = completed_at
51
59
  @content_external_reference = content_external_reference
52
60
  @content_id = content_id
@@ -54,10 +62,14 @@ module StackOne
54
62
  @created_at = created_at
55
63
  @external_id = external_id
56
64
  @id = id
65
+ @learning_object_external_reference = learning_object_external_reference
66
+ @learning_object_id = learning_object_id
67
+ @learning_object_type = learning_object_type
57
68
  @remote_content_id = remote_content_id
58
69
  @remote_course_id = remote_course_id
59
70
  @remote_external_id = remote_external_id
60
71
  @remote_id = remote_id
72
+ @remote_learning_object_id = remote_learning_object_id
61
73
  @remote_user_id = remote_user_id
62
74
  @result = result
63
75
  @unified_custom_fields = unified_custom_fields