rustici_software_cloud_v2 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +355 -356
  4. data/lib/rustici_software_cloud_v2/api/about_api.rb +4 -4
  5. data/lib/rustici_software_cloud_v2/api/application_management_api.rb +190 -62
  6. data/lib/rustici_software_cloud_v2/api/authentication_api.rb +9 -17
  7. data/lib/rustici_software_cloud_v2/api/course_api.rb +903 -196
  8. data/lib/rustici_software_cloud_v2/api/dispatch_api.rb +458 -268
  9. data/lib/rustici_software_cloud_v2/api/invitations_api.rb +212 -170
  10. data/lib/rustici_software_cloud_v2/api/learner_api.rb +48 -48
  11. data/lib/rustici_software_cloud_v2/api/ping_api.rb +2 -0
  12. data/lib/rustici_software_cloud_v2/api/registration_api.rb +255 -269
  13. data/lib/rustici_software_cloud_v2/api/reporting_api.rb +19 -23
  14. data/lib/rustici_software_cloud_v2/api/xapi_api.rb +81 -66
  15. data/lib/rustici_software_cloud_v2/api/zoomi_api.rb +124 -55
  16. data/lib/rustici_software_cloud_v2/api_client.rb +2 -2
  17. data/lib/rustici_software_cloud_v2/configuration.rb +3 -3
  18. data/lib/rustici_software_cloud_v2/models/about_schema.rb +3 -1
  19. data/lib/rustici_software_cloud_v2/models/activity_result_schema.rb +8 -36
  20. data/lib/rustici_software_cloud_v2/models/application_info_schema.rb +234 -0
  21. data/lib/rustici_software_cloud_v2/models/application_list_schema.rb +3 -1
  22. data/lib/rustici_software_cloud_v2/models/application_request_schema.rb +186 -0
  23. data/lib/rustici_software_cloud_v2/models/application_schema.rb +3 -1
  24. data/lib/rustici_software_cloud_v2/models/application_token.rb +3 -1
  25. data/lib/rustici_software_cloud_v2/models/asset_file_schema.rb +194 -0
  26. data/lib/rustici_software_cloud_v2/models/batch_tags_schema.rb +3 -1
  27. data/lib/rustici_software_cloud_v2/models/comment_schema.rb +3 -1
  28. data/lib/rustici_software_cloud_v2/models/completion_amount_schema.rb +3 -1
  29. data/lib/rustici_software_cloud_v2/models/course_activity_schema.rb +5 -29
  30. data/lib/rustici_software_cloud_v2/models/course_list_non_paged_schema.rb +3 -1
  31. data/lib/rustici_software_cloud_v2/models/course_list_schema.rb +4 -1
  32. data/lib/rustici_software_cloud_v2/models/course_reference_schema.rb +3 -1
  33. data/lib/rustici_software_cloud_v2/models/course_schema.rb +5 -29
  34. data/lib/rustici_software_cloud_v2/models/create_dispatch_id_schema.rb +2 -19
  35. data/lib/rustici_software_cloud_v2/models/create_dispatch_list_schema.rb +3 -1
  36. data/lib/rustici_software_cloud_v2/models/create_dispatch_schema.rb +4 -2
  37. data/lib/rustici_software_cloud_v2/models/create_private_invitation_schema.rb +4 -2
  38. data/lib/rustici_software_cloud_v2/models/create_public_invitation_schema.rb +4 -2
  39. data/lib/rustici_software_cloud_v2/models/create_registration_schema.rb +3 -1
  40. data/lib/rustici_software_cloud_v2/models/credential_created_schema.rb +3 -1
  41. data/lib/rustici_software_cloud_v2/models/credential_list_schema.rb +3 -1
  42. data/lib/rustici_software_cloud_v2/models/credential_request_schema.rb +3 -1
  43. data/lib/rustici_software_cloud_v2/models/credential_schema.rb +3 -1
  44. data/lib/rustici_software_cloud_v2/models/destination_id_schema.rb +3 -1
  45. data/lib/rustici_software_cloud_v2/models/destination_list_schema.rb +4 -2
  46. data/lib/rustici_software_cloud_v2/models/destination_schema.rb +3 -1
  47. data/lib/rustici_software_cloud_v2/models/dispatch_id_schema.rb +3 -1
  48. data/lib/rustici_software_cloud_v2/models/dispatch_list_schema.rb +4 -1
  49. data/lib/rustici_software_cloud_v2/models/dispatch_lti_info_schema.rb +221 -0
  50. data/lib/rustici_software_cloud_v2/models/dispatch_registration_count_schema.rb +3 -1
  51. data/lib/rustici_software_cloud_v2/models/dispatch_schema.rb +43 -3
  52. data/lib/rustici_software_cloud_v2/models/enabled_schema.rb +3 -1
  53. data/lib/rustici_software_cloud_v2/models/file_list_item_schema.rb +205 -0
  54. data/lib/rustici_software_cloud_v2/models/file_list_schema.rb +187 -0
  55. data/lib/rustici_software_cloud_v2/models/import_asset_request_schema.rb +207 -0
  56. data/lib/rustici_software_cloud_v2/models/import_fetch_request_schema.rb +29 -6
  57. data/lib/rustici_software_cloud_v2/models/import_job_result_schema.rb +5 -29
  58. data/lib/rustici_software_cloud_v2/models/import_media_file_reference_request_schema.rb +216 -0
  59. data/lib/rustici_software_cloud_v2/models/import_request_schema.rb +195 -0
  60. data/lib/rustici_software_cloud_v2/models/import_result_schema.rb +3 -1
  61. data/lib/rustici_software_cloud_v2/models/integer_result_schema.rb +3 -1
  62. data/lib/rustici_software_cloud_v2/models/invitation_email_schema.rb +3 -1
  63. data/lib/rustici_software_cloud_v2/models/invitation_job_status_schema.rb +5 -29
  64. data/lib/rustici_software_cloud_v2/models/invitation_summary_list.rb +4 -1
  65. data/lib/rustici_software_cloud_v2/models/invitation_summary_schema.rb +3 -1
  66. data/lib/rustici_software_cloud_v2/models/item_value_pair_schema.rb +3 -1
  67. data/lib/rustici_software_cloud_v2/models/launch_auth_options_schema.rb +3 -1
  68. data/lib/rustici_software_cloud_v2/models/launch_auth_schema.rb +5 -29
  69. data/lib/rustici_software_cloud_v2/models/launch_history_list_schema.rb +3 -1
  70. data/lib/rustici_software_cloud_v2/models/launch_history_schema.rb +8 -36
  71. data/lib/rustici_software_cloud_v2/models/launch_link_request_schema.rb +5 -3
  72. data/lib/rustici_software_cloud_v2/models/launch_link_schema.rb +3 -1
  73. data/lib/rustici_software_cloud_v2/models/learner_preference_schema.rb +3 -1
  74. data/lib/rustici_software_cloud_v2/models/learner_schema.rb +3 -1
  75. data/lib/rustici_software_cloud_v2/models/media_file_metadata_schema.rb +213 -0
  76. data/lib/rustici_software_cloud_v2/models/message_schema.rb +3 -1
  77. data/lib/rustici_software_cloud_v2/models/metadata_schema.rb +10 -8
  78. data/lib/rustici_software_cloud_v2/models/objective_schema.rb +11 -43
  79. data/lib/rustici_software_cloud_v2/models/permissions_schema.rb +3 -1
  80. data/lib/rustici_software_cloud_v2/models/ping_schema.rb +3 -1
  81. data/lib/rustici_software_cloud_v2/models/post_back_schema.rb +8 -36
  82. data/lib/rustici_software_cloud_v2/models/private_invitation_list.rb +4 -1
  83. data/lib/rustici_software_cloud_v2/models/private_invitation_schema.rb +5 -3
  84. data/lib/rustici_software_cloud_v2/models/private_invitation_update_schema.rb +215 -0
  85. data/lib/rustici_software_cloud_v2/models/public_invitation_list.rb +4 -1
  86. data/lib/rustici_software_cloud_v2/models/public_invitation_schema.rb +6 -4
  87. data/lib/rustici_software_cloud_v2/models/public_invitation_update_schema.rb +228 -0
  88. data/lib/rustici_software_cloud_v2/models/registration_list_schema.rb +4 -1
  89. data/lib/rustici_software_cloud_v2/models/registration_schema.rb +3 -1
  90. data/lib/rustici_software_cloud_v2/models/reportage_account_info_schema.rb +3 -1
  91. data/lib/rustici_software_cloud_v2/models/reportage_account_info_usage_schema.rb +3 -1
  92. data/lib/rustici_software_cloud_v2/models/reportage_auth_token_schema.rb +3 -1
  93. data/lib/rustici_software_cloud_v2/models/reportage_link_schema.rb +3 -1
  94. data/lib/rustici_software_cloud_v2/models/response_error.rb +3 -1
  95. data/lib/rustici_software_cloud_v2/models/runtime_interaction_schema.rb +5 -29
  96. data/lib/rustici_software_cloud_v2/models/runtime_objective_schema.rb +8 -36
  97. data/lib/rustici_software_cloud_v2/models/runtime_schema.rb +5 -29
  98. data/lib/rustici_software_cloud_v2/models/score_schema.rb +3 -1
  99. data/lib/rustici_software_cloud_v2/models/setting_item.rb +5 -29
  100. data/lib/rustici_software_cloud_v2/models/setting_list_schema.rb +3 -1
  101. data/lib/rustici_software_cloud_v2/models/setting_metadata.rb +5 -29
  102. data/lib/rustici_software_cloud_v2/models/setting_valid_value.rb +3 -1
  103. data/lib/rustici_software_cloud_v2/models/settings_individual_schema.rb +3 -1
  104. data/lib/rustici_software_cloud_v2/models/settings_post_schema.rb +3 -1
  105. data/lib/rustici_software_cloud_v2/models/shared_data_entry_schema.rb +3 -1
  106. data/lib/rustici_software_cloud_v2/models/static_properties_schema.rb +3 -1
  107. data/lib/rustici_software_cloud_v2/models/string_result_schema.rb +3 -1
  108. data/lib/rustici_software_cloud_v2/models/tag_list_schema.rb +3 -1
  109. data/lib/rustici_software_cloud_v2/models/title_schema.rb +3 -1
  110. data/lib/rustici_software_cloud_v2/models/token_request_schema.rb +3 -1
  111. data/lib/rustici_software_cloud_v2/models/update_application_schema.rb +196 -0
  112. data/lib/rustici_software_cloud_v2/models/update_dispatch_schema.rb +15 -3
  113. data/lib/rustici_software_cloud_v2/models/user_invitation_list.rb +4 -1
  114. data/lib/rustici_software_cloud_v2/models/user_invitation_schema.rb +3 -1
  115. data/lib/rustici_software_cloud_v2/models/user_invitation_schema_registration_report.rb +3 -1
  116. data/lib/rustici_software_cloud_v2/models/xapi_account.rb +3 -1
  117. data/lib/rustici_software_cloud_v2/models/xapi_activity.rb +3 -1
  118. data/lib/rustici_software_cloud_v2/models/xapi_activity_definition.rb +3 -1
  119. data/lib/rustici_software_cloud_v2/models/xapi_agent_group.rb +5 -29
  120. data/lib/rustici_software_cloud_v2/models/xapi_attachment.rb +3 -1
  121. data/lib/rustici_software_cloud_v2/models/xapi_context.rb +3 -1
  122. data/lib/rustici_software_cloud_v2/models/xapi_context_activity.rb +3 -1
  123. data/lib/rustici_software_cloud_v2/models/xapi_credential_auth_type_schema.rb +5 -29
  124. data/lib/rustici_software_cloud_v2/models/xapi_credential_permissions_level_schema.rb +5 -29
  125. data/lib/rustici_software_cloud_v2/models/xapi_credential_post_schema.rb +3 -1
  126. data/lib/rustici_software_cloud_v2/models/xapi_credential_put_schema.rb +3 -1
  127. data/lib/rustici_software_cloud_v2/models/xapi_credential_schema.rb +3 -1
  128. data/lib/rustici_software_cloud_v2/models/xapi_credentials_list_schema.rb +4 -1
  129. data/lib/rustici_software_cloud_v2/models/xapi_endpoint_schema.rb +3 -1
  130. data/lib/rustici_software_cloud_v2/models/xapi_interaction_component.rb +3 -1
  131. data/lib/rustici_software_cloud_v2/models/xapi_result.rb +3 -1
  132. data/lib/rustici_software_cloud_v2/models/xapi_score.rb +3 -1
  133. data/lib/rustici_software_cloud_v2/models/xapi_statement.rb +3 -1
  134. data/lib/rustici_software_cloud_v2/models/xapi_statement_pipe_list_schema.rb +3 -1
  135. data/lib/rustici_software_cloud_v2/models/xapi_statement_pipe_post_schema.rb +3 -1
  136. data/lib/rustici_software_cloud_v2/models/xapi_statement_pipe_put_schema.rb +3 -1
  137. data/lib/rustici_software_cloud_v2/models/xapi_statement_pipe_schema.rb +3 -1
  138. data/lib/rustici_software_cloud_v2/models/xapi_statement_reference.rb +3 -1
  139. data/lib/rustici_software_cloud_v2/models/xapi_statement_result.rb +3 -1
  140. data/lib/rustici_software_cloud_v2/models/xapi_verb.rb +3 -1
  141. data/lib/rustici_software_cloud_v2/models/zoomi_company_id.rb +3 -1
  142. data/lib/rustici_software_cloud_v2/models/zoomi_course_options_schema.rb +13 -1
  143. data/lib/rustici_software_cloud_v2/version.rb +1 -1
  144. data/lib/rustici_software_cloud_v2.rb +13 -0
  145. data/rustici_software_cloud_v2.gemspec +2 -1
  146. data/spec/api_client_spec.rb +17 -0
  147. metadata +35 -2
@@ -19,35 +19,33 @@ module RusticiSoftwareCloudV2
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # Get a link to preview a course.
23
- # Returns the launch link to use to preview this course.
22
+ # Get a launch link to preview a Course
23
+ # Returns the launch link to use to preview the course. Course preview does not require an underlying registration. As such, no interactions will be tracked during the preview launch. Previews are meant to be a way to confirm the course looks and acts the way it should. >**Note:** >The cmi5 standard does not support the ability to preview a course. A launch link can be built for a cmi5 course, but visiting the link will result in an error page. More details can be found in this [article explaining the complications behind cmi5 preview launches](https://support.scorm.com/hc/en-us/articles/1260805676710).
24
24
  # @param course_id
25
25
  # @param launch_link_request
26
26
  # @param [Hash] opts the optional parameters
27
- # @option opts [String] :css_url
28
27
  # @return [LaunchLinkSchema]
29
28
  def build_course_preview_launch_link(course_id, launch_link_request, opts = {})
30
29
  data, _status_code, _headers = build_course_preview_launch_link_with_http_info(course_id, launch_link_request, opts)
31
30
  data
32
31
  end
33
32
 
34
- # Get a link to preview a course.
35
- # Returns the launch link to use to preview this course.
33
+ # Get a launch link to preview a Course
34
+ # Returns the launch link to use to preview the course. Course preview does not require an underlying registration. As such, no interactions will be tracked during the preview launch. Previews are meant to be a way to confirm the course looks and acts the way it should. >**Note:** >The cmi5 standard does not support the ability to preview a course. A launch link can be built for a cmi5 course, but visiting the link will result in an error page. More details can be found in this [article explaining the complications behind cmi5 preview launches](https://support.scorm.com/hc/en-us/articles/1260805676710).
36
35
  # @param course_id
37
36
  # @param launch_link_request
38
37
  # @param [Hash] opts the optional parameters
39
- # @option opts [String] :css_url
40
38
  # @return [Array<(LaunchLinkSchema, Fixnum, Hash)>] LaunchLinkSchema data, response status code and response headers
41
39
  def build_course_preview_launch_link_with_http_info(course_id, launch_link_request, opts = {})
42
40
  if @api_client.config.debugging
43
41
  @api_client.config.logger.debug 'Calling API: CourseApi.build_course_preview_launch_link ...'
44
42
  end
45
43
  # verify the required parameter 'course_id' is set
46
- if @api_client.config.client_side_validation && course_id.nil?
44
+ if course_id.nil?
47
45
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.build_course_preview_launch_link"
48
46
  end
49
47
  # verify the required parameter 'launch_link_request' is set
50
- if @api_client.config.client_side_validation && launch_link_request.nil?
48
+ if launch_link_request.nil?
51
49
  fail ArgumentError, "Missing the required parameter 'launch_link_request' when calling CourseApi.build_course_preview_launch_link"
52
50
  end
53
51
  # resource path
@@ -55,7 +53,6 @@ module RusticiSoftwareCloudV2
55
53
 
56
54
  # query parameters
57
55
  query_params = {}
58
- query_params[:'cssUrl'] = opts[:'css_url'] if !opts[:'css_url'].nil?
59
56
 
60
57
  # header parameters
61
58
  header_params = {}
@@ -82,10 +79,10 @@ module RusticiSoftwareCloudV2
82
79
  end
83
80
  return data, status_code, headers
84
81
  end
85
- # Get a link to preview a particular course version.
86
- # Returns the link to use to preview a particular version of a course.
82
+ # Get a launch link to preview a Course Version
83
+ # Returns the launch link to use to preview the course version. Course preview does not require an underlying registration. As such, no interactions will be tracked during the preview launch. Previews are meant to be a way to confirm the course looks and acts the way it should. >**Note:** >The cmi5 standard does not support the ability to preview a course. A launch link can be built for a cmi5 course, but visiting the link will result in an error page. More details can be found in this [article explaining the complications behind cmi5 preview launches](https://support.scorm.com/hc/en-us/articles/1260805676710).
87
84
  # @param course_id
88
- # @param version_id The course version
85
+ # @param version_id
89
86
  # @param launch_link_request
90
87
  # @param [Hash] opts the optional parameters
91
88
  # @return [LaunchLinkSchema]
@@ -94,10 +91,10 @@ module RusticiSoftwareCloudV2
94
91
  data
95
92
  end
96
93
 
97
- # Get a link to preview a particular course version.
98
- # Returns the link to use to preview a particular version of a course.
94
+ # Get a launch link to preview a Course Version
95
+ # Returns the launch link to use to preview the course version. Course preview does not require an underlying registration. As such, no interactions will be tracked during the preview launch. Previews are meant to be a way to confirm the course looks and acts the way it should. &gt;**Note:** &gt;The cmi5 standard does not support the ability to preview a course. A launch link can be built for a cmi5 course, but visiting the link will result in an error page. More details can be found in this [article explaining the complications behind cmi5 preview launches](https://support.scorm.com/hc/en-us/articles/1260805676710).
99
96
  # @param course_id
100
- # @param version_id The course version
97
+ # @param version_id
101
98
  # @param launch_link_request
102
99
  # @param [Hash] opts the optional parameters
103
100
  # @return [Array<(LaunchLinkSchema, Fixnum, Hash)>] LaunchLinkSchema data, response status code and response headers
@@ -106,15 +103,15 @@ module RusticiSoftwareCloudV2
106
103
  @api_client.config.logger.debug 'Calling API: CourseApi.build_course_preview_launch_link_with_version ...'
107
104
  end
108
105
  # verify the required parameter 'course_id' is set
109
- if @api_client.config.client_side_validation && course_id.nil?
106
+ if course_id.nil?
110
107
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.build_course_preview_launch_link_with_version"
111
108
  end
112
109
  # verify the required parameter 'version_id' is set
113
- if @api_client.config.client_side_validation && version_id.nil?
110
+ if version_id.nil?
114
111
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.build_course_preview_launch_link_with_version"
115
112
  end
116
113
  # verify the required parameter 'launch_link_request' is set
117
- if @api_client.config.client_side_validation && launch_link_request.nil?
114
+ if launch_link_request.nil?
118
115
  fail ArgumentError, "Missing the required parameter 'launch_link_request' when calling CourseApi.build_course_preview_launch_link_with_version"
119
116
  end
120
117
  # resource path
@@ -148,8 +145,8 @@ module RusticiSoftwareCloudV2
148
145
  end
149
146
  return data, status_code, headers
150
147
  end
151
- # Fetch and import a course.
152
- # An import job will be started to fetch and import the referenced file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.
148
+ # Create a Course from a package fetched from an external source
149
+ # Creates a course from a package fetched and imported from the provided url. The package will be downloaded from the url and stored in SCORM Cloud. An import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. >**Note:** >The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
153
150
  # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
154
151
  # @param import_request
155
152
  # @param [Hash] opts the optional parameters
@@ -161,8 +158,8 @@ module RusticiSoftwareCloudV2
161
158
  data
162
159
  end
163
160
 
164
- # Fetch and import a course.
165
- # An import job will be started to fetch and import the referenced file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.
161
+ # Create a Course from a package fetched from an external source
162
+ # Creates a course from a package fetched and imported from the provided url. The package will be downloaded from the url and stored in SCORM Cloud. An import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. &gt;**Note:** &gt;The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
166
163
  # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
167
164
  # @param import_request
168
165
  # @param [Hash] opts the optional parameters
@@ -174,11 +171,11 @@ module RusticiSoftwareCloudV2
174
171
  @api_client.config.logger.debug 'Calling API: CourseApi.create_fetch_and_import_course_job ...'
175
172
  end
176
173
  # verify the required parameter 'course_id' is set
177
- if @api_client.config.client_side_validation && course_id.nil?
174
+ if course_id.nil?
178
175
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.create_fetch_and_import_course_job"
179
176
  end
180
177
  # verify the required parameter 'import_request' is set
181
- if @api_client.config.client_side_validation && import_request.nil?
178
+ if import_request.nil?
182
179
  fail ArgumentError, "Missing the required parameter 'import_request' when calling CourseApi.create_fetch_and_import_course_job"
183
180
  end
184
181
  # resource path
@@ -215,33 +212,104 @@ module RusticiSoftwareCloudV2
215
212
  end
216
213
  return data, status_code, headers
217
214
  end
218
- # Upload and import a course.
219
- # An import job will be started to import the posted file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.
215
+ # Create a Course from a fetched or referenced external media file
216
+ # Creates a course from one of two methods, fetchRequest or mediaFileReferenceRequest. In either case, an import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. - A fetchRequest performs the same actions as CreateFetchAndImportCourseJob. A course will be created from a package fetched from the provided url. The package will be downloaded from the url and stored in SCORM Cloud. - A mediaFileReferenceRequest will not store the file in SCORM Cloud. Instead it will reference the media file at the time the learner needs to view the file from the provided url. >**Note:** >The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes. >**Info:** >Unless working with media files, it is typical to use one of the other two import methods. >- CreateUploadAndImportCourseJob would be used if the course is in your local file system. >- CreateFetchAndImportCourseJob would be better suited for situations where the course is uploaded remotely but is accessible via a public url.
217
+ # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
218
+ # @param import_request
219
+ # @param [Hash] opts the optional parameters
220
+ # @option opts [BOOLEAN] :may_create_new_version Is it OK to create a new version of this course? If this is set to false and the course already exists, the upload will fail. If true and the course already exists then a new version will be created. No effect if the course doesn&#39;t already exist. (default to false)
221
+ # @option opts [String] :postback_url An optional parameter that specifies a URL to send a postback to when the course has finished uploading.
222
+ # @return [StringResultSchema]
223
+ def create_no_upload_and_import_course_job(course_id, import_request, opts = {})
224
+ data, _status_code, _headers = create_no_upload_and_import_course_job_with_http_info(course_id, import_request, opts)
225
+ data
226
+ end
227
+
228
+ # Create a Course from a fetched or referenced external media file
229
+ # Creates a course from one of two methods, fetchRequest or mediaFileReferenceRequest. In either case, an import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. - A fetchRequest performs the same actions as CreateFetchAndImportCourseJob. A course will be created from a package fetched from the provided url. The package will be downloaded from the url and stored in SCORM Cloud. - A mediaFileReferenceRequest will not store the file in SCORM Cloud. Instead it will reference the media file at the time the learner needs to view the file from the provided url. &gt;**Note:** &gt;The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes. &gt;**Info:** &gt;Unless working with media files, it is typical to use one of the other two import methods. &gt;- CreateUploadAndImportCourseJob would be used if the course is in your local file system. &gt;- CreateFetchAndImportCourseJob would be better suited for situations where the course is uploaded remotely but is accessible via a public url.
230
+ # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
231
+ # @param import_request
232
+ # @param [Hash] opts the optional parameters
233
+ # @option opts [BOOLEAN] :may_create_new_version Is it OK to create a new version of this course? If this is set to false and the course already exists, the upload will fail. If true and the course already exists then a new version will be created. No effect if the course doesn&#39;t already exist.
234
+ # @option opts [String] :postback_url An optional parameter that specifies a URL to send a postback to when the course has finished uploading.
235
+ # @return [Array<(StringResultSchema, Fixnum, Hash)>] StringResultSchema data, response status code and response headers
236
+ def create_no_upload_and_import_course_job_with_http_info(course_id, import_request, opts = {})
237
+ if @api_client.config.debugging
238
+ @api_client.config.logger.debug 'Calling API: CourseApi.create_no_upload_and_import_course_job ...'
239
+ end
240
+ # verify the required parameter 'course_id' is set
241
+ if course_id.nil?
242
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.create_no_upload_and_import_course_job"
243
+ end
244
+ # verify the required parameter 'import_request' is set
245
+ if import_request.nil?
246
+ fail ArgumentError, "Missing the required parameter 'import_request' when calling CourseApi.create_no_upload_and_import_course_job"
247
+ end
248
+ # resource path
249
+ local_var_path = '/courses/importJobs/noUpload'
250
+
251
+ # query parameters
252
+ query_params = {}
253
+ query_params[:'courseId'] = course_id
254
+ query_params[:'mayCreateNewVersion'] = opts[:'may_create_new_version'] if !opts[:'may_create_new_version'].nil?
255
+ query_params[:'postbackUrl'] = opts[:'postback_url'] if !opts[:'postback_url'].nil?
256
+
257
+ # header parameters
258
+ header_params = {}
259
+ # HTTP header 'Accept' (if needed)
260
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
261
+ # HTTP header 'Content-Type'
262
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
263
+
264
+ # form parameters
265
+ form_params = {}
266
+
267
+ # http body (model)
268
+ post_body = @api_client.object_to_http_body(import_request)
269
+ auth_names = ['APP_NORMAL', 'OAUTH']
270
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
271
+ :header_params => header_params,
272
+ :query_params => query_params,
273
+ :form_params => form_params,
274
+ :body => post_body,
275
+ :auth_names => auth_names,
276
+ :return_type => 'StringResultSchema')
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug "API called: CourseApi#create_no_upload_and_import_course_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
279
+ end
280
+ return data, status_code, headers
281
+ end
282
+ # Create a Course from an uploaded package
283
+ # Creates a course from a package uploaded from your file system. The package will be sent as part of the request and will be stored in SCORM Cloud. An import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. >**Note:** >The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
220
284
  # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
221
285
  # @param [Hash] opts the optional parameters
222
286
  # @option opts [BOOLEAN] :may_create_new_version Is it OK to create a new version of this course? If this is set to false and the course already exists, the upload will fail. If true and the course already exists then a new version will be created. No effect if the course doesn&#39;t already exist. (default to false)
223
287
  # @option opts [String] :postback_url An optional parameter that specifies a URL to send a postback to when the course has finished uploading.
224
- # @option opts [File] :file The zip file of the course contents to import.
288
+ # @option opts [String] :uploaded_content_type The MIME type identifier for the content to be uploaded. This is required if uploading a media file (.pdf, .mp3, or .mp4). (default to application/zip)
289
+ # @option opts [String] :content_metadata Serialized &#39;mediaFileMetadata&#39; schema.
290
+ # @option opts [File] :file The zip file of the course contents to import.
225
291
  # @return [StringResultSchema]
226
292
  def create_upload_and_import_course_job(course_id, opts = {})
227
293
  data, _status_code, _headers = create_upload_and_import_course_job_with_http_info(course_id, opts)
228
294
  data
229
295
  end
230
296
 
231
- # Upload and import a course.
232
- # An import job will be started to import the posted file, and the import job ID will be returned. If the import is successful, the imported course will be registered using the courseId provided. To check the progress of the import job, GetImportJobStatus should be called with the job ID returned from this call.
297
+ # Create a Course from an uploaded package
298
+ # Creates a course from a package uploaded from your file system. The package will be sent as part of the request and will be stored in SCORM Cloud. An import job ID will be returned, which can be used with GetImportJobStatus to view the status of the import. Courses represent the learning material a learner will progress through. &gt;**Note:** &gt;The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
233
299
  # @param course_id A unique identifier your application will use to identify the course after import. Your application is responsible both for generating this unique ID and for keeping track of the ID for later use.
234
300
  # @param [Hash] opts the optional parameters
235
301
  # @option opts [BOOLEAN] :may_create_new_version Is it OK to create a new version of this course? If this is set to false and the course already exists, the upload will fail. If true and the course already exists then a new version will be created. No effect if the course doesn&#39;t already exist.
236
302
  # @option opts [String] :postback_url An optional parameter that specifies a URL to send a postback to when the course has finished uploading.
237
- # @option opts [File] :file The zip file of the course contents to import.
303
+ # @option opts [String] :uploaded_content_type The MIME type identifier for the content to be uploaded. This is required if uploading a media file (.pdf, .mp3, or .mp4).
304
+ # @option opts [String] :content_metadata Serialized &#39;mediaFileMetadata&#39; schema.
305
+ # @option opts [File] :file The zip file of the course contents to import.
238
306
  # @return [Array<(StringResultSchema, Fixnum, Hash)>] StringResultSchema data, response status code and response headers
239
307
  def create_upload_and_import_course_job_with_http_info(course_id, opts = {})
240
308
  if @api_client.config.debugging
241
309
  @api_client.config.logger.debug 'Calling API: CourseApi.create_upload_and_import_course_job ...'
242
310
  end
243
311
  # verify the required parameter 'course_id' is set
244
- if @api_client.config.client_side_validation && course_id.nil?
312
+ if course_id.nil?
245
313
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.create_upload_and_import_course_job"
246
314
  end
247
315
  # resource path
@@ -259,9 +327,11 @@ module RusticiSoftwareCloudV2
259
327
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
260
328
  # HTTP header 'Content-Type'
261
329
  header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
330
+ header_params[:'uploadedContentType'] = opts[:'uploaded_content_type'] if !opts[:'uploaded_content_type'].nil?
262
331
 
263
332
  # form parameters
264
333
  form_params = {}
334
+ form_params['contentMetadata'] = opts[:'content_metadata'] if !opts[:'content_metadata'].nil?
265
335
  form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
266
336
 
267
337
  # http body (model)
@@ -279,8 +349,8 @@ module RusticiSoftwareCloudV2
279
349
  end
280
350
  return data, status_code, headers
281
351
  end
282
- # Delete a course.
283
- # Delete course identified by `courseId`. When a course is deleted, so is everything connected to this course. This includes: - Registrations - Invitations - Dispatches - Debug Logs
352
+ # Delete a Course
353
+ # Deletes the specified course. >**Caution:** >When a course is deleted, so is everything connected to the course. This includes: >- Registrations >- Invitations >- Dispatches >- Debug Logs
284
354
  # @param course_id
285
355
  # @param [Hash] opts the optional parameters
286
356
  # @return [nil]
@@ -289,8 +359,8 @@ module RusticiSoftwareCloudV2
289
359
  nil
290
360
  end
291
361
 
292
- # Delete a course.
293
- # Delete course identified by &#x60;courseId&#x60;. When a course is deleted, so is everything connected to this course. This includes: - Registrations - Invitations - Dispatches - Debug Logs
362
+ # Delete a Course
363
+ # Deletes the specified course. &gt;**Caution:** &gt;When a course is deleted, so is everything connected to the course. This includes: &gt;- Registrations &gt;- Invitations &gt;- Dispatches &gt;- Debug Logs
294
364
  # @param course_id
295
365
  # @param [Hash] opts the optional parameters
296
366
  # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
@@ -299,7 +369,7 @@ module RusticiSoftwareCloudV2
299
369
  @api_client.config.logger.debug 'Calling API: CourseApi.delete_course ...'
300
370
  end
301
371
  # verify the required parameter 'course_id' is set
302
- if @api_client.config.client_side_validation && course_id.nil?
372
+ if course_id.nil?
303
373
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course"
304
374
  end
305
375
  # resource path
@@ -332,8 +402,68 @@ module RusticiSoftwareCloudV2
332
402
  end
333
403
  return data, status_code, headers
334
404
  end
335
- # Clear a course configuration.
336
- # Clears the value of the given `settingId` for this course. The effective setting value will become any value set at the application level (if this value is set at the application level) or the default setting.
405
+ # Delete an asset file from a Course
406
+ # Deletes the asset file at the specified relative path from the latest version of the course. GetCourseFileList can be used to find the relative path of the file. >**Caution:** >This may have unintended consequences if the asset is still being linked to in other files in the course. Make sure that other files relying on this asset are modified or removed as well. This can be done with the ImportCourseAssetFile or UploadCourseAssetFile endpoints.
407
+ # @param course_id
408
+ # @param relative_path Relative path of the asset within the course.
409
+ # @param [Hash] opts the optional parameters
410
+ # @return [nil]
411
+ def delete_course_asset(course_id, relative_path, opts = {})
412
+ delete_course_asset_with_http_info(course_id, relative_path, opts)
413
+ nil
414
+ end
415
+
416
+ # Delete an asset file from a Course
417
+ # Deletes the asset file at the specified relative path from the latest version of the course. GetCourseFileList can be used to find the relative path of the file. &gt;**Caution:** &gt;This may have unintended consequences if the asset is still being linked to in other files in the course. Make sure that other files relying on this asset are modified or removed as well. This can be done with the ImportCourseAssetFile or UploadCourseAssetFile endpoints.
418
+ # @param course_id
419
+ # @param relative_path Relative path of the asset within the course.
420
+ # @param [Hash] opts the optional parameters
421
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
422
+ def delete_course_asset_with_http_info(course_id, relative_path, opts = {})
423
+ if @api_client.config.debugging
424
+ @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_asset ...'
425
+ end
426
+ # verify the required parameter 'course_id' is set
427
+ if course_id.nil?
428
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_asset"
429
+ end
430
+ # verify the required parameter 'relative_path' is set
431
+ if relative_path.nil?
432
+ fail ArgumentError, "Missing the required parameter 'relative_path' when calling CourseApi.delete_course_asset"
433
+ end
434
+ # resource path
435
+ local_var_path = '/courses/{courseId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s)
436
+
437
+ # query parameters
438
+ query_params = {}
439
+ query_params[:'relativePath'] = relative_path
440
+
441
+ # header parameters
442
+ header_params = {}
443
+ # HTTP header 'Accept' (if needed)
444
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
445
+ # HTTP header 'Content-Type'
446
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
447
+
448
+ # form parameters
449
+ form_params = {}
450
+
451
+ # http body (model)
452
+ post_body = nil
453
+ auth_names = ['APP_NORMAL', 'OAUTH']
454
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
455
+ :header_params => header_params,
456
+ :query_params => query_params,
457
+ :form_params => form_params,
458
+ :body => post_body,
459
+ :auth_names => auth_names)
460
+ if @api_client.config.debugging
461
+ @api_client.config.logger.debug "API called: CourseApi#delete_course_asset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
462
+ end
463
+ return data, status_code, headers
464
+ end
465
+ # Delete a configuration setting explicitly set for a Course
466
+ # Clears the specified setting from the course. This causes the setting to inherit a value from a higher level (e.g. application). If the configuration setting was not set at the course level it will continue to persist and will require deletion from the level it was set.
337
467
  # @param course_id
338
468
  # @param setting_id
339
469
  # @param [Hash] opts the optional parameters
@@ -343,8 +473,8 @@ module RusticiSoftwareCloudV2
343
473
  nil
344
474
  end
345
475
 
346
- # Clear a course configuration.
347
- # Clears the value of the given &#x60;settingId&#x60; for this course. The effective setting value will become any value set at the application level (if this value is set at the application level) or the default setting.
476
+ # Delete a configuration setting explicitly set for a Course
477
+ # Clears the specified setting from the course. This causes the setting to inherit a value from a higher level (e.g. application). If the configuration setting was not set at the course level it will continue to persist and will require deletion from the level it was set.
348
478
  # @param course_id
349
479
  # @param setting_id
350
480
  # @param [Hash] opts the optional parameters
@@ -354,11 +484,11 @@ module RusticiSoftwareCloudV2
354
484
  @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_configuration_setting ...'
355
485
  end
356
486
  # verify the required parameter 'course_id' is set
357
- if @api_client.config.client_side_validation && course_id.nil?
487
+ if course_id.nil?
358
488
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_configuration_setting"
359
489
  end
360
490
  # verify the required parameter 'setting_id' is set
361
- if @api_client.config.client_side_validation && setting_id.nil?
491
+ if setting_id.nil?
362
492
  fail ArgumentError, "Missing the required parameter 'setting_id' when calling CourseApi.delete_course_configuration_setting"
363
493
  end
364
494
  # resource path
@@ -391,8 +521,8 @@ module RusticiSoftwareCloudV2
391
521
  end
392
522
  return data, status_code, headers
393
523
  end
394
- # Delete course tags.
395
- # Delete the provided tags from this course.
524
+ # Delete tags from a Course
525
+ # Deletes the specified tags from the course. Deleting tags that do not exist will still result in a success.
396
526
  # @param course_id
397
527
  # @param tags
398
528
  # @param [Hash] opts the optional parameters
@@ -402,8 +532,8 @@ module RusticiSoftwareCloudV2
402
532
  nil
403
533
  end
404
534
 
405
- # Delete course tags.
406
- # Delete the provided tags from this course.
535
+ # Delete tags from a Course
536
+ # Deletes the specified tags from the course. Deleting tags that do not exist will still result in a success.
407
537
  # @param course_id
408
538
  # @param tags
409
539
  # @param [Hash] opts the optional parameters
@@ -413,11 +543,11 @@ module RusticiSoftwareCloudV2
413
543
  @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_tags ...'
414
544
  end
415
545
  # verify the required parameter 'course_id' is set
416
- if @api_client.config.client_side_validation && course_id.nil?
546
+ if course_id.nil?
417
547
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_tags"
418
548
  end
419
549
  # verify the required parameter 'tags' is set
420
- if @api_client.config.client_side_validation && tags.nil?
550
+ if tags.nil?
421
551
  fail ArgumentError, "Missing the required parameter 'tags' when calling CourseApi.delete_course_tags"
422
552
  end
423
553
  # resource path
@@ -450,10 +580,10 @@ module RusticiSoftwareCloudV2
450
580
  end
451
581
  return data, status_code, headers
452
582
  end
453
- # Delete a course version.
454
- # Delete `versionId` of `courseId`. If this is the last remaining version of this course, the course itself will be deleted and no longer accessible.
583
+ # Delete a Course Version
584
+ # Deletes the specified version of the course. If deleting the last remaining version of the course, the course itself will be deleted and no longer accessible. >**Caution:** >When a course is deleted, so is everything connected to this course. This includes: >- Registrations >- Invitations >- Dispatches >- Debug Logs
455
585
  # @param course_id
456
- # @param version_id The course version
586
+ # @param version_id
457
587
  # @param [Hash] opts the optional parameters
458
588
  # @return [nil]
459
589
  def delete_course_version(course_id, version_id, opts = {})
@@ -461,10 +591,10 @@ module RusticiSoftwareCloudV2
461
591
  nil
462
592
  end
463
593
 
464
- # Delete a course version.
465
- # Delete &#x60;versionId&#x60; of &#x60;courseId&#x60;. If this is the last remaining version of this course, the course itself will be deleted and no longer accessible.
594
+ # Delete a Course Version
595
+ # Deletes the specified version of the course. If deleting the last remaining version of the course, the course itself will be deleted and no longer accessible. &gt;**Caution:** &gt;When a course is deleted, so is everything connected to this course. This includes: &gt;- Registrations &gt;- Invitations &gt;- Dispatches &gt;- Debug Logs
466
596
  # @param course_id
467
- # @param version_id The course version
597
+ # @param version_id
468
598
  # @param [Hash] opts the optional parameters
469
599
  # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
470
600
  def delete_course_version_with_http_info(course_id, version_id, opts = {})
@@ -472,11 +602,11 @@ module RusticiSoftwareCloudV2
472
602
  @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_version ...'
473
603
  end
474
604
  # verify the required parameter 'course_id' is set
475
- if @api_client.config.client_side_validation && course_id.nil?
605
+ if course_id.nil?
476
606
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_version"
477
607
  end
478
608
  # verify the required parameter 'version_id' is set
479
- if @api_client.config.client_side_validation && version_id.nil?
609
+ if version_id.nil?
480
610
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.delete_course_version"
481
611
  end
482
612
  # resource path
@@ -509,10 +639,76 @@ module RusticiSoftwareCloudV2
509
639
  end
510
640
  return data, status_code, headers
511
641
  end
512
- # Clear a configuration setting for a version of a course.
513
- # Clears the `settingId` value for this course and version.
642
+ # Delete an asset file from a Course Version
643
+ # Deletes the asset file at the specified relative path from the course version. GetCourseVersionFileList can be used to find the relative path of the file. >**Caution:** >This may have unintended consequences if the asset is still being linked to in other files in the course. Make sure that other files relying on this asset are modified or removed as well. This can be done with the ImportCourseVersionAssetFile or UploadCourseVersionAssetFile endpoints.
644
+ # @param course_id
645
+ # @param version_id
646
+ # @param relative_path Relative path of the asset within the course.
647
+ # @param [Hash] opts the optional parameters
648
+ # @return [nil]
649
+ def delete_course_version_asset(course_id, version_id, relative_path, opts = {})
650
+ delete_course_version_asset_with_http_info(course_id, version_id, relative_path, opts)
651
+ nil
652
+ end
653
+
654
+ # Delete an asset file from a Course Version
655
+ # Deletes the asset file at the specified relative path from the course version. GetCourseVersionFileList can be used to find the relative path of the file. &gt;**Caution:** &gt;This may have unintended consequences if the asset is still being linked to in other files in the course. Make sure that other files relying on this asset are modified or removed as well. This can be done with the ImportCourseVersionAssetFile or UploadCourseVersionAssetFile endpoints.
656
+ # @param course_id
657
+ # @param version_id
658
+ # @param relative_path Relative path of the asset within the course.
659
+ # @param [Hash] opts the optional parameters
660
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
661
+ def delete_course_version_asset_with_http_info(course_id, version_id, relative_path, opts = {})
662
+ if @api_client.config.debugging
663
+ @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_version_asset ...'
664
+ end
665
+ # verify the required parameter 'course_id' is set
666
+ if course_id.nil?
667
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_version_asset"
668
+ end
669
+ # verify the required parameter 'version_id' is set
670
+ if version_id.nil?
671
+ fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.delete_course_version_asset"
672
+ end
673
+ # verify the required parameter 'relative_path' is set
674
+ if relative_path.nil?
675
+ fail ArgumentError, "Missing the required parameter 'relative_path' when calling CourseApi.delete_course_version_asset"
676
+ end
677
+ # resource path
678
+ local_var_path = '/courses/{courseId}/versions/{versionId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s).sub('{' + 'versionId' + '}', version_id.to_s)
679
+
680
+ # query parameters
681
+ query_params = {}
682
+ query_params[:'relativePath'] = relative_path
683
+
684
+ # header parameters
685
+ header_params = {}
686
+ # HTTP header 'Accept' (if needed)
687
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
688
+ # HTTP header 'Content-Type'
689
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
690
+
691
+ # form parameters
692
+ form_params = {}
693
+
694
+ # http body (model)
695
+ post_body = nil
696
+ auth_names = ['APP_NORMAL', 'OAUTH']
697
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
698
+ :header_params => header_params,
699
+ :query_params => query_params,
700
+ :form_params => form_params,
701
+ :body => post_body,
702
+ :auth_names => auth_names)
703
+ if @api_client.config.debugging
704
+ @api_client.config.logger.debug "API called: CourseApi#delete_course_version_asset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
705
+ end
706
+ return data, status_code, headers
707
+ end
708
+ # Delete a configuration setting explicitly set for a Course Version
709
+ # Clears the specified setting from the course version. This causes the setting to inherit a value from a higher level (e.g. application). If the configuration setting was not set at the course level it will continue to persist and will require deletion from the level it was set.
514
710
  # @param course_id
515
- # @param version_id The course version
711
+ # @param version_id
516
712
  # @param setting_id
517
713
  # @param [Hash] opts the optional parameters
518
714
  # @return [nil]
@@ -521,10 +717,10 @@ module RusticiSoftwareCloudV2
521
717
  nil
522
718
  end
523
719
 
524
- # Clear a configuration setting for a version of a course.
525
- # Clears the &#x60;settingId&#x60; value for this course and version.
720
+ # Delete a configuration setting explicitly set for a Course Version
721
+ # Clears the specified setting from the course version. This causes the setting to inherit a value from a higher level (e.g. application). If the configuration setting was not set at the course level it will continue to persist and will require deletion from the level it was set.
526
722
  # @param course_id
527
- # @param version_id The course version
723
+ # @param version_id
528
724
  # @param setting_id
529
725
  # @param [Hash] opts the optional parameters
530
726
  # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
@@ -533,15 +729,15 @@ module RusticiSoftwareCloudV2
533
729
  @api_client.config.logger.debug 'Calling API: CourseApi.delete_course_version_configuration_setting ...'
534
730
  end
535
731
  # verify the required parameter 'course_id' is set
536
- if @api_client.config.client_side_validation && course_id.nil?
732
+ if course_id.nil?
537
733
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.delete_course_version_configuration_setting"
538
734
  end
539
735
  # verify the required parameter 'version_id' is set
540
- if @api_client.config.client_side_validation && version_id.nil?
736
+ if version_id.nil?
541
737
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.delete_course_version_configuration_setting"
542
738
  end
543
739
  # verify the required parameter 'setting_id' is set
544
- if @api_client.config.client_side_validation && setting_id.nil?
740
+ if setting_id.nil?
545
741
  fail ArgumentError, "Missing the required parameter 'setting_id' when calling CourseApi.delete_course_version_configuration_setting"
546
742
  end
547
743
  # resource path
@@ -574,8 +770,8 @@ module RusticiSoftwareCloudV2
574
770
  end
575
771
  return data, status_code, headers
576
772
  end
577
- # Get course details.
578
- # Get detailed information about `courseId`. Futher detail can be obtained with the optional query parameters flags.
773
+ # Get detailed information about a Course
774
+ # Returns detailed information about the course. This includes title, update date, learning standard, and version.
579
775
  # @param course_id
580
776
  # @param [Hash] opts the optional parameters
581
777
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results (default to false)
@@ -586,8 +782,8 @@ module RusticiSoftwareCloudV2
586
782
  data
587
783
  end
588
784
 
589
- # Get course details.
590
- # Get detailed information about &#x60;courseId&#x60;. Futher detail can be obtained with the optional query parameters flags.
785
+ # Get detailed information about a Course
786
+ # Returns detailed information about the course. This includes title, update date, learning standard, and version.
591
787
  # @param course_id
592
788
  # @param [Hash] opts the optional parameters
593
789
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results
@@ -598,7 +794,7 @@ module RusticiSoftwareCloudV2
598
794
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course ...'
599
795
  end
600
796
  # verify the required parameter 'course_id' is set
601
- if @api_client.config.client_side_validation && course_id.nil?
797
+ if course_id.nil?
602
798
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course"
603
799
  end
604
800
  # resource path
@@ -634,8 +830,69 @@ module RusticiSoftwareCloudV2
634
830
  end
635
831
  return data, status_code, headers
636
832
  end
637
- # Get course configuration.
638
- # Returns all effective configuration settings for this course. For any setting which is not explicitly set at the course level, the effective value will be either the value set at the application level (if there is one) or the default value for the setting.
833
+ # Download an asset file from a Course
834
+ # Downloads the asset file at the specified relative path from the latest version of the course. GetCourseFileList can be used to find the relative path of the file.
835
+ # @param course_id
836
+ # @param relative_path Relative path of the asset within the course.
837
+ # @param [Hash] opts the optional parameters
838
+ # @return [File]
839
+ def get_course_asset(course_id, relative_path, opts = {})
840
+ data, _status_code, _headers = get_course_asset_with_http_info(course_id, relative_path, opts)
841
+ data
842
+ end
843
+
844
+ # Download an asset file from a Course
845
+ # Downloads the asset file at the specified relative path from the latest version of the course. GetCourseFileList can be used to find the relative path of the file.
846
+ # @param course_id
847
+ # @param relative_path Relative path of the asset within the course.
848
+ # @param [Hash] opts the optional parameters
849
+ # @return [Array<(File, Fixnum, Hash)>] File data, response status code and response headers
850
+ def get_course_asset_with_http_info(course_id, relative_path, opts = {})
851
+ if @api_client.config.debugging
852
+ @api_client.config.logger.debug 'Calling API: CourseApi.get_course_asset ...'
853
+ end
854
+ # verify the required parameter 'course_id' is set
855
+ if course_id.nil?
856
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_asset"
857
+ end
858
+ # verify the required parameter 'relative_path' is set
859
+ if relative_path.nil?
860
+ fail ArgumentError, "Missing the required parameter 'relative_path' when calling CourseApi.get_course_asset"
861
+ end
862
+ # resource path
863
+ local_var_path = '/courses/{courseId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s)
864
+
865
+ # query parameters
866
+ query_params = {}
867
+ query_params[:'relativePath'] = relative_path
868
+
869
+ # header parameters
870
+ header_params = {}
871
+ # HTTP header 'Accept' (if needed)
872
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
873
+ # HTTP header 'Content-Type'
874
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
875
+
876
+ # form parameters
877
+ form_params = {}
878
+
879
+ # http body (model)
880
+ post_body = nil
881
+ auth_names = ['APP_NORMAL', 'OAUTH']
882
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
883
+ :header_params => header_params,
884
+ :query_params => query_params,
885
+ :form_params => form_params,
886
+ :body => post_body,
887
+ :auth_names => auth_names,
888
+ :return_type => 'File')
889
+ if @api_client.config.debugging
890
+ @api_client.config.logger.debug "API called: CourseApi#get_course_asset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
891
+ end
892
+ return data, status_code, headers
893
+ end
894
+ # Get effective configuration settings for a Course
895
+ # Returns the effective configuration settings for the course. If not set at the course level, the setting will inherit a value from a higher level (e.g. application). If there is a configuration setting present at a more specific level, that setting will override the one set at the course level.
639
896
  # @param course_id
640
897
  # @param [Hash] opts the optional parameters
641
898
  # @option opts [BOOLEAN] :include_metadata (default to false)
@@ -645,8 +902,8 @@ module RusticiSoftwareCloudV2
645
902
  data
646
903
  end
647
904
 
648
- # Get course configuration.
649
- # Returns all effective configuration settings for this course. For any setting which is not explicitly set at the course level, the effective value will be either the value set at the application level (if there is one) or the default value for the setting.
905
+ # Get effective configuration settings for a Course
906
+ # Returns the effective configuration settings for the course. If not set at the course level, the setting will inherit a value from a higher level (e.g. application). If there is a configuration setting present at a more specific level, that setting will override the one set at the course level.
650
907
  # @param course_id
651
908
  # @param [Hash] opts the optional parameters
652
909
  # @option opts [BOOLEAN] :include_metadata
@@ -656,7 +913,7 @@ module RusticiSoftwareCloudV2
656
913
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_configuration ...'
657
914
  end
658
915
  # verify the required parameter 'course_id' is set
659
- if @api_client.config.client_side_validation && course_id.nil?
916
+ if course_id.nil?
660
917
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_configuration"
661
918
  end
662
919
  # resource path
@@ -691,35 +948,89 @@ module RusticiSoftwareCloudV2
691
948
  end
692
949
  return data, status_code, headers
693
950
  end
694
- # Get course xAPI statements.
695
- # Get xAPI statements for `courseId`.
951
+ # Get a list of asset files in a Course
952
+ # Returns a list of asset files in the course. Included will be the relative path to use for the other course asset manipulation calls.
953
+ # @param course_id
954
+ # @param [Hash] opts the optional parameters
955
+ # @return [FileListSchema]
956
+ def get_course_file_list(course_id, opts = {})
957
+ data, _status_code, _headers = get_course_file_list_with_http_info(course_id, opts)
958
+ data
959
+ end
960
+
961
+ # Get a list of asset files in a Course
962
+ # Returns a list of asset files in the course. Included will be the relative path to use for the other course asset manipulation calls.
963
+ # @param course_id
964
+ # @param [Hash] opts the optional parameters
965
+ # @return [Array<(FileListSchema, Fixnum, Hash)>] FileListSchema data, response status code and response headers
966
+ def get_course_file_list_with_http_info(course_id, opts = {})
967
+ if @api_client.config.debugging
968
+ @api_client.config.logger.debug 'Calling API: CourseApi.get_course_file_list ...'
969
+ end
970
+ # verify the required parameter 'course_id' is set
971
+ if course_id.nil?
972
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_file_list"
973
+ end
974
+ # resource path
975
+ local_var_path = '/courses/{courseId}/asset/list'.sub('{' + 'courseId' + '}', course_id.to_s)
976
+
977
+ # query parameters
978
+ query_params = {}
979
+
980
+ # header parameters
981
+ header_params = {}
982
+ # HTTP header 'Accept' (if needed)
983
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
984
+ # HTTP header 'Content-Type'
985
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
986
+
987
+ # form parameters
988
+ form_params = {}
989
+
990
+ # http body (model)
991
+ post_body = nil
992
+ auth_names = ['APP_NORMAL', 'OAUTH']
993
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
994
+ :header_params => header_params,
995
+ :query_params => query_params,
996
+ :form_params => form_params,
997
+ :body => post_body,
998
+ :auth_names => auth_names,
999
+ :return_type => 'FileListSchema')
1000
+ if @api_client.config.debugging
1001
+ @api_client.config.logger.debug "API called: CourseApi#get_course_file_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1002
+ end
1003
+ return data, status_code, headers
1004
+ end
1005
+ # Get xAPI statements for a Course
1006
+ # Returns xAPI statements for the course.
696
1007
  # @param course_id
697
1008
  # @param [Hash] opts the optional parameters
698
1009
  # @option opts [String] :learner_id Only entries for the specified learner id will be included.
699
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
700
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
701
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1010
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1011
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1012
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
702
1013
  # @return [XapiStatementResult]
703
1014
  def get_course_statements(course_id, opts = {})
704
1015
  data, _status_code, _headers = get_course_statements_with_http_info(course_id, opts)
705
1016
  data
706
1017
  end
707
1018
 
708
- # Get course xAPI statements.
709
- # Get xAPI statements for &#x60;courseId&#x60;.
1019
+ # Get xAPI statements for a Course
1020
+ # Returns xAPI statements for the course.
710
1021
  # @param course_id
711
1022
  # @param [Hash] opts the optional parameters
712
1023
  # @option opts [String] :learner_id Only entries for the specified learner id will be included.
713
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
714
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
715
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1024
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1025
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1026
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
716
1027
  # @return [Array<(XapiStatementResult, Fixnum, Hash)>] XapiStatementResult data, response status code and response headers
717
1028
  def get_course_statements_with_http_info(course_id, opts = {})
718
1029
  if @api_client.config.debugging
719
1030
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_statements ...'
720
1031
  end
721
1032
  # verify the required parameter 'course_id' is set
722
- if @api_client.config.client_side_validation && course_id.nil?
1033
+ if course_id.nil?
723
1034
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_statements"
724
1035
  end
725
1036
  # resource path
@@ -757,8 +1068,8 @@ module RusticiSoftwareCloudV2
757
1068
  end
758
1069
  return data, status_code, headers
759
1070
  end
760
- # Get course tags.
761
- # Get a list of the tags for this course.
1071
+ # Get tags for a Course
1072
+ # Returns the tags for the course.
762
1073
  # @param course_id
763
1074
  # @param [Hash] opts the optional parameters
764
1075
  # @return [TagListSchema]
@@ -767,8 +1078,8 @@ module RusticiSoftwareCloudV2
767
1078
  data
768
1079
  end
769
1080
 
770
- # Get course tags.
771
- # Get a list of the tags for this course.
1081
+ # Get tags for a Course
1082
+ # Returns the tags for the course.
772
1083
  # @param course_id
773
1084
  # @param [Hash] opts the optional parameters
774
1085
  # @return [Array<(TagListSchema, Fixnum, Hash)>] TagListSchema data, response status code and response headers
@@ -777,7 +1088,7 @@ module RusticiSoftwareCloudV2
777
1088
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_tags ...'
778
1089
  end
779
1090
  # verify the required parameter 'course_id' is set
780
- if @api_client.config.client_side_validation && course_id.nil?
1091
+ if course_id.nil?
781
1092
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_tags"
782
1093
  end
783
1094
  # resource path
@@ -811,10 +1122,77 @@ module RusticiSoftwareCloudV2
811
1122
  end
812
1123
  return data, status_code, headers
813
1124
  end
814
- # Get configuration for a version of a course.
815
- # Returns all configuration settings for this course and version.
1125
+ # Download an asset file from a specific Course Version
1126
+ # Downloads the asset file at the provided relative path from the course version. GetCourseVersionFileList can be used to find the relative path of the file.
816
1127
  # @param course_id
817
- # @param version_id The course version
1128
+ # @param version_id
1129
+ # @param relative_path Relative path of the asset within the course.
1130
+ # @param [Hash] opts the optional parameters
1131
+ # @return [File]
1132
+ def get_course_version_asset(course_id, version_id, relative_path, opts = {})
1133
+ data, _status_code, _headers = get_course_version_asset_with_http_info(course_id, version_id, relative_path, opts)
1134
+ data
1135
+ end
1136
+
1137
+ # Download an asset file from a specific Course Version
1138
+ # Downloads the asset file at the provided relative path from the course version. GetCourseVersionFileList can be used to find the relative path of the file.
1139
+ # @param course_id
1140
+ # @param version_id
1141
+ # @param relative_path Relative path of the asset within the course.
1142
+ # @param [Hash] opts the optional parameters
1143
+ # @return [Array<(File, Fixnum, Hash)>] File data, response status code and response headers
1144
+ def get_course_version_asset_with_http_info(course_id, version_id, relative_path, opts = {})
1145
+ if @api_client.config.debugging
1146
+ @api_client.config.logger.debug 'Calling API: CourseApi.get_course_version_asset ...'
1147
+ end
1148
+ # verify the required parameter 'course_id' is set
1149
+ if course_id.nil?
1150
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_version_asset"
1151
+ end
1152
+ # verify the required parameter 'version_id' is set
1153
+ if version_id.nil?
1154
+ fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.get_course_version_asset"
1155
+ end
1156
+ # verify the required parameter 'relative_path' is set
1157
+ if relative_path.nil?
1158
+ fail ArgumentError, "Missing the required parameter 'relative_path' when calling CourseApi.get_course_version_asset"
1159
+ end
1160
+ # resource path
1161
+ local_var_path = '/courses/{courseId}/versions/{versionId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s).sub('{' + 'versionId' + '}', version_id.to_s)
1162
+
1163
+ # query parameters
1164
+ query_params = {}
1165
+ query_params[:'relativePath'] = relative_path
1166
+
1167
+ # header parameters
1168
+ header_params = {}
1169
+ # HTTP header 'Accept' (if needed)
1170
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
1171
+ # HTTP header 'Content-Type'
1172
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1173
+
1174
+ # form parameters
1175
+ form_params = {}
1176
+
1177
+ # http body (model)
1178
+ post_body = nil
1179
+ auth_names = ['APP_NORMAL', 'OAUTH']
1180
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1181
+ :header_params => header_params,
1182
+ :query_params => query_params,
1183
+ :form_params => form_params,
1184
+ :body => post_body,
1185
+ :auth_names => auth_names,
1186
+ :return_type => 'File')
1187
+ if @api_client.config.debugging
1188
+ @api_client.config.logger.debug "API called: CourseApi#get_course_version_asset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1189
+ end
1190
+ return data, status_code, headers
1191
+ end
1192
+ # Get effective configuration settings for a Course Version
1193
+ # Returns the effective configuration settings for the course version. If not set at the course level, the setting will inherit a value from a higher level (e.g. application). If there is a configuration setting present at a more specific level, that setting will override the one set at the course level.
1194
+ # @param course_id
1195
+ # @param version_id
818
1196
  # @param [Hash] opts the optional parameters
819
1197
  # @option opts [BOOLEAN] :include_metadata (default to false)
820
1198
  # @return [SettingListSchema]
@@ -823,10 +1201,10 @@ module RusticiSoftwareCloudV2
823
1201
  data
824
1202
  end
825
1203
 
826
- # Get configuration for a version of a course.
827
- # Returns all configuration settings for this course and version.
1204
+ # Get effective configuration settings for a Course Version
1205
+ # Returns the effective configuration settings for the course version. If not set at the course level, the setting will inherit a value from a higher level (e.g. application). If there is a configuration setting present at a more specific level, that setting will override the one set at the course level.
828
1206
  # @param course_id
829
- # @param version_id The course version
1207
+ # @param version_id
830
1208
  # @param [Hash] opts the optional parameters
831
1209
  # @option opts [BOOLEAN] :include_metadata
832
1210
  # @return [Array<(SettingListSchema, Fixnum, Hash)>] SettingListSchema data, response status code and response headers
@@ -835,11 +1213,11 @@ module RusticiSoftwareCloudV2
835
1213
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_version_configuration ...'
836
1214
  end
837
1215
  # verify the required parameter 'course_id' is set
838
- if @api_client.config.client_side_validation && course_id.nil?
1216
+ if course_id.nil?
839
1217
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_version_configuration"
840
1218
  end
841
1219
  # verify the required parameter 'version_id' is set
842
- if @api_client.config.client_side_validation && version_id.nil?
1220
+ if version_id.nil?
843
1221
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.get_course_version_configuration"
844
1222
  end
845
1223
  # resource path
@@ -874,10 +1252,70 @@ module RusticiSoftwareCloudV2
874
1252
  end
875
1253
  return data, status_code, headers
876
1254
  end
877
- # Get details on a course version.
878
- # Get specific version `versionId` of `courseId`
1255
+ # Get a list of asset files in a Course Version
1256
+ # Returns a list of asset files in the course version. Included will be the relative path to use for the other course asset manipulation calls.
879
1257
  # @param course_id
880
- # @param version_id The course version
1258
+ # @param version_id
1259
+ # @param [Hash] opts the optional parameters
1260
+ # @return [FileListSchema]
1261
+ def get_course_version_file_list(course_id, version_id, opts = {})
1262
+ data, _status_code, _headers = get_course_version_file_list_with_http_info(course_id, version_id, opts)
1263
+ data
1264
+ end
1265
+
1266
+ # Get a list of asset files in a Course Version
1267
+ # Returns a list of asset files in the course version. Included will be the relative path to use for the other course asset manipulation calls.
1268
+ # @param course_id
1269
+ # @param version_id
1270
+ # @param [Hash] opts the optional parameters
1271
+ # @return [Array<(FileListSchema, Fixnum, Hash)>] FileListSchema data, response status code and response headers
1272
+ def get_course_version_file_list_with_http_info(course_id, version_id, opts = {})
1273
+ if @api_client.config.debugging
1274
+ @api_client.config.logger.debug 'Calling API: CourseApi.get_course_version_file_list ...'
1275
+ end
1276
+ # verify the required parameter 'course_id' is set
1277
+ if course_id.nil?
1278
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_version_file_list"
1279
+ end
1280
+ # verify the required parameter 'version_id' is set
1281
+ if version_id.nil?
1282
+ fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.get_course_version_file_list"
1283
+ end
1284
+ # resource path
1285
+ local_var_path = '/courses/{courseId}/versions/{versionId}/asset/list'.sub('{' + 'courseId' + '}', course_id.to_s).sub('{' + 'versionId' + '}', version_id.to_s)
1286
+
1287
+ # query parameters
1288
+ query_params = {}
1289
+
1290
+ # header parameters
1291
+ header_params = {}
1292
+ # HTTP header 'Accept' (if needed)
1293
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1294
+ # HTTP header 'Content-Type'
1295
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1296
+
1297
+ # form parameters
1298
+ form_params = {}
1299
+
1300
+ # http body (model)
1301
+ post_body = nil
1302
+ auth_names = ['APP_NORMAL', 'OAUTH']
1303
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1304
+ :header_params => header_params,
1305
+ :query_params => query_params,
1306
+ :form_params => form_params,
1307
+ :body => post_body,
1308
+ :auth_names => auth_names,
1309
+ :return_type => 'FileListSchema')
1310
+ if @api_client.config.debugging
1311
+ @api_client.config.logger.debug "API called: CourseApi#get_course_version_file_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1312
+ end
1313
+ return data, status_code, headers
1314
+ end
1315
+ # Get detailed information about a Course Version
1316
+ # Returns detailed information about the course version. This includes update date and registration count (if optional value is passed in).
1317
+ # @param course_id
1318
+ # @param version_id
881
1319
  # @param [Hash] opts the optional parameters
882
1320
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results (default to false)
883
1321
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect. (default to false)
@@ -887,10 +1325,10 @@ module RusticiSoftwareCloudV2
887
1325
  data
888
1326
  end
889
1327
 
890
- # Get details on a course version.
891
- # Get specific version &#x60;versionId&#x60; of &#x60;courseId&#x60;
1328
+ # Get detailed information about a Course Version
1329
+ # Returns detailed information about the course version. This includes update date and registration count (if optional value is passed in).
892
1330
  # @param course_id
893
- # @param version_id The course version
1331
+ # @param version_id
894
1332
  # @param [Hash] opts the optional parameters
895
1333
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results
896
1334
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect.
@@ -900,11 +1338,11 @@ module RusticiSoftwareCloudV2
900
1338
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_version_info ...'
901
1339
  end
902
1340
  # verify the required parameter 'course_id' is set
903
- if @api_client.config.client_side_validation && course_id.nil?
1341
+ if course_id.nil?
904
1342
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_version_info"
905
1343
  end
906
1344
  # verify the required parameter 'version_id' is set
907
- if @api_client.config.client_side_validation && version_id.nil?
1345
+ if version_id.nil?
908
1346
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.get_course_version_info"
909
1347
  end
910
1348
  # resource path
@@ -940,41 +1378,41 @@ module RusticiSoftwareCloudV2
940
1378
  end
941
1379
  return data, status_code, headers
942
1380
  end
943
- # Get xAPI statements for a course version.
944
- # Get xAPI statements for version `versionId` of `courseId`
1381
+ # Get xAPI statements for a Course Version
1382
+ # Returns xAPI statements for the course version.
945
1383
  # @param course_id
946
- # @param version_id The course version
1384
+ # @param version_id
947
1385
  # @param [Hash] opts the optional parameters
948
1386
  # @option opts [String] :learner_id Only entries for the specified learner id will be included.
949
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
950
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
951
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1387
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1388
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1389
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
952
1390
  # @return [XapiStatementResult]
953
1391
  def get_course_version_statements(course_id, version_id, opts = {})
954
1392
  data, _status_code, _headers = get_course_version_statements_with_http_info(course_id, version_id, opts)
955
1393
  data
956
1394
  end
957
1395
 
958
- # Get xAPI statements for a course version.
959
- # Get xAPI statements for version &#x60;versionId&#x60; of &#x60;courseId&#x60;
1396
+ # Get xAPI statements for a Course Version
1397
+ # Returns xAPI statements for the course version.
960
1398
  # @param course_id
961
- # @param version_id The course version
1399
+ # @param version_id
962
1400
  # @param [Hash] opts the optional parameters
963
1401
  # @option opts [String] :learner_id Only entries for the specified learner id will be included.
964
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
965
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
966
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1402
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1403
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1404
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
967
1405
  # @return [Array<(XapiStatementResult, Fixnum, Hash)>] XapiStatementResult data, response status code and response headers
968
1406
  def get_course_version_statements_with_http_info(course_id, version_id, opts = {})
969
1407
  if @api_client.config.debugging
970
1408
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_version_statements ...'
971
1409
  end
972
1410
  # verify the required parameter 'course_id' is set
973
- if @api_client.config.client_side_validation && course_id.nil?
1411
+ if course_id.nil?
974
1412
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_version_statements"
975
1413
  end
976
1414
  # verify the required parameter 'version_id' is set
977
- if @api_client.config.client_side_validation && version_id.nil?
1415
+ if version_id.nil?
978
1416
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.get_course_version_statements"
979
1417
  end
980
1418
  # resource path
@@ -1012,12 +1450,12 @@ module RusticiSoftwareCloudV2
1012
1450
  end
1013
1451
  return data, status_code, headers
1014
1452
  end
1015
- # Get details on a course's versions.
1016
- # Get information about all versions of `courseId`. This can be useful to see information such as registration counts and modification times across the versions of a course.
1453
+ # Get a list of a Course's Versions
1454
+ # Returns information about all versions of the course. This can be useful to see information such as registration counts and modification times across the versions of a course.
1017
1455
  # @param course_id
1018
1456
  # @param [Hash] opts the optional parameters
1019
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1020
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1457
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1458
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1021
1459
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results (default to false)
1022
1460
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect. (default to false)
1023
1461
  # @return [CourseListNonPagedSchema]
@@ -1026,12 +1464,12 @@ module RusticiSoftwareCloudV2
1026
1464
  data
1027
1465
  end
1028
1466
 
1029
- # Get details on a course&#39;s versions.
1030
- # Get information about all versions of &#x60;courseId&#x60;. This can be useful to see information such as registration counts and modification times across the versions of a course.
1467
+ # Get a list of a Course&#39;s Versions
1468
+ # Returns information about all versions of the course. This can be useful to see information such as registration counts and modification times across the versions of a course.
1031
1469
  # @param course_id
1032
1470
  # @param [Hash] opts the optional parameters
1033
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1034
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1471
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1472
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1035
1473
  # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results
1036
1474
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect.
1037
1475
  # @return [Array<(CourseListNonPagedSchema, Fixnum, Hash)>] CourseListNonPagedSchema data, response status code and response headers
@@ -1040,7 +1478,7 @@ module RusticiSoftwareCloudV2
1040
1478
  @api_client.config.logger.debug 'Calling API: CourseApi.get_course_versions ...'
1041
1479
  end
1042
1480
  # verify the required parameter 'course_id' is set
1043
- if @api_client.config.client_side_validation && course_id.nil?
1481
+ if course_id.nil?
1044
1482
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.get_course_versions"
1045
1483
  end
1046
1484
  # resource path
@@ -1078,61 +1516,58 @@ module RusticiSoftwareCloudV2
1078
1516
  end
1079
1517
  return data, status_code, headers
1080
1518
  end
1081
- # Get all courses.
1082
- # Get all courses for the `appId` which was used to authenticate this call.
1519
+ # Get a list of Courses
1520
+ # Returns a list of courses. Can be filtered using the request parameters to provide a subset of results. >**Note:** >This request is paginated and will only provide a limited amount of resources at a time. If there are more results to be collected, a `more` token provided with the response which can be passed to get the next page of results. When passing this token, no other filter parameters can be sent as part of the request. The resources will continue to respect the filters passed in by the original request.
1083
1521
  # @param [Hash] opts the optional parameters
1084
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1085
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1086
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1522
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1523
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1524
+ # @option opts [String] :datetime_filter Specifies field that &#x60;since&#x60; and &#x60;until&#x60; parameters are applied against (default to updated)
1525
+ # @option opts [Array<String>] :tags Filter items matching any tag provided (not all)
1087
1526
  # @option opts [String] :filter Optional string which filters results by a specified field (described by filterBy).
1088
- # @option opts [String] :filter_by Optional enum parameter for specifying the field on which to run the filter. Defaults to course_id.
1089
- # @option opts [String] :order_by Optional enum parameter for specifying the field and order by which to sort the results. Defaults to creation_date_desc.
1090
- # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results (default to false)
1527
+ # @option opts [String] :filter_by Optional enum parameter for specifying the field on which to run the filter. (default to course_id)
1528
+ # @option opts [String] :order_by Optional enum parameter for specifying the field and order by which to sort the results. (default to created_desc)
1529
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
1091
1530
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect. (default to false)
1092
- # @option opts [Array<String>] :tags
1531
+ # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results (default to false)
1093
1532
  # @return [CourseListSchema]
1094
1533
  def get_courses(opts = {})
1095
1534
  data, _status_code, _headers = get_courses_with_http_info(opts)
1096
1535
  data
1097
1536
  end
1098
1537
 
1099
- # Get all courses.
1100
- # Get all courses for the &#x60;appId&#x60; which was used to authenticate this call.
1538
+ # Get a list of Courses
1539
+ # Returns a list of courses. Can be filtered using the request parameters to provide a subset of results. &gt;**Note:** &gt;This request is paginated and will only provide a limited amount of resources at a time. If there are more results to be collected, a &#x60;more&#x60; token provided with the response which can be passed to get the next page of results. When passing this token, no other filter parameters can be sent as part of the request. The resources will continue to respect the filters passed in by the original request.
1101
1540
  # @param [Hash] opts the optional parameters
1102
- # @option opts [String] :more Value for this parameter will be provided in the &#39;more&#39; property of registration lists, where needed. An opaque value, construction and parsing may change without notice.
1103
- # @option opts [DateTime] :since Only items updated since the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1104
- # @option opts [DateTime] :_until Only items updated before the specified ISO 8601 TimeStamp (inclusive) are included. If a time zone is not specified, UTC time zone will be used.
1541
+ # @option opts [DateTime] :since Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1542
+ # @option opts [DateTime] :_until Filter by ISO 8601 TimeStamp inclusive (defaults to UTC)
1543
+ # @option opts [String] :datetime_filter Specifies field that &#x60;since&#x60; and &#x60;until&#x60; parameters are applied against
1544
+ # @option opts [Array<String>] :tags Filter items matching any tag provided (not all)
1105
1545
  # @option opts [String] :filter Optional string which filters results by a specified field (described by filterBy).
1106
- # @option opts [String] :filter_by Optional enum parameter for specifying the field on which to run the filter. Defaults to course_id.
1107
- # @option opts [String] :order_by Optional enum parameter for specifying the field and order by which to sort the results. Defaults to creation_date_desc.
1108
- # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results
1546
+ # @option opts [String] :filter_by Optional enum parameter for specifying the field on which to run the filter.
1547
+ # @option opts [String] :order_by Optional enum parameter for specifying the field and order by which to sort the results.
1548
+ # @option opts [String] :more Pagination token returned as &#x60;more&#x60; property of multi page list requests
1109
1549
  # @option opts [BOOLEAN] :include_course_metadata Include course metadata in the results. If the course has no metadata, adding this parameter has no effect.
1110
- # @option opts [Array<String>] :tags
1550
+ # @option opts [BOOLEAN] :include_registration_count Include the registration count in the results
1111
1551
  # @return [Array<(CourseListSchema, Fixnum, Hash)>] CourseListSchema data, response status code and response headers
1112
1552
  def get_courses_with_http_info(opts = {})
1113
1553
  if @api_client.config.debugging
1114
1554
  @api_client.config.logger.debug 'Calling API: CourseApi.get_courses ...'
1115
1555
  end
1116
- if @api_client.config.client_side_validation && opts[:'filter_by'] && !['title', 'course_id', 'tags'].include?(opts[:'filter_by'])
1117
- fail ArgumentError, 'invalid value for "filter_by", must be one of title, course_id, tags'
1118
- end
1119
- if @api_client.config.client_side_validation && opts[:'order_by'] && !['title_asc', 'title_desc', 'creation_date_asc', 'creation_date_desc'].include?(opts[:'order_by'])
1120
- fail ArgumentError, 'invalid value for "order_by", must be one of title_asc, title_desc, creation_date_asc, creation_date_desc'
1121
- end
1122
1556
  # resource path
1123
1557
  local_var_path = '/courses'
1124
1558
 
1125
1559
  # query parameters
1126
1560
  query_params = {}
1127
- query_params[:'more'] = opts[:'more'] if !opts[:'more'].nil?
1128
1561
  query_params[:'since'] = opts[:'since'] if !opts[:'since'].nil?
1129
1562
  query_params[:'until'] = opts[:'_until'] if !opts[:'_until'].nil?
1563
+ query_params[:'datetimeFilter'] = opts[:'datetime_filter'] if !opts[:'datetime_filter'].nil?
1564
+ query_params[:'tags'] = @api_client.build_collection_param(opts[:'tags'], :csv) if !opts[:'tags'].nil?
1130
1565
  query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
1131
1566
  query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
1132
1567
  query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil?
1133
- query_params[:'includeRegistrationCount'] = opts[:'include_registration_count'] if !opts[:'include_registration_count'].nil?
1568
+ query_params[:'more'] = opts[:'more'] if !opts[:'more'].nil?
1134
1569
  query_params[:'includeCourseMetadata'] = opts[:'include_course_metadata'] if !opts[:'include_course_metadata'].nil?
1135
- query_params[:'tags'] = @api_client.build_collection_param(opts[:'tags'], :csv) if !opts[:'tags'].nil?
1570
+ query_params[:'includeRegistrationCount'] = opts[:'include_registration_count'] if !opts[:'include_registration_count'].nil?
1136
1571
 
1137
1572
  # header parameters
1138
1573
  header_params = {}
@@ -1159,8 +1594,8 @@ module RusticiSoftwareCloudV2
1159
1594
  end
1160
1595
  return data, status_code, headers
1161
1596
  end
1162
- # Get course import job status.
1163
- # Check the status of an import job. This can be called incrementally to check to progress of a call to either of the import options.
1597
+ # Get import job status for a Course
1598
+ # Check the status of a course import. This can be called incrementally to check the progress of a call to any of the import options. >**Note:** >The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
1164
1599
  # @param import_job_id Id received when the import job was submitted to the importJobs resource.
1165
1600
  # @param [Hash] opts the optional parameters
1166
1601
  # @return [ImportJobResultSchema]
@@ -1169,8 +1604,8 @@ module RusticiSoftwareCloudV2
1169
1604
  data
1170
1605
  end
1171
1606
 
1172
- # Get course import job status.
1173
- # Check the status of an import job. This can be called incrementally to check to progress of a call to either of the import options.
1607
+ # Get import job status for a Course
1608
+ # Check the status of a course import. This can be called incrementally to check the progress of a call to any of the import options. &gt;**Note:** &gt;The import job ID used for calls to GetImportJobStatus are only valid for one week after the course import finishes.
1174
1609
  # @param import_job_id Id received when the import job was submitted to the importJobs resource.
1175
1610
  # @param [Hash] opts the optional parameters
1176
1611
  # @return [Array<(ImportJobResultSchema, Fixnum, Hash)>] ImportJobResultSchema data, response status code and response headers
@@ -1179,7 +1614,7 @@ module RusticiSoftwareCloudV2
1179
1614
  @api_client.config.logger.debug 'Calling API: CourseApi.get_import_job_status ...'
1180
1615
  end
1181
1616
  # verify the required parameter 'import_job_id' is set
1182
- if @api_client.config.client_side_validation && import_job_id.nil?
1617
+ if import_job_id.nil?
1183
1618
  fail ArgumentError, "Missing the required parameter 'import_job_id' when calling CourseApi.get_import_job_status"
1184
1619
  end
1185
1620
  # resource path
@@ -1213,8 +1648,140 @@ module RusticiSoftwareCloudV2
1213
1648
  end
1214
1649
  return data, status_code, headers
1215
1650
  end
1216
- # Set course tags.
1217
- # Set the tags for this course. Note: any tags currently on this course will be overwritten with the new array of tags.
1651
+ # Import an asset file for a Course
1652
+ # Creates or updates an asset file fetched from the provided url into the course. The file will be downloaded from the url and stored in SCORM Cloud. This is a useful way to modify the course structure without needing to reimport the whole course after you've made changes. >**Info:** >If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for `mayCreateNewVersion`.
1653
+ # @param course_id
1654
+ # @param asset_schema
1655
+ # @param [Hash] opts the optional parameters
1656
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases). (default to lax)
1657
+ # @return [AssetFileSchema]
1658
+ def import_course_asset_file(course_id, asset_schema, opts = {})
1659
+ data, _status_code, _headers = import_course_asset_file_with_http_info(course_id, asset_schema, opts)
1660
+ data
1661
+ end
1662
+
1663
+ # Import an asset file for a Course
1664
+ # Creates or updates an asset file fetched from the provided url into the course. The file will be downloaded from the url and stored in SCORM Cloud. This is a useful way to modify the course structure without needing to reimport the whole course after you&#39;ve made changes. &gt;**Info:** &gt;If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for &#x60;mayCreateNewVersion&#x60;.
1665
+ # @param course_id
1666
+ # @param asset_schema
1667
+ # @param [Hash] opts the optional parameters
1668
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases).
1669
+ # @return [Array<(AssetFileSchema, Fixnum, Hash)>] AssetFileSchema data, response status code and response headers
1670
+ def import_course_asset_file_with_http_info(course_id, asset_schema, opts = {})
1671
+ if @api_client.config.debugging
1672
+ @api_client.config.logger.debug 'Calling API: CourseApi.import_course_asset_file ...'
1673
+ end
1674
+ # verify the required parameter 'course_id' is set
1675
+ if course_id.nil?
1676
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.import_course_asset_file"
1677
+ end
1678
+ # verify the required parameter 'asset_schema' is set
1679
+ if asset_schema.nil?
1680
+ fail ArgumentError, "Missing the required parameter 'asset_schema' when calling CourseApi.import_course_asset_file"
1681
+ end
1682
+ # resource path
1683
+ local_var_path = '/courses/{courseId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s)
1684
+
1685
+ # query parameters
1686
+ query_params = {}
1687
+ query_params[:'updateAssetPolicy'] = opts[:'update_asset_policy'] if !opts[:'update_asset_policy'].nil?
1688
+
1689
+ # header parameters
1690
+ header_params = {}
1691
+ # HTTP header 'Accept' (if needed)
1692
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1693
+ # HTTP header 'Content-Type'
1694
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1695
+
1696
+ # form parameters
1697
+ form_params = {}
1698
+
1699
+ # http body (model)
1700
+ post_body = @api_client.object_to_http_body(asset_schema)
1701
+ auth_names = ['APP_NORMAL', 'OAUTH']
1702
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
1703
+ :header_params => header_params,
1704
+ :query_params => query_params,
1705
+ :form_params => form_params,
1706
+ :body => post_body,
1707
+ :auth_names => auth_names,
1708
+ :return_type => 'AssetFileSchema')
1709
+ if @api_client.config.debugging
1710
+ @api_client.config.logger.debug "API called: CourseApi#import_course_asset_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1711
+ end
1712
+ return data, status_code, headers
1713
+ end
1714
+ # Import an asset file for a Course Version
1715
+ # Creates or updates an asset file fetched from the provided url into the course version. The file will be downloaded from the url and stored in SCORM Cloud. This is a useful way to modify the course structure without needing to reimport the whole course after you've made changes. >**Info:** >If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for `mayCreateNewVersion`.
1716
+ # @param course_id
1717
+ # @param version_id
1718
+ # @param asset_schema
1719
+ # @param [Hash] opts the optional parameters
1720
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases). (default to lax)
1721
+ # @return [AssetFileSchema]
1722
+ def import_course_version_asset_file(course_id, version_id, asset_schema, opts = {})
1723
+ data, _status_code, _headers = import_course_version_asset_file_with_http_info(course_id, version_id, asset_schema, opts)
1724
+ data
1725
+ end
1726
+
1727
+ # Import an asset file for a Course Version
1728
+ # Creates or updates an asset file fetched from the provided url into the course version. The file will be downloaded from the url and stored in SCORM Cloud. This is a useful way to modify the course structure without needing to reimport the whole course after you&#39;ve made changes. &gt;**Info:** &gt;If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for &#x60;mayCreateNewVersion&#x60;.
1729
+ # @param course_id
1730
+ # @param version_id
1731
+ # @param asset_schema
1732
+ # @param [Hash] opts the optional parameters
1733
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases).
1734
+ # @return [Array<(AssetFileSchema, Fixnum, Hash)>] AssetFileSchema data, response status code and response headers
1735
+ def import_course_version_asset_file_with_http_info(course_id, version_id, asset_schema, opts = {})
1736
+ if @api_client.config.debugging
1737
+ @api_client.config.logger.debug 'Calling API: CourseApi.import_course_version_asset_file ...'
1738
+ end
1739
+ # verify the required parameter 'course_id' is set
1740
+ if course_id.nil?
1741
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.import_course_version_asset_file"
1742
+ end
1743
+ # verify the required parameter 'version_id' is set
1744
+ if version_id.nil?
1745
+ fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.import_course_version_asset_file"
1746
+ end
1747
+ # verify the required parameter 'asset_schema' is set
1748
+ if asset_schema.nil?
1749
+ fail ArgumentError, "Missing the required parameter 'asset_schema' when calling CourseApi.import_course_version_asset_file"
1750
+ end
1751
+ # resource path
1752
+ local_var_path = '/courses/{courseId}/versions/{versionId}/asset'.sub('{' + 'courseId' + '}', course_id.to_s).sub('{' + 'versionId' + '}', version_id.to_s)
1753
+
1754
+ # query parameters
1755
+ query_params = {}
1756
+ query_params[:'updateAssetPolicy'] = opts[:'update_asset_policy'] if !opts[:'update_asset_policy'].nil?
1757
+
1758
+ # header parameters
1759
+ header_params = {}
1760
+ # HTTP header 'Accept' (if needed)
1761
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1762
+ # HTTP header 'Content-Type'
1763
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1764
+
1765
+ # form parameters
1766
+ form_params = {}
1767
+
1768
+ # http body (model)
1769
+ post_body = @api_client.object_to_http_body(asset_schema)
1770
+ auth_names = ['APP_NORMAL', 'OAUTH']
1771
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
1772
+ :header_params => header_params,
1773
+ :query_params => query_params,
1774
+ :form_params => form_params,
1775
+ :body => post_body,
1776
+ :auth_names => auth_names,
1777
+ :return_type => 'AssetFileSchema')
1778
+ if @api_client.config.debugging
1779
+ @api_client.config.logger.debug "API called: CourseApi#import_course_version_asset_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1780
+ end
1781
+ return data, status_code, headers
1782
+ end
1783
+ # Add tags to a Course
1784
+ # Applies the provided tags to the course. Tags are used to easily identify resources. Adding tags can enable more refined searches when making calls to certain endpoints (e.g. GetCourses).
1218
1785
  # @param course_id
1219
1786
  # @param tags
1220
1787
  # @param [Hash] opts the optional parameters
@@ -1224,8 +1791,8 @@ module RusticiSoftwareCloudV2
1224
1791
  nil
1225
1792
  end
1226
1793
 
1227
- # Set course tags.
1228
- # Set the tags for this course. Note: any tags currently on this course will be overwritten with the new array of tags.
1794
+ # Add tags to a Course
1795
+ # Applies the provided tags to the course. Tags are used to easily identify resources. Adding tags can enable more refined searches when making calls to certain endpoints (e.g. GetCourses).
1229
1796
  # @param course_id
1230
1797
  # @param tags
1231
1798
  # @param [Hash] opts the optional parameters
@@ -1235,11 +1802,11 @@ module RusticiSoftwareCloudV2
1235
1802
  @api_client.config.logger.debug 'Calling API: CourseApi.put_course_tags ...'
1236
1803
  end
1237
1804
  # verify the required parameter 'course_id' is set
1238
- if @api_client.config.client_side_validation && course_id.nil?
1805
+ if course_id.nil?
1239
1806
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.put_course_tags"
1240
1807
  end
1241
1808
  # verify the required parameter 'tags' is set
1242
- if @api_client.config.client_side_validation && tags.nil?
1809
+ if tags.nil?
1243
1810
  fail ArgumentError, "Missing the required parameter 'tags' when calling CourseApi.put_course_tags"
1244
1811
  end
1245
1812
  # resource path
@@ -1272,9 +1839,9 @@ module RusticiSoftwareCloudV2
1272
1839
  end
1273
1840
  return data, status_code, headers
1274
1841
  end
1275
- # Set tags on courses.
1276
- # Sets all of the provided tags on all of the provided courses.
1277
- # @param batch Object representing an array of ids to apply an array of tags to.
1842
+ # Add a group of tags to a group of Courses
1843
+ # Applies all of the provided tags on all of the provided courses. Tags are used to easily identify resources. Adding tags can enable more refined searches when making calls to certain endpoints (e.g. GetCourses).
1844
+ # @param batch Array of ids, and array of tags for bulk tag operations
1278
1845
  # @param [Hash] opts the optional parameters
1279
1846
  # @return [nil]
1280
1847
  def put_course_tags_batch(batch, opts = {})
@@ -1282,9 +1849,9 @@ module RusticiSoftwareCloudV2
1282
1849
  nil
1283
1850
  end
1284
1851
 
1285
- # Set tags on courses.
1286
- # Sets all of the provided tags on all of the provided courses.
1287
- # @param batch Object representing an array of ids to apply an array of tags to.
1852
+ # Add a group of tags to a group of Courses
1853
+ # Applies all of the provided tags on all of the provided courses. Tags are used to easily identify resources. Adding tags can enable more refined searches when making calls to certain endpoints (e.g. GetCourses).
1854
+ # @param batch Array of ids, and array of tags for bulk tag operations
1288
1855
  # @param [Hash] opts the optional parameters
1289
1856
  # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
1290
1857
  def put_course_tags_batch_with_http_info(batch, opts = {})
@@ -1292,7 +1859,7 @@ module RusticiSoftwareCloudV2
1292
1859
  @api_client.config.logger.debug 'Calling API: CourseApi.put_course_tags_batch ...'
1293
1860
  end
1294
1861
  # verify the required parameter 'batch' is set
1295
- if @api_client.config.client_side_validation && batch.nil?
1862
+ if batch.nil?
1296
1863
  fail ArgumentError, "Missing the required parameter 'batch' when calling CourseApi.put_course_tags_batch"
1297
1864
  end
1298
1865
  # resource path
@@ -1325,8 +1892,8 @@ module RusticiSoftwareCloudV2
1325
1892
  end
1326
1893
  return data, status_code, headers
1327
1894
  end
1328
- # Set course configuration.
1329
- # Set configuration settings for this course. Setting a value at this level will override any value which is set at the application level.
1895
+ # Update configuration settings for a Course
1896
+ # Updates configuration settings at the course level. This will explicitly set a value at the course level and override any settings from a higher level. These settings will affect all items within the course which do not have their own explicit configuration set. This can effectively be used to set course level defaults.
1330
1897
  # @param course_id
1331
1898
  # @param configuration_settings
1332
1899
  # @param [Hash] opts the optional parameters
@@ -1336,8 +1903,8 @@ module RusticiSoftwareCloudV2
1336
1903
  nil
1337
1904
  end
1338
1905
 
1339
- # Set course configuration.
1340
- # Set configuration settings for this course. Setting a value at this level will override any value which is set at the application level.
1906
+ # Update configuration settings for a Course
1907
+ # Updates configuration settings at the course level. This will explicitly set a value at the course level and override any settings from a higher level. These settings will affect all items within the course which do not have their own explicit configuration set. This can effectively be used to set course level defaults.
1341
1908
  # @param course_id
1342
1909
  # @param configuration_settings
1343
1910
  # @param [Hash] opts the optional parameters
@@ -1347,11 +1914,11 @@ module RusticiSoftwareCloudV2
1347
1914
  @api_client.config.logger.debug 'Calling API: CourseApi.set_course_configuration ...'
1348
1915
  end
1349
1916
  # verify the required parameter 'course_id' is set
1350
- if @api_client.config.client_side_validation && course_id.nil?
1917
+ if course_id.nil?
1351
1918
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.set_course_configuration"
1352
1919
  end
1353
1920
  # verify the required parameter 'configuration_settings' is set
1354
- if @api_client.config.client_side_validation && configuration_settings.nil?
1921
+ if configuration_settings.nil?
1355
1922
  fail ArgumentError, "Missing the required parameter 'configuration_settings' when calling CourseApi.set_course_configuration"
1356
1923
  end
1357
1924
  # resource path
@@ -1384,8 +1951,8 @@ module RusticiSoftwareCloudV2
1384
1951
  end
1385
1952
  return data, status_code, headers
1386
1953
  end
1387
- # Set the title of a course.
1388
- # Sets the course title for the provided courseId.
1954
+ # Update title for a Course
1955
+ # Updates the title of the course.
1389
1956
  # @param course_id
1390
1957
  # @param title
1391
1958
  # @param [Hash] opts the optional parameters
@@ -1395,8 +1962,8 @@ module RusticiSoftwareCloudV2
1395
1962
  nil
1396
1963
  end
1397
1964
 
1398
- # Set the title of a course.
1399
- # Sets the course title for the provided courseId.
1965
+ # Update title for a Course
1966
+ # Updates the title of the course.
1400
1967
  # @param course_id
1401
1968
  # @param title
1402
1969
  # @param [Hash] opts the optional parameters
@@ -1406,11 +1973,11 @@ module RusticiSoftwareCloudV2
1406
1973
  @api_client.config.logger.debug 'Calling API: CourseApi.set_course_title ...'
1407
1974
  end
1408
1975
  # verify the required parameter 'course_id' is set
1409
- if @api_client.config.client_side_validation && course_id.nil?
1976
+ if course_id.nil?
1410
1977
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.set_course_title"
1411
1978
  end
1412
1979
  # verify the required parameter 'title' is set
1413
- if @api_client.config.client_side_validation && title.nil?
1980
+ if title.nil?
1414
1981
  fail ArgumentError, "Missing the required parameter 'title' when calling CourseApi.set_course_title"
1415
1982
  end
1416
1983
  # resource path
@@ -1443,10 +2010,10 @@ module RusticiSoftwareCloudV2
1443
2010
  end
1444
2011
  return data, status_code, headers
1445
2012
  end
1446
- # Set configuration for a version of a course.
1447
- # Set configuration settings for this course and version.
2013
+ # Update configuration settings for a Course Version
2014
+ # Updates configuration settings at the course level. This will explicitly set a value at the course level and override any settings from a higher level. These settings will affect all items within the course which do not have their own explicit configuration set. This can effectively be used to set course level defaults.
1448
2015
  # @param course_id
1449
- # @param version_id The course version
2016
+ # @param version_id
1450
2017
  # @param configuration_settings
1451
2018
  # @param [Hash] opts the optional parameters
1452
2019
  # @return [nil]
@@ -1455,10 +2022,10 @@ module RusticiSoftwareCloudV2
1455
2022
  nil
1456
2023
  end
1457
2024
 
1458
- # Set configuration for a version of a course.
1459
- # Set configuration settings for this course and version.
2025
+ # Update configuration settings for a Course Version
2026
+ # Updates configuration settings at the course level. This will explicitly set a value at the course level and override any settings from a higher level. These settings will affect all items within the course which do not have their own explicit configuration set. This can effectively be used to set course level defaults.
1460
2027
  # @param course_id
1461
- # @param version_id The course version
2028
+ # @param version_id
1462
2029
  # @param configuration_settings
1463
2030
  # @param [Hash] opts the optional parameters
1464
2031
  # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
@@ -1467,15 +2034,15 @@ module RusticiSoftwareCloudV2
1467
2034
  @api_client.config.logger.debug 'Calling API: CourseApi.set_course_version_configuration ...'
1468
2035
  end
1469
2036
  # verify the required parameter 'course_id' is set
1470
- if @api_client.config.client_side_validation && course_id.nil?
2037
+ if course_id.nil?
1471
2038
  fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.set_course_version_configuration"
1472
2039
  end
1473
2040
  # verify the required parameter 'version_id' is set
1474
- if @api_client.config.client_side_validation && version_id.nil?
2041
+ if version_id.nil?
1475
2042
  fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.set_course_version_configuration"
1476
2043
  end
1477
2044
  # verify the required parameter 'configuration_settings' is set
1478
- if @api_client.config.client_side_validation && configuration_settings.nil?
2045
+ if configuration_settings.nil?
1479
2046
  fail ArgumentError, "Missing the required parameter 'configuration_settings' when calling CourseApi.set_course_version_configuration"
1480
2047
  end
1481
2048
  # resource path
@@ -1508,5 +2075,145 @@ module RusticiSoftwareCloudV2
1508
2075
  end
1509
2076
  return data, status_code, headers
1510
2077
  end
2078
+ # Upload an asset file for a Course
2079
+ # Creates or updates an asset file uploaded from your file system into the course. The file will be sent as part of the request and will be stored in SCORM Cloud alongside the course. This is a useful way to modify the course structure without needing to reimport the whole course after you've made changes. >**Info:** >If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for `mayCreateNewVersion`.
2080
+ # @param course_id
2081
+ # @param destination Relative path from the course&#39;s base directory where the asset file will be uploaded. &#x60;/Etiquette/Course.html&#x60; will upload the file into the Etiquette folder of the course.
2082
+ # @param [Hash] opts the optional parameters
2083
+ # @option opts [File] :file The asset file to import into the course.
2084
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases). (default to lax)
2085
+ # @return [AssetFileSchema]
2086
+ def upload_course_asset_file(course_id, destination, opts = {})
2087
+ data, _status_code, _headers = upload_course_asset_file_with_http_info(course_id, destination, opts)
2088
+ data
2089
+ end
2090
+
2091
+ # Upload an asset file for a Course
2092
+ # Creates or updates an asset file uploaded from your file system into the course. The file will be sent as part of the request and will be stored in SCORM Cloud alongside the course. This is a useful way to modify the course structure without needing to reimport the whole course after you&#39;ve made changes. &gt;**Info:** &gt;If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for &#x60;mayCreateNewVersion&#x60;.
2093
+ # @param course_id
2094
+ # @param destination Relative path from the course&#39;s base directory where the asset file will be uploaded. &#x60;/Etiquette/Course.html&#x60; will upload the file into the Etiquette folder of the course.
2095
+ # @param [Hash] opts the optional parameters
2096
+ # @option opts [File] :file The asset file to import into the course.
2097
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases).
2098
+ # @return [Array<(AssetFileSchema, Fixnum, Hash)>] AssetFileSchema data, response status code and response headers
2099
+ def upload_course_asset_file_with_http_info(course_id, destination, opts = {})
2100
+ if @api_client.config.debugging
2101
+ @api_client.config.logger.debug 'Calling API: CourseApi.upload_course_asset_file ...'
2102
+ end
2103
+ # verify the required parameter 'course_id' is set
2104
+ if course_id.nil?
2105
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.upload_course_asset_file"
2106
+ end
2107
+ # verify the required parameter 'destination' is set
2108
+ if destination.nil?
2109
+ fail ArgumentError, "Missing the required parameter 'destination' when calling CourseApi.upload_course_asset_file"
2110
+ end
2111
+ # resource path
2112
+ local_var_path = '/courses/{courseId}/asset/upload'.sub('{' + 'courseId' + '}', course_id.to_s)
2113
+
2114
+ # query parameters
2115
+ query_params = {}
2116
+ query_params[:'updateAssetPolicy'] = opts[:'update_asset_policy'] if !opts[:'update_asset_policy'].nil?
2117
+
2118
+ # header parameters
2119
+ header_params = {}
2120
+ # HTTP header 'Accept' (if needed)
2121
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2122
+ # HTTP header 'Content-Type'
2123
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
2124
+
2125
+ # form parameters
2126
+ form_params = {}
2127
+ form_params['destination'] = destination
2128
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
2129
+
2130
+ # http body (model)
2131
+ post_body = nil
2132
+ auth_names = ['APP_NORMAL', 'OAUTH']
2133
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
2134
+ :header_params => header_params,
2135
+ :query_params => query_params,
2136
+ :form_params => form_params,
2137
+ :body => post_body,
2138
+ :auth_names => auth_names,
2139
+ :return_type => 'AssetFileSchema')
2140
+ if @api_client.config.debugging
2141
+ @api_client.config.logger.debug "API called: CourseApi#upload_course_asset_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2142
+ end
2143
+ return data, status_code, headers
2144
+ end
2145
+ # Upload an asset file for Course Version
2146
+ # Creates or updates an asset file uploaded from your file system into the course version. The file will be sent as part of the request and will be stored in SCORM Cloud alongside the course. This is a useful way to modify the course structure without needing to reimport the whole course after you've made changes. >**Info:** >If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for `mayCreateNewVersion`.
2147
+ # @param course_id
2148
+ # @param version_id
2149
+ # @param destination Relative path from the course&#39;s base directory where the asset file will be uploaded. &#x60;/Etiquette/Course.html&#x60; will upload the file into the Etiquette folder of the course.
2150
+ # @param [Hash] opts the optional parameters
2151
+ # @option opts [File] :file The asset file to import into the course.
2152
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases). (default to lax)
2153
+ # @return [AssetFileSchema]
2154
+ def upload_course_version_asset_file(course_id, version_id, destination, opts = {})
2155
+ data, _status_code, _headers = upload_course_version_asset_file_with_http_info(course_id, version_id, destination, opts)
2156
+ data
2157
+ end
2158
+
2159
+ # Upload an asset file for Course Version
2160
+ # Creates or updates an asset file uploaded from your file system into the course version. The file will be sent as part of the request and will be stored in SCORM Cloud alongside the course. This is a useful way to modify the course structure without needing to reimport the whole course after you&#39;ve made changes. &gt;**Info:** &gt;If the course structure is being heavily modified, consider creating a new version instead. This can be done by calling one of the course import jobs while passing true for &#x60;mayCreateNewVersion&#x60;.
2161
+ # @param course_id
2162
+ # @param version_id
2163
+ # @param destination Relative path from the course&#39;s base directory where the asset file will be uploaded. &#x60;/Etiquette/Course.html&#x60; will upload the file into the Etiquette folder of the course.
2164
+ # @param [Hash] opts the optional parameters
2165
+ # @option opts [File] :file The asset file to import into the course.
2166
+ # @option opts [String] :update_asset_policy Describes how SCORM Cloud should handle importing asset files with respect to overwriting files. Valid values are &#39;reject&#39;, &#39;strict&#39;, and &#39;lax&#39;. A &#39;reject&#39; policy request will fail if the asset file already exists on the system (&#39;overwriting&#39; not allowed). A &#39;strict&#39; policy request will fail if the asset file does not already exist (&#39;overwriting&#39; is required). A &#39;lax&#39; policy request will not consider whether the file already exists (i.e., it will attempt to import in all cases).
2167
+ # @return [Array<(AssetFileSchema, Fixnum, Hash)>] AssetFileSchema data, response status code and response headers
2168
+ def upload_course_version_asset_file_with_http_info(course_id, version_id, destination, opts = {})
2169
+ if @api_client.config.debugging
2170
+ @api_client.config.logger.debug 'Calling API: CourseApi.upload_course_version_asset_file ...'
2171
+ end
2172
+ # verify the required parameter 'course_id' is set
2173
+ if course_id.nil?
2174
+ fail ArgumentError, "Missing the required parameter 'course_id' when calling CourseApi.upload_course_version_asset_file"
2175
+ end
2176
+ # verify the required parameter 'version_id' is set
2177
+ if version_id.nil?
2178
+ fail ArgumentError, "Missing the required parameter 'version_id' when calling CourseApi.upload_course_version_asset_file"
2179
+ end
2180
+ # verify the required parameter 'destination' is set
2181
+ if destination.nil?
2182
+ fail ArgumentError, "Missing the required parameter 'destination' when calling CourseApi.upload_course_version_asset_file"
2183
+ end
2184
+ # resource path
2185
+ local_var_path = '/courses/{courseId}/versions/{versionId}/asset/upload'.sub('{' + 'courseId' + '}', course_id.to_s).sub('{' + 'versionId' + '}', version_id.to_s)
2186
+
2187
+ # query parameters
2188
+ query_params = {}
2189
+ query_params[:'updateAssetPolicy'] = opts[:'update_asset_policy'] if !opts[:'update_asset_policy'].nil?
2190
+
2191
+ # header parameters
2192
+ header_params = {}
2193
+ # HTTP header 'Accept' (if needed)
2194
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2195
+ # HTTP header 'Content-Type'
2196
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
2197
+
2198
+ # form parameters
2199
+ form_params = {}
2200
+ form_params['destination'] = destination
2201
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
2202
+
2203
+ # http body (model)
2204
+ post_body = nil
2205
+ auth_names = ['APP_NORMAL', 'OAUTH']
2206
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
2207
+ :header_params => header_params,
2208
+ :query_params => query_params,
2209
+ :form_params => form_params,
2210
+ :body => post_body,
2211
+ :auth_names => auth_names,
2212
+ :return_type => 'AssetFileSchema')
2213
+ if @api_client.config.debugging
2214
+ @api_client.config.logger.debug "API called: CourseApi#upload_course_version_asset_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2215
+ end
2216
+ return data, status_code, headers
2217
+ end
1511
2218
  end
1512
2219
  end