flat_api 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +60 -8
  3. data/LICENSE +201 -0
  4. data/README.md +62 -241
  5. data/lib/flat_api/api/account_api.rb +32 -22
  6. data/lib/flat_api/api/class_api.rb +1671 -453
  7. data/lib/flat_api/api/collection_api.rb +286 -185
  8. data/lib/flat_api/api/edu_resources_api.rb +863 -0
  9. data/lib/flat_api/api/group_api.rb +506 -57
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +808 -192
  12. data/lib/flat_api/api/score_api.rb +1030 -589
  13. data/lib/flat_api/api/task_api.rb +85 -0
  14. data/lib/flat_api/api/user_api.rb +151 -82
  15. data/lib/flat_api/api_client.rb +223 -145
  16. data/lib/flat_api/api_error.rb +24 -4
  17. data/lib/flat_api/api_model_base.rb +88 -0
  18. data/lib/flat_api/client.rb +69 -0
  19. data/lib/flat_api/configuration.rb +224 -36
  20. data/lib/flat_api/errors.rb +86 -0
  21. data/lib/flat_api/models/add_group_user200_response.rb +148 -0
  22. data/lib/flat_api/models/add_group_user_request.rb +165 -0
  23. data/lib/flat_api/models/api_access_token.rb +201 -0
  24. data/lib/flat_api/models/app_scopes.rb +61 -0
  25. data/lib/flat_api/models/assignment.rb +362 -166
  26. data/lib/flat_api/models/assignment_capabilities.rb +256 -0
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +193 -0
  28. data/lib/flat_api/models/assignment_copy.rb +79 -169
  29. data/lib/flat_api/models/assignment_copy_response.rb +535 -0
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +186 -0
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +176 -0
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +337 -131
  34. data/lib/flat_api/models/assignment_submission_comment.rb +209 -0
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +166 -0
  36. data/lib/flat_api/models/assignment_submission_comments.rb +158 -0
  37. data/lib/flat_api/models/assignment_submission_history.rb +337 -0
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +168 -0
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  40. data/lib/flat_api/models/assignment_submission_lti.rb +200 -0
  41. data/lib/flat_api/models/assignment_submission_playback.rb +193 -0
  42. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +157 -113
  45. data/lib/flat_api/models/assignment_type.rb +45 -0
  46. data/lib/flat_api/models/assignment_update.rb +538 -0
  47. data/lib/flat_api/models/class_assignment.rb +750 -0
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +159 -0
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +149 -0
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +159 -0
  51. data/lib/flat_api/models/class_assignment_update.rb +652 -0
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +150 -0
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +152 -0
  54. data/lib/flat_api/models/class_attachment_creation.rb +140 -106
  55. data/lib/flat_api/models/class_creation.rb +142 -108
  56. data/lib/flat_api/models/class_details.rb +244 -125
  57. data/lib/flat_api/models/class_details_canvas.rb +59 -99
  58. data/lib/flat_api/models/class_details_clever.rb +74 -113
  59. data/lib/flat_api/models/class_details_google_classroom.rb +64 -124
  60. data/lib/flat_api/models/class_details_google_drive.rb +61 -101
  61. data/lib/flat_api/models/class_details_issues.rb +151 -0
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +203 -0
  63. data/lib/flat_api/models/class_details_lti.rb +76 -106
  64. data/lib/flat_api/models/class_details_mfc.rb +159 -0
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +148 -0
  66. data/lib/flat_api/models/class_grade_level.rb +43 -0
  67. data/lib/flat_api/models/class_roles.rb +18 -9
  68. data/lib/flat_api/models/class_state.rb +19 -9
  69. data/lib/flat_api/models/class_update.rb +142 -107
  70. data/lib/flat_api/models/collection.rb +304 -115
  71. data/lib/flat_api/models/collection_app.rb +169 -0
  72. data/lib/flat_api/models/collection_capabilities.rb +157 -112
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +120 -104
  75. data/lib/flat_api/models/collection_modification.rb +122 -100
  76. data/lib/flat_api/models/collection_privacy.rb +18 -9
  77. data/lib/flat_api/models/collection_type.rb +22 -11
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +273 -0
  80. data/lib/flat_api/models/edu_resource.rb +383 -0
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +179 -0
  83. data/lib/flat_api/models/edu_resource_copy.rb +166 -0
  84. data/lib/flat_api/models/edu_resource_creation.rb +311 -0
  85. data/lib/flat_api/models/edu_resource_folder.rb +171 -0
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +166 -0
  87. data/lib/flat_api/models/edu_resource_move.rb +166 -0
  88. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  89. data/lib/flat_api/models/edu_resource_resource.rb +104 -0
  90. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  91. data/lib/flat_api/models/edu_resource_update.rb +292 -0
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +176 -0
  93. data/lib/flat_api/models/flat_error_response.rb +109 -105
  94. data/lib/flat_api/models/google_classroom_coursework.rb +74 -103
  95. data/lib/flat_api/models/google_classroom_submission.rb +112 -101
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +70 -122
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +253 -110
  100. data/lib/flat_api/models/group_type.rb +20 -9
  101. data/lib/flat_api/models/license_mode.rb +18 -9
  102. data/lib/flat_api/models/license_sources.rb +21 -9
  103. data/lib/flat_api/models/lms_name.rb +19 -9
  104. data/lib/flat_api/models/lti_configuration.rb +56 -0
  105. data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
  106. data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
  107. data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
  108. data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
  109. data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
  110. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
  111. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
  112. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
  113. data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
  114. data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
  115. data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
  116. data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
  117. data/lib/flat_api/models/lti_configuration_base.rb +306 -0
  118. data/lib/flat_api/models/lti_configuration_create.rb +60 -0
  119. data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
  120. data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
  121. data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
  122. data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
  123. data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
  124. data/lib/flat_api/models/lti_configuration_update.rb +104 -0
  125. data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
  126. data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
  127. data/lib/flat_api/models/lti_credentials.rb +108 -114
  128. data/lib/flat_api/models/lti_credentials_creation.rb +99 -103
  129. data/lib/flat_api/models/media_attachment.rb +189 -137
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +259 -0
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +193 -0
  133. data/lib/flat_api/models/omr_capabilities.rb +480 -0
  134. data/lib/flat_api/models/omr_details_step_data.rb +228 -0
  135. data/lib/flat_api/models/omr_details_submission.rb +288 -0
  136. data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
  137. data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
  138. data/lib/flat_api/models/omr_instrument_override.rb +311 -0
  139. data/lib/flat_api/models/omr_job.rb +394 -0
  140. data/lib/flat_api/models/omr_job_creation.rb +238 -0
  141. data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
  142. data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
  143. data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
  144. data/lib/flat_api/models/omr_job_input_file.rb +176 -0
  145. data/lib/flat_api/models/omr_job_output.rb +40 -0
  146. data/lib/flat_api/models/omr_job_progress.rb +169 -0
  147. data/lib/flat_api/models/omr_job_result.rb +161 -0
  148. data/lib/flat_api/models/omr_job_retention.rb +176 -0
  149. data/lib/flat_api/models/omr_job_status.rb +44 -0
  150. data/lib/flat_api/models/omr_locale_details.rb +193 -0
  151. data/lib/flat_api/models/omr_pending_step.rb +213 -0
  152. data/lib/flat_api/models/omr_step_name.rb +39 -0
  153. data/lib/flat_api/models/organization_invitation.rb +177 -109
  154. data/lib/flat_api/models/organization_invitation_creation.rb +97 -100
  155. data/lib/flat_api/models/organization_roles.rb +19 -10
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +168 -0
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +204 -116
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +72 -112
  160. data/lib/flat_api/models/resource_rights.rb +168 -107
  161. data/lib/flat_api/models/score_comment.rb +200 -121
  162. data/lib/flat_api/models/score_comment_context.rb +161 -124
  163. data/lib/flat_api/models/score_comment_creation.rb +79 -107
  164. data/lib/flat_api/models/score_comment_moderation.rb +193 -0
  165. data/lib/flat_api/models/score_comment_update.rb +81 -115
  166. data/lib/flat_api/models/score_comments_counts.rb +78 -108
  167. data/lib/flat_api/models/score_creation.rb +80 -225
  168. data/lib/flat_api/models/score_creation_builder_data.rb +234 -0
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +173 -0
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +255 -0
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +217 -0
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +222 -0
  173. data/lib/flat_api/models/score_creation_common.rb +201 -0
  174. data/lib/flat_api/models/score_creation_file_import.rb +277 -0
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +234 -0
  176. data/lib/flat_api/models/score_creation_type.rb +18 -9
  177. data/lib/flat_api/models/score_details.rb +428 -146
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +84 -101
  180. data/lib/flat_api/models/score_license.rb +18 -9
  181. data/lib/flat_api/models/score_likes_counts.rb +73 -103
  182. data/lib/flat_api/models/score_modification.rb +178 -115
  183. data/lib/flat_api/models/score_plays_counts.rb +179 -0
  184. data/lib/flat_api/models/score_privacy.rb +18 -9
  185. data/lib/flat_api/models/score_revision.rb +142 -111
  186. data/lib/flat_api/models/score_revision_creation.rb +113 -105
  187. data/lib/flat_api/models/score_revision_statistics.rb +81 -101
  188. data/lib/flat_api/models/score_source.rb +59 -100
  189. data/lib/flat_api/models/score_summary.rb +172 -105
  190. data/lib/flat_api/models/score_track.rb +244 -117
  191. data/lib/flat_api/models/score_track_creation.rb +99 -104
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +78 -103
  194. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  195. data/lib/flat_api/models/score_track_state.rb +18 -9
  196. data/lib/flat_api/models/score_track_type.rb +18 -9
  197. data/lib/flat_api/models/score_track_update.rb +98 -103
  198. data/lib/flat_api/models/score_views_counts.rb +73 -103
  199. data/lib/flat_api/models/task.rb +339 -0
  200. data/lib/flat_api/models/task_export_options.rb +151 -0
  201. data/lib/flat_api/models/task_progress.rb +159 -0
  202. data/lib/flat_api/models/task_result.rb +159 -0
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +42 -0
  205. data/lib/flat_api/models/user_admin_update.rb +206 -106
  206. data/lib/flat_api/models/user_azure_details.rb +168 -0
  207. data/lib/flat_api/models/user_basics.rb +215 -120
  208. data/lib/flat_api/models/user_community_profile_links.rb +205 -0
  209. data/lib/flat_api/models/user_creation.rb +203 -114
  210. data/lib/flat_api/models/user_details.rb +331 -161
  211. data/lib/flat_api/models/user_details_admin.rb +272 -133
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +211 -0
  213. data/lib/flat_api/models/user_public.rb +303 -145
  214. data/lib/flat_api/models/user_public_summary.rb +243 -126
  215. data/lib/flat_api/models/user_signin_link.rb +168 -0
  216. data/lib/flat_api/models/user_signin_link_creation.rb +150 -0
  217. data/lib/flat_api/oauth.rb +128 -0
  218. data/lib/flat_api/pagination.rb +88 -0
  219. data/lib/flat_api/retry.rb +56 -0
  220. data/lib/flat_api/version.rb +5 -5
  221. data/lib/flat_api.rb +144 -16
  222. metadata +154 -434
  223. data/Gemfile +0 -7
  224. data/Rakefile +0 -8
  225. data/docs/AccountApi.md +0 -55
  226. data/docs/Assignment.md +0 -18
  227. data/docs/AssignmentCopy.md +0 -8
  228. data/docs/AssignmentCreation.md +0 -12
  229. data/docs/AssignmentSubmission.md +0 -19
  230. data/docs/AssignmentSubmissionUpdate.md +0 -11
  231. data/docs/ClassApi.md +0 -1051
  232. data/docs/ClassAttachmentCreation.md +0 -10
  233. data/docs/ClassCreation.md +0 -9
  234. data/docs/ClassDetails.md +0 -25
  235. data/docs/ClassDetailsCanvas.md +0 -9
  236. data/docs/ClassDetailsClever.md +0 -14
  237. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  238. data/docs/ClassDetailsGoogleDrive.md +0 -9
  239. data/docs/ClassDetailsLti.md +0 -10
  240. data/docs/ClassRoles.md +0 -7
  241. data/docs/ClassState.md +0 -7
  242. data/docs/ClassUpdate.md +0 -9
  243. data/docs/Collection.md +0 -18
  244. data/docs/CollectionApi.md +0 -521
  245. data/docs/CollectionCapabilities.md +0 -12
  246. data/docs/CollectionCreation.md +0 -8
  247. data/docs/CollectionModification.md +0 -8
  248. data/docs/CollectionPrivacy.md +0 -7
  249. data/docs/CollectionTitle.md +0 -7
  250. data/docs/CollectionType.md +0 -7
  251. data/docs/FlatErrorResponse.md +0 -11
  252. data/docs/FlatLocales.md +0 -7
  253. data/docs/GoogleClassroomCoursework.md +0 -10
  254. data/docs/GoogleClassroomSubmission.md +0 -10
  255. data/docs/Group.md +0 -14
  256. data/docs/GroupApi.md +0 -167
  257. data/docs/GroupDetails.md +0 -14
  258. data/docs/GroupType.md +0 -7
  259. data/docs/LicenseMode.md +0 -7
  260. data/docs/LicenseSources.md +0 -7
  261. data/docs/LmsName.md +0 -7
  262. data/docs/LtiCredentials.md +0 -16
  263. data/docs/LtiCredentialsCreation.md +0 -9
  264. data/docs/MediaAttachment.md +0 -23
  265. data/docs/MediaScoreSharingMode.md +0 -7
  266. data/docs/OrganizationApi.md +0 -538
  267. data/docs/OrganizationInvitation.md +0 -14
  268. data/docs/OrganizationInvitationCreation.md +0 -9
  269. data/docs/OrganizationRoles.md +0 -7
  270. data/docs/ResourceCollaborator.md +0 -16
  271. data/docs/ResourceCollaboratorCreation.md +0 -14
  272. data/docs/ResourceRights.md +0 -10
  273. data/docs/ResourceSharingKey.md +0 -7
  274. data/docs/ScoreApi.md +0 -1658
  275. data/docs/ScoreComment.md +0 -22
  276. data/docs/ScoreCommentContext.md +0 -14
  277. data/docs/ScoreCommentCreation.md +0 -13
  278. data/docs/ScoreCommentUpdate.md +0 -11
  279. data/docs/ScoreCommentsCounts.md +0 -11
  280. data/docs/ScoreCreation.md +0 -14
  281. data/docs/ScoreCreationType.md +0 -7
  282. data/docs/ScoreData.md +0 -7
  283. data/docs/ScoreDataEncoding.md +0 -7
  284. data/docs/ScoreDetails.md +0 -36
  285. data/docs/ScoreFork.md +0 -8
  286. data/docs/ScoreLicense.md +0 -7
  287. data/docs/ScoreLikesCounts.md +0 -10
  288. data/docs/ScoreModification.md +0 -14
  289. data/docs/ScorePrivacy.md +0 -7
  290. data/docs/ScoreRevision.md +0 -14
  291. data/docs/ScoreRevisionCreation.md +0 -11
  292. data/docs/ScoreRevisionStatistics.md +0 -9
  293. data/docs/ScoreSource.md +0 -8
  294. data/docs/ScoreSummary.md +0 -13
  295. data/docs/ScoreTrack.md +0 -19
  296. data/docs/ScoreTrackCreation.md +0 -12
  297. data/docs/ScoreTrackPoint.md +0 -10
  298. data/docs/ScoreTrackState.md +0 -7
  299. data/docs/ScoreTrackType.md +0 -7
  300. data/docs/ScoreTrackUpdate.md +0 -11
  301. data/docs/ScoreViewsCounts.md +0 -10
  302. data/docs/UserAdminUpdate.md +0 -9
  303. data/docs/UserApi.md +0 -173
  304. data/docs/UserBasics.md +0 -13
  305. data/docs/UserCreation.md +0 -11
  306. data/docs/UserDetails.md +0 -28
  307. data/docs/UserDetailsAdmin.md +0 -20
  308. data/docs/UserDetailsAdminLicense.md +0 -12
  309. data/docs/UserInstruments.md +0 -7
  310. data/docs/UserPublic.md +0 -25
  311. data/docs/UserPublicSummary.md +0 -17
  312. data/flat_api.gemspec +0 -48
  313. data/lib/flat_api/models/assignment_creation.rb +0 -230
  314. data/lib/flat_api/models/collection_title.rb +0 -179
  315. data/lib/flat_api/models/flat_locales.rb +0 -36
  316. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  317. data/lib/flat_api/models/score_data.rb +0 -179
  318. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  319. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  320. data/lib/flat_api/models/user_instruments.rb +0 -179
  321. data/spec/api/account_api_spec.rb +0 -46
  322. data/spec/api/class_api_spec.rb +0 -278
  323. data/spec/api/collection_api_spec.rb +0 -159
  324. data/spec/api/group_api_spec.rb +0 -72
  325. data/spec/api/organization_api_spec.rb +0 -162
  326. data/spec/api/score_api_spec.rb +0 -426
  327. data/spec/api/user_api_spec.rb +0 -73
  328. data/spec/api_client_spec.rb +0 -226
  329. data/spec/configuration_spec.rb +0 -42
  330. data/spec/models/assignment_copy_spec.rb +0 -42
  331. data/spec/models/assignment_creation_spec.rb +0 -66
  332. data/spec/models/assignment_spec.rb +0 -106
  333. data/spec/models/assignment_submission_spec.rb +0 -108
  334. data/spec/models/assignment_submission_update_spec.rb +0 -60
  335. data/spec/models/class_attachment_creation_spec.rb +0 -58
  336. data/spec/models/class_creation_spec.rb +0 -48
  337. data/spec/models/class_details_canvas_spec.rb +0 -48
  338. data/spec/models/class_details_clever_spec.rb +0 -82
  339. data/spec/models/class_details_google_classroom_spec.rb +0 -60
  340. data/spec/models/class_details_google_drive_spec.rb +0 -48
  341. data/spec/models/class_details_lti_spec.rb +0 -54
  342. data/spec/models/class_details_spec.rb +0 -144
  343. data/spec/models/class_roles_spec.rb +0 -36
  344. data/spec/models/class_state_spec.rb +0 -36
  345. data/spec/models/class_update_spec.rb +0 -48
  346. data/spec/models/collection_capabilities_spec.rb +0 -66
  347. data/spec/models/collection_creation_spec.rb +0 -42
  348. data/spec/models/collection_modification_spec.rb +0 -42
  349. data/spec/models/collection_privacy_spec.rb +0 -36
  350. data/spec/models/collection_spec.rb +0 -102
  351. data/spec/models/collection_title_spec.rb +0 -36
  352. data/spec/models/collection_type_spec.rb +0 -36
  353. data/spec/models/flat_error_response_spec.rb +0 -60
  354. data/spec/models/flat_locales_spec.rb +0 -36
  355. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  356. data/spec/models/google_classroom_submission_spec.rb +0 -54
  357. data/spec/models/group_details_spec.rb +0 -78
  358. data/spec/models/group_spec.rb +0 -82
  359. data/spec/models/group_type_spec.rb +0 -36
  360. data/spec/models/license_mode_spec.rb +0 -36
  361. data/spec/models/license_sources_spec.rb +0 -36
  362. data/spec/models/lms_name_spec.rb +0 -36
  363. data/spec/models/lti_credentials_creation_spec.rb +0 -48
  364. data/spec/models/lti_credentials_spec.rb +0 -90
  365. data/spec/models/media_attachment_spec.rb +0 -136
  366. data/spec/models/media_score_sharing_mode_spec.rb +0 -36
  367. data/spec/models/organization_invitation_creation_spec.rb +0 -48
  368. data/spec/models/organization_invitation_spec.rb +0 -78
  369. data/spec/models/organization_roles_spec.rb +0 -36
  370. data/spec/models/resource_collaborator_creation_spec.rb +0 -78
  371. data/spec/models/resource_collaborator_spec.rb +0 -90
  372. data/spec/models/resource_rights_spec.rb +0 -54
  373. data/spec/models/resource_sharing_key_spec.rb +0 -36
  374. data/spec/models/score_comment_context_spec.rb +0 -78
  375. data/spec/models/score_comment_creation_spec.rb +0 -72
  376. data/spec/models/score_comment_spec.rb +0 -130
  377. data/spec/models/score_comment_update_spec.rb +0 -60
  378. data/spec/models/score_comments_counts_spec.rb +0 -60
  379. data/spec/models/score_creation_spec.rb +0 -78
  380. data/spec/models/score_creation_type_spec.rb +0 -36
  381. data/spec/models/score_data_encoding_spec.rb +0 -36
  382. data/spec/models/score_data_spec.rb +0 -36
  383. data/spec/models/score_details_spec.rb +0 -210
  384. data/spec/models/score_fork_spec.rb +0 -42
  385. data/spec/models/score_license_spec.rb +0 -36
  386. data/spec/models/score_likes_counts_spec.rb +0 -54
  387. data/spec/models/score_modification_spec.rb +0 -78
  388. data/spec/models/score_privacy_spec.rb +0 -36
  389. data/spec/models/score_revision_creation_spec.rb +0 -60
  390. data/spec/models/score_revision_spec.rb +0 -78
  391. data/spec/models/score_revision_statistics_spec.rb +0 -48
  392. data/spec/models/score_source_spec.rb +0 -42
  393. data/spec/models/score_summary_spec.rb +0 -72
  394. data/spec/models/score_track_creation_spec.rb +0 -66
  395. data/spec/models/score_track_point_spec.rb +0 -58
  396. data/spec/models/score_track_spec.rb +0 -108
  397. data/spec/models/score_track_state_spec.rb +0 -36
  398. data/spec/models/score_track_type_spec.rb +0 -36
  399. data/spec/models/score_track_update_spec.rb +0 -60
  400. data/spec/models/score_views_counts_spec.rb +0 -54
  401. data/spec/models/user_admin_update_spec.rb +0 -48
  402. data/spec/models/user_basics_spec.rb +0 -72
  403. data/spec/models/user_creation_spec.rb +0 -60
  404. data/spec/models/user_details_admin_license_spec.rb +0 -66
  405. data/spec/models/user_details_admin_spec.rb +0 -114
  406. data/spec/models/user_details_spec.rb +0 -166
  407. data/spec/models/user_instruments_spec.rb +0 -36
  408. data/spec/models/user_public_spec.rb +0 -144
  409. data/spec/models/user_public_summary_spec.rb +0 -96
  410. data/spec/spec_helper.rb +0 -111
@@ -0,0 +1,863 @@
1
+ =begin
2
+ #Flat API
3
+
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
+
6
+ The version of the OpenAPI document: 2.26.1
7
+ Contact: developers@flat.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module FlatApi
16
+ class EduResourcesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Copy an education resource to a Resource Library
23
+ # @param resource [String] Unique identifier of the resource
24
+ # @param edu_resource_copy [EduResourceCopy]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [EduResource]
27
+ def copy_edu_resource(resource, edu_resource_copy, opts = {})
28
+ data, _status_code, _headers = copy_edu_resource_with_http_info(resource, edu_resource_copy, opts)
29
+ data
30
+ end
31
+
32
+ # Copy an education resource to a Resource Library
33
+ # @param resource [String] Unique identifier of the resource
34
+ # @param edu_resource_copy [EduResourceCopy]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(EduResource, Integer, Hash)>] EduResource data, response status code and response headers
37
+ def copy_edu_resource_with_http_info(resource, edu_resource_copy, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.copy_edu_resource ...'
40
+ end
41
+ # verify the required parameter 'resource' is set
42
+ if @api_client.config.client_side_validation && resource.nil?
43
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.copy_edu_resource"
44
+ end
45
+ # verify the required parameter 'edu_resource_copy' is set
46
+ if @api_client.config.client_side_validation && edu_resource_copy.nil?
47
+ fail ArgumentError, "Missing the required parameter 'edu_resource_copy' when calling EduResourcesApi.copy_edu_resource"
48
+ end
49
+ # resource path
50
+ local_var_path = '/eduResources/{resource}/copy'.sub('{resource}', CGI.escape(resource.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(edu_resource_copy)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'EduResource'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"EduResourcesApi.copy_edu_resource",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: EduResourcesApi#copy_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+
94
+ # Copy an education assignment to a teacher demo class
95
+ # Once a resource library can be published to a class (`Assignment.capabilities.canPublishInClass = true`), this endpoint can be used for the feature \"View as student\". It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use `POST /classes/{class}/testStudent` to create a testing student account in the demo class.
96
+ # @param resource [String] Unique identifier of the resource
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [ClassAssignment]
99
+ def copy_edu_resource_to_demo_class(resource, opts = {})
100
+ data, _status_code, _headers = copy_edu_resource_to_demo_class_with_http_info(resource, opts)
101
+ data
102
+ end
103
+
104
+ # Copy an education assignment to a teacher demo class
105
+ # Once a resource library can be published to a class (&#x60;Assignment.capabilities.canPublishInClass &#x3D; true&#x60;), this endpoint can be used for the feature \&quot;View as student\&quot;. It will ensure the teacher has a demo class, then copy the assignment to the demo class. You can then use &#x60;POST /classes/{class}/testStudent&#x60; to create a testing student account in the demo class.
106
+ # @param resource [String] Unique identifier of the resource
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(ClassAssignment, Integer, Hash)>] ClassAssignment data, response status code and response headers
109
+ def copy_edu_resource_to_demo_class_with_http_info(resource, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.copy_edu_resource_to_demo_class ...'
112
+ end
113
+ # verify the required parameter 'resource' is set
114
+ if @api_client.config.client_side_validation && resource.nil?
115
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.copy_edu_resource_to_demo_class"
116
+ end
117
+ # resource path
118
+ local_var_path = '/eduResources/{resource}/copyToDemoClass'.sub('{resource}', CGI.escape(resource.to_s))
119
+
120
+ # query parameters
121
+ query_params = opts[:query_params] || {}
122
+
123
+ # header parameters
124
+ header_params = opts[:header_params] || {}
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
127
+
128
+ # form parameters
129
+ form_params = opts[:form_params] || {}
130
+
131
+ # http body (model)
132
+ post_body = opts[:debug_body]
133
+
134
+ # return_type
135
+ return_type = opts[:debug_return_type] || 'ClassAssignment'
136
+
137
+ # auth_names
138
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
139
+
140
+ new_options = opts.merge(
141
+ :operation => :"EduResourcesApi.copy_edu_resource_to_demo_class",
142
+ :header_params => header_params,
143
+ :query_params => query_params,
144
+ :form_params => form_params,
145
+ :body => post_body,
146
+ :auth_names => auth_names,
147
+ :return_type => return_type
148
+ )
149
+
150
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
151
+ if @api_client.config.debugging
152
+ @api_client.config.logger.debug "API called: EduResourcesApi#copy_edu_resource_to_demo_class\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
153
+ end
154
+ return data, status_code, headers
155
+ end
156
+
157
+ # Create a new education resource
158
+ # @param edu_resource_creation [EduResourceCreation]
159
+ # @param [Hash] opts the optional parameters
160
+ # @return [EduResource]
161
+ def create_edu_resource(edu_resource_creation, opts = {})
162
+ data, _status_code, _headers = create_edu_resource_with_http_info(edu_resource_creation, opts)
163
+ data
164
+ end
165
+
166
+ # Create a new education resource
167
+ # @param edu_resource_creation [EduResourceCreation]
168
+ # @param [Hash] opts the optional parameters
169
+ # @return [Array<(EduResource, Integer, Hash)>] EduResource data, response status code and response headers
170
+ def create_edu_resource_with_http_info(edu_resource_creation, opts = {})
171
+ if @api_client.config.debugging
172
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.create_edu_resource ...'
173
+ end
174
+ # verify the required parameter 'edu_resource_creation' is set
175
+ if @api_client.config.client_side_validation && edu_resource_creation.nil?
176
+ fail ArgumentError, "Missing the required parameter 'edu_resource_creation' when calling EduResourcesApi.create_edu_resource"
177
+ end
178
+ # resource path
179
+ local_var_path = '/eduResources'
180
+
181
+ # query parameters
182
+ query_params = opts[:query_params] || {}
183
+
184
+ # header parameters
185
+ header_params = opts[:header_params] || {}
186
+ # HTTP header 'Accept' (if needed)
187
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
188
+ # HTTP header 'Content-Type'
189
+ content_type = @api_client.select_header_content_type(['application/json'])
190
+ if !content_type.nil?
191
+ header_params['Content-Type'] = content_type
192
+ end
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(edu_resource_creation)
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'EduResource'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"EduResourcesApi.create_edu_resource",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: EduResourcesApi#create_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # Create an LTI link for an education resource
224
+ # This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class.
225
+ # @param resource [String] Unique identifier of the resource
226
+ # @param [Hash] opts the optional parameters
227
+ # @return [EduResourceLtiLink]
228
+ def create_edu_resource_lti_link(resource, opts = {})
229
+ data, _status_code, _headers = create_edu_resource_lti_link_with_http_info(resource, opts)
230
+ data
231
+ end
232
+
233
+ # Create an LTI link for an education resource
234
+ # This endpoint will return an LTI link that can be used to launch Flat for Education. The link, in a context from a class, will ensure the assignment has been copied in the class.
235
+ # @param resource [String] Unique identifier of the resource
236
+ # @param [Hash] opts the optional parameters
237
+ # @return [Array<(EduResourceLtiLink, Integer, Hash)>] EduResourceLtiLink data, response status code and response headers
238
+ def create_edu_resource_lti_link_with_http_info(resource, opts = {})
239
+ if @api_client.config.debugging
240
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.create_edu_resource_lti_link ...'
241
+ end
242
+ # verify the required parameter 'resource' is set
243
+ if @api_client.config.client_side_validation && resource.nil?
244
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.create_edu_resource_lti_link"
245
+ end
246
+ # resource path
247
+ local_var_path = '/eduResources/{resource}/createLtiLink'.sub('{resource}', CGI.escape(resource.to_s))
248
+
249
+ # query parameters
250
+ query_params = opts[:query_params] || {}
251
+
252
+ # header parameters
253
+ header_params = opts[:header_params] || {}
254
+ # HTTP header 'Accept' (if needed)
255
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
256
+
257
+ # form parameters
258
+ form_params = opts[:form_params] || {}
259
+
260
+ # http body (model)
261
+ post_body = opts[:debug_body]
262
+
263
+ # return_type
264
+ return_type = opts[:debug_return_type] || 'EduResourceLtiLink'
265
+
266
+ # auth_names
267
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
268
+
269
+ new_options = opts.merge(
270
+ :operation => :"EduResourcesApi.create_edu_resource_lti_link",
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 => return_type
277
+ )
278
+
279
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
280
+ if @api_client.config.debugging
281
+ @api_client.config.logger.debug "API called: EduResourcesApi#create_edu_resource_lti_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
282
+ end
283
+ return data, status_code, headers
284
+ end
285
+
286
+ # Delete an education resource
287
+ # @param resource [String] Unique identifier of the resource
288
+ # @param [Hash] opts the optional parameters
289
+ # @return [nil]
290
+ def delete_edu_resource(resource, opts = {})
291
+ delete_edu_resource_with_http_info(resource, opts)
292
+ nil
293
+ end
294
+
295
+ # Delete an education resource
296
+ # @param resource [String] Unique identifier of the resource
297
+ # @param [Hash] opts the optional parameters
298
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
299
+ def delete_edu_resource_with_http_info(resource, opts = {})
300
+ if @api_client.config.debugging
301
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.delete_edu_resource ...'
302
+ end
303
+ # verify the required parameter 'resource' is set
304
+ if @api_client.config.client_side_validation && resource.nil?
305
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.delete_edu_resource"
306
+ end
307
+ # resource path
308
+ local_var_path = '/eduResources/{resource}'.sub('{resource}', CGI.escape(resource.to_s))
309
+
310
+ # query parameters
311
+ query_params = opts[:query_params] || {}
312
+
313
+ # header parameters
314
+ header_params = opts[:header_params] || {}
315
+ # HTTP header 'Accept' (if needed)
316
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
317
+
318
+ # form parameters
319
+ form_params = opts[:form_params] || {}
320
+
321
+ # http body (model)
322
+ post_body = opts[:debug_body]
323
+
324
+ # return_type
325
+ return_type = opts[:debug_return_type]
326
+
327
+ # auth_names
328
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
329
+
330
+ new_options = opts.merge(
331
+ :operation => :"EduResourcesApi.delete_edu_resource",
332
+ :header_params => header_params,
333
+ :query_params => query_params,
334
+ :form_params => form_params,
335
+ :body => post_body,
336
+ :auth_names => auth_names,
337
+ :return_type => return_type
338
+ )
339
+
340
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
341
+ if @api_client.config.debugging
342
+ @api_client.config.logger.debug "API called: EduResourcesApi#delete_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
343
+ end
344
+ return data, status_code, headers
345
+ end
346
+
347
+ # Get an education resource
348
+ # @param resource [String] Unique identifier of the resource
349
+ # @param [Hash] opts the optional parameters
350
+ # @return [EduResource]
351
+ def get_edu_resource(resource, opts = {})
352
+ data, _status_code, _headers = get_edu_resource_with_http_info(resource, opts)
353
+ data
354
+ end
355
+
356
+ # Get an education resource
357
+ # @param resource [String] Unique identifier of the resource
358
+ # @param [Hash] opts the optional parameters
359
+ # @return [Array<(EduResource, Integer, Hash)>] EduResource data, response status code and response headers
360
+ def get_edu_resource_with_http_info(resource, opts = {})
361
+ if @api_client.config.debugging
362
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.get_edu_resource ...'
363
+ end
364
+ # verify the required parameter 'resource' is set
365
+ if @api_client.config.client_side_validation && resource.nil?
366
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.get_edu_resource"
367
+ end
368
+ # resource path
369
+ local_var_path = '/eduResources/{resource}'.sub('{resource}', CGI.escape(resource.to_s))
370
+
371
+ # query parameters
372
+ query_params = opts[:query_params] || {}
373
+
374
+ # header parameters
375
+ header_params = opts[:header_params] || {}
376
+ # HTTP header 'Accept' (if needed)
377
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
378
+
379
+ # form parameters
380
+ form_params = opts[:form_params] || {}
381
+
382
+ # http body (model)
383
+ post_body = opts[:debug_body]
384
+
385
+ # return_type
386
+ return_type = opts[:debug_return_type] || 'EduResource'
387
+
388
+ # auth_names
389
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
390
+
391
+ new_options = opts.merge(
392
+ :operation => :"EduResourcesApi.get_edu_resource",
393
+ :header_params => header_params,
394
+ :query_params => query_params,
395
+ :form_params => form_params,
396
+ :body => post_body,
397
+ :auth_names => auth_names,
398
+ :return_type => return_type
399
+ )
400
+
401
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
402
+ if @api_client.config.debugging
403
+ @api_client.config.logger.debug "API called: EduResourcesApi#get_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
404
+ end
405
+ return data, status_code, headers
406
+ end
407
+
408
+ # List the education libraries
409
+ # @param [Hash] opts the optional parameters
410
+ # @return [Array<EduLibrary>]
411
+ def list_edu_libraries(opts = {})
412
+ data, _status_code, _headers = list_edu_libraries_with_http_info(opts)
413
+ data
414
+ end
415
+
416
+ # List the education libraries
417
+ # @param [Hash] opts the optional parameters
418
+ # @return [Array<(Array<EduLibrary>, Integer, Hash)>] Array<EduLibrary> data, response status code and response headers
419
+ def list_edu_libraries_with_http_info(opts = {})
420
+ if @api_client.config.debugging
421
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.list_edu_libraries ...'
422
+ end
423
+ # resource path
424
+ local_var_path = '/eduResources/libraries'
425
+
426
+ # query parameters
427
+ query_params = opts[:query_params] || {}
428
+
429
+ # header parameters
430
+ header_params = opts[:header_params] || {}
431
+ # HTTP header 'Accept' (if needed)
432
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
433
+
434
+ # form parameters
435
+ form_params = opts[:form_params] || {}
436
+
437
+ # http body (model)
438
+ post_body = opts[:debug_body]
439
+
440
+ # return_type
441
+ return_type = opts[:debug_return_type] || 'Array<EduLibrary>'
442
+
443
+ # auth_names
444
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
445
+
446
+ new_options = opts.merge(
447
+ :operation => :"EduResourcesApi.list_edu_libraries",
448
+ :header_params => header_params,
449
+ :query_params => query_params,
450
+ :form_params => form_params,
451
+ :body => post_body,
452
+ :auth_names => auth_names,
453
+ :return_type => return_type
454
+ )
455
+
456
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
457
+ if @api_client.config.debugging
458
+ @api_client.config.logger.debug "API called: EduResourcesApi#list_edu_libraries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
459
+ end
460
+ return data, status_code, headers
461
+ end
462
+
463
+ # List education resources in a library or folder
464
+ # @param [Hash] opts the optional parameters
465
+ # @option opts [String] :parent List the resources contained in this &#x60;parent&#x60; library or folder. Accepts a folder identifier, or the identifier of one of the libraries returned by [&#x60;listEduLibraries&#x60;](#tag/EduResources/operation/listEduLibraries). Which libraries are available depends on the account, so use the &#x60;id&#x60; values that endpoint returns rather than hardcoding this list: * &#x60;root&#x60;: the user&#39;s own resources * &#x60;organization&#x60;: resources shared with the organization (default to 'root')
466
+ # @option opts [Boolean] :without_subfolders_resources For the &#x60;parent&#x60; &#x3D; &#x60;organization&#x60;, do not include resources from subfolders. By default in the Resource Library UI, we include resources from subfolders, but for example in a picker like LTI, we don&#39;t want to include them.
467
+ # @option opts [String] :type Filter the returned resources by type
468
+ # @option opts [Array<TeachingTheme>] :subjects Filter the returned resources by subjects
469
+ # @option opts [Array<AssignmentType>] :assignment_types Filter the returned resources by assignment types
470
+ # @option opts [Array<Grade>] :grades Filter the returned resources by grades
471
+ # @option opts [String] :sort Sort (default to 'creationDate')
472
+ # @option opts [String] :direction Sort direction
473
+ # @option opts [Integer] :limit This is the maximum number of resources that may be returned (default to 25)
474
+ # @option opts [String] :_next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the &#x60;Link&#x60; header when requesting the API. These URLs will contain a &#x60;next&#x60; and &#x60;previous&#x60; cursor based on the available data.
475
+ # @option opts [String] :previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the &#x60;Link&#x60; header when requesting the API. These URLs will contain a &#x60;next&#x60; and &#x60;previous&#x60; cursor based on the available data.
476
+ # @return [Array<EduResource>]
477
+ def list_edu_resources(opts = {})
478
+ data, _status_code, _headers = list_edu_resources_with_http_info(opts)
479
+ data
480
+ end
481
+
482
+ # List education resources in a library or folder
483
+ # @param [Hash] opts the optional parameters
484
+ # @option opts [String] :parent List the resources contained in this &#x60;parent&#x60; library or folder. Accepts a folder identifier, or the identifier of one of the libraries returned by [&#x60;listEduLibraries&#x60;](#tag/EduResources/operation/listEduLibraries). Which libraries are available depends on the account, so use the &#x60;id&#x60; values that endpoint returns rather than hardcoding this list: * &#x60;root&#x60;: the user&#39;s own resources * &#x60;organization&#x60;: resources shared with the organization (default to 'root')
485
+ # @option opts [Boolean] :without_subfolders_resources For the &#x60;parent&#x60; &#x3D; &#x60;organization&#x60;, do not include resources from subfolders. By default in the Resource Library UI, we include resources from subfolders, but for example in a picker like LTI, we don&#39;t want to include them.
486
+ # @option opts [String] :type Filter the returned resources by type
487
+ # @option opts [Array<TeachingTheme>] :subjects Filter the returned resources by subjects
488
+ # @option opts [Array<AssignmentType>] :assignment_types Filter the returned resources by assignment types
489
+ # @option opts [Array<Grade>] :grades Filter the returned resources by grades
490
+ # @option opts [String] :sort Sort (default to 'creationDate')
491
+ # @option opts [String] :direction Sort direction
492
+ # @option opts [Integer] :limit This is the maximum number of resources that may be returned (default to 25)
493
+ # @option opts [String] :_next An opaque string cursor to fetch the next page of data. The paginated API URLs are returned in the &#x60;Link&#x60; header when requesting the API. These URLs will contain a &#x60;next&#x60; and &#x60;previous&#x60; cursor based on the available data.
494
+ # @option opts [String] :previous An opaque string cursor to fetch the previous page of data. The paginated API URLs are returned in the &#x60;Link&#x60; header when requesting the API. These URLs will contain a &#x60;next&#x60; and &#x60;previous&#x60; cursor based on the available data.
495
+ # @return [Array<(Array<EduResource>, Integer, Hash)>] Array<EduResource> data, response status code and response headers
496
+ def list_edu_resources_with_http_info(opts = {})
497
+ if @api_client.config.debugging
498
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.list_edu_resources ...'
499
+ end
500
+ allowable_values = ["assignment", "folder"]
501
+ if @api_client.config.client_side_validation && opts[:'type'] && !allowable_values.include?(opts[:'type'])
502
+ fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
503
+ end
504
+ allowable_values = ["creationDate", "updateDate", "title"]
505
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
506
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
507
+ end
508
+ allowable_values = ["asc", "desc"]
509
+ if @api_client.config.client_side_validation && opts[:'direction'] && !allowable_values.include?(opts[:'direction'])
510
+ fail ArgumentError, "invalid value for \"direction\", must be one of #{allowable_values}"
511
+ end
512
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
513
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling EduResourcesApi.list_edu_resources, must be smaller than or equal to 100.'
514
+ end
515
+
516
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
517
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling EduResourcesApi.list_edu_resources, must be greater than or equal to 1.'
518
+ end
519
+
520
+ # resource path
521
+ local_var_path = '/eduResources'
522
+
523
+ # query parameters
524
+ query_params = opts[:query_params] || {}
525
+ query_params[:'parent'] = opts[:'parent'] if !opts[:'parent'].nil?
526
+ query_params[:'withoutSubfoldersResources'] = opts[:'without_subfolders_resources'] if !opts[:'without_subfolders_resources'].nil?
527
+ query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
528
+ query_params[:'subjects'] = @api_client.build_collection_param(opts[:'subjects'], :multi) if !opts[:'subjects'].nil?
529
+ query_params[:'assignmentTypes'] = @api_client.build_collection_param(opts[:'assignment_types'], :multi) if !opts[:'assignment_types'].nil?
530
+ query_params[:'grades'] = @api_client.build_collection_param(opts[:'grades'], :multi) if !opts[:'grades'].nil?
531
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
532
+ query_params[:'direction'] = opts[:'direction'] if !opts[:'direction'].nil?
533
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
534
+ query_params[:'next'] = opts[:'_next'] if !opts[:'_next'].nil?
535
+ query_params[:'previous'] = opts[:'previous'] if !opts[:'previous'].nil?
536
+
537
+ # header parameters
538
+ header_params = opts[:header_params] || {}
539
+ # HTTP header 'Accept' (if needed)
540
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
541
+
542
+ # form parameters
543
+ form_params = opts[:form_params] || {}
544
+
545
+ # http body (model)
546
+ post_body = opts[:debug_body]
547
+
548
+ # return_type
549
+ return_type = opts[:debug_return_type] || 'Array<EduResource>'
550
+
551
+ # auth_names
552
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
553
+
554
+ new_options = opts.merge(
555
+ :operation => :"EduResourcesApi.list_edu_resources",
556
+ :header_params => header_params,
557
+ :query_params => query_params,
558
+ :form_params => form_params,
559
+ :body => post_body,
560
+ :auth_names => auth_names,
561
+ :return_type => return_type
562
+ )
563
+
564
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
565
+ if @api_client.config.debugging
566
+ @api_client.config.logger.debug "API called: EduResourcesApi#list_edu_resources\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
567
+ end
568
+ return data, status_code, headers
569
+ end
570
+
571
+ # Move an education resource
572
+ # @param resource [String] Unique identifier of the resource
573
+ # @param edu_resource_move [EduResourceMove]
574
+ # @param [Hash] opts the optional parameters
575
+ # @return [EduResource]
576
+ def move_edu_resource(resource, edu_resource_move, opts = {})
577
+ data, _status_code, _headers = move_edu_resource_with_http_info(resource, edu_resource_move, opts)
578
+ data
579
+ end
580
+
581
+ # Move an education resource
582
+ # @param resource [String] Unique identifier of the resource
583
+ # @param edu_resource_move [EduResourceMove]
584
+ # @param [Hash] opts the optional parameters
585
+ # @return [Array<(EduResource, Integer, Hash)>] EduResource data, response status code and response headers
586
+ def move_edu_resource_with_http_info(resource, edu_resource_move, opts = {})
587
+ if @api_client.config.debugging
588
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.move_edu_resource ...'
589
+ end
590
+ # verify the required parameter 'resource' is set
591
+ if @api_client.config.client_side_validation && resource.nil?
592
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.move_edu_resource"
593
+ end
594
+ # verify the required parameter 'edu_resource_move' is set
595
+ if @api_client.config.client_side_validation && edu_resource_move.nil?
596
+ fail ArgumentError, "Missing the required parameter 'edu_resource_move' when calling EduResourcesApi.move_edu_resource"
597
+ end
598
+ # resource path
599
+ local_var_path = '/eduResources/{resource}/move'.sub('{resource}', CGI.escape(resource.to_s))
600
+
601
+ # query parameters
602
+ query_params = opts[:query_params] || {}
603
+
604
+ # header parameters
605
+ header_params = opts[:header_params] || {}
606
+ # HTTP header 'Accept' (if needed)
607
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
608
+ # HTTP header 'Content-Type'
609
+ content_type = @api_client.select_header_content_type(['application/json'])
610
+ if !content_type.nil?
611
+ header_params['Content-Type'] = content_type
612
+ end
613
+
614
+ # form parameters
615
+ form_params = opts[:form_params] || {}
616
+
617
+ # http body (model)
618
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(edu_resource_move)
619
+
620
+ # return_type
621
+ return_type = opts[:debug_return_type] || 'EduResource'
622
+
623
+ # auth_names
624
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
625
+
626
+ new_options = opts.merge(
627
+ :operation => :"EduResourcesApi.move_edu_resource",
628
+ :header_params => header_params,
629
+ :query_params => query_params,
630
+ :form_params => form_params,
631
+ :body => post_body,
632
+ :auth_names => auth_names,
633
+ :return_type => return_type
634
+ )
635
+
636
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
637
+ if @api_client.config.debugging
638
+ @api_client.config.logger.debug "API called: EduResourcesApi#move_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
639
+ end
640
+ return data, status_code, headers
641
+ end
642
+
643
+ # Update an education resource metadata
644
+ # Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments.
645
+ # @param resource [String] Unique identifier of the resource
646
+ # @param edu_resource_update [EduResourceUpdate]
647
+ # @param [Hash] opts the optional parameters
648
+ # @return [EduResource]
649
+ def update_edu_resource(resource, edu_resource_update, opts = {})
650
+ data, _status_code, _headers = update_edu_resource_with_http_info(resource, edu_resource_update, opts)
651
+ data
652
+ end
653
+
654
+ # Update an education resource metadata
655
+ # Update any resources metadata (e.g. title). Use this method to rename education resources folders or assignments.
656
+ # @param resource [String] Unique identifier of the resource
657
+ # @param edu_resource_update [EduResourceUpdate]
658
+ # @param [Hash] opts the optional parameters
659
+ # @return [Array<(EduResource, Integer, Hash)>] EduResource data, response status code and response headers
660
+ def update_edu_resource_with_http_info(resource, edu_resource_update, opts = {})
661
+ if @api_client.config.debugging
662
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.update_edu_resource ...'
663
+ end
664
+ # verify the required parameter 'resource' is set
665
+ if @api_client.config.client_side_validation && resource.nil?
666
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.update_edu_resource"
667
+ end
668
+ # verify the required parameter 'edu_resource_update' is set
669
+ if @api_client.config.client_side_validation && edu_resource_update.nil?
670
+ fail ArgumentError, "Missing the required parameter 'edu_resource_update' when calling EduResourcesApi.update_edu_resource"
671
+ end
672
+ # resource path
673
+ local_var_path = '/eduResources/{resource}'.sub('{resource}', CGI.escape(resource.to_s))
674
+
675
+ # query parameters
676
+ query_params = opts[:query_params] || {}
677
+
678
+ # header parameters
679
+ header_params = opts[:header_params] || {}
680
+ # HTTP header 'Accept' (if needed)
681
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
682
+ # HTTP header 'Content-Type'
683
+ content_type = @api_client.select_header_content_type(['application/json'])
684
+ if !content_type.nil?
685
+ header_params['Content-Type'] = content_type
686
+ end
687
+
688
+ # form parameters
689
+ form_params = opts[:form_params] || {}
690
+
691
+ # http body (model)
692
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(edu_resource_update)
693
+
694
+ # return_type
695
+ return_type = opts[:debug_return_type] || 'EduResource'
696
+
697
+ # auth_names
698
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
699
+
700
+ new_options = opts.merge(
701
+ :operation => :"EduResourcesApi.update_edu_resource",
702
+ :header_params => header_params,
703
+ :query_params => query_params,
704
+ :form_params => form_params,
705
+ :body => post_body,
706
+ :auth_names => auth_names,
707
+ :return_type => return_type
708
+ )
709
+
710
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
711
+ if @api_client.config.debugging
712
+ @api_client.config.logger.debug "API called: EduResourcesApi#update_edu_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
713
+ end
714
+ return data, status_code, headers
715
+ end
716
+
717
+ # Update an education resource assignment
718
+ # @param resource [String] Unique identifier of the resource
719
+ # @param assignment_update [AssignmentUpdate]
720
+ # @param [Hash] opts the optional parameters
721
+ # @return [Assignment]
722
+ def update_edu_resource_assignment(resource, assignment_update, opts = {})
723
+ data, _status_code, _headers = update_edu_resource_assignment_with_http_info(resource, assignment_update, opts)
724
+ data
725
+ end
726
+
727
+ # Update an education resource assignment
728
+ # @param resource [String] Unique identifier of the resource
729
+ # @param assignment_update [AssignmentUpdate]
730
+ # @param [Hash] opts the optional parameters
731
+ # @return [Array<(Assignment, Integer, Hash)>] Assignment data, response status code and response headers
732
+ def update_edu_resource_assignment_with_http_info(resource, assignment_update, opts = {})
733
+ if @api_client.config.debugging
734
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.update_edu_resource_assignment ...'
735
+ end
736
+ # verify the required parameter 'resource' is set
737
+ if @api_client.config.client_side_validation && resource.nil?
738
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.update_edu_resource_assignment"
739
+ end
740
+ # verify the required parameter 'assignment_update' is set
741
+ if @api_client.config.client_side_validation && assignment_update.nil?
742
+ fail ArgumentError, "Missing the required parameter 'assignment_update' when calling EduResourcesApi.update_edu_resource_assignment"
743
+ end
744
+ # resource path
745
+ local_var_path = '/eduResources/{resource}/assignment'.sub('{resource}', CGI.escape(resource.to_s))
746
+
747
+ # query parameters
748
+ query_params = opts[:query_params] || {}
749
+
750
+ # header parameters
751
+ header_params = opts[:header_params] || {}
752
+ # HTTP header 'Accept' (if needed)
753
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
754
+ # HTTP header 'Content-Type'
755
+ content_type = @api_client.select_header_content_type(['application/json'])
756
+ if !content_type.nil?
757
+ header_params['Content-Type'] = content_type
758
+ end
759
+
760
+ # form parameters
761
+ form_params = opts[:form_params] || {}
762
+
763
+ # http body (model)
764
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(assignment_update)
765
+
766
+ # return_type
767
+ return_type = opts[:debug_return_type] || 'Assignment'
768
+
769
+ # auth_names
770
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
771
+
772
+ new_options = opts.merge(
773
+ :operation => :"EduResourcesApi.update_edu_resource_assignment",
774
+ :header_params => header_params,
775
+ :query_params => query_params,
776
+ :form_params => form_params,
777
+ :body => post_body,
778
+ :auth_names => auth_names,
779
+ :return_type => return_type
780
+ )
781
+
782
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
783
+ if @api_client.config.debugging
784
+ @api_client.config.logger.debug "API called: EduResourcesApi#update_edu_resource_assignment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
785
+ end
786
+ return data, status_code, headers
787
+ end
788
+
789
+ # Use an education resource in a class
790
+ # This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.).
791
+ # @param resource [String] Unique identifier of the resource
792
+ # @param edu_resource_use_in_class [EduResourceUseInClass]
793
+ # @param [Hash] opts the optional parameters
794
+ # @return [ClassAssignment]
795
+ def use_edu_resource_in_class(resource, edu_resource_use_in_class, opts = {})
796
+ data, _status_code, _headers = use_edu_resource_in_class_with_http_info(resource, edu_resource_use_in_class, opts)
797
+ data
798
+ end
799
+
800
+ # Use an education resource in a class
801
+ # This endpoint will copy a resource and the underlying resources. The assignment will be created as a draft that can be completed with other options before publishing (e.g. due date, publication date for scheduling, etc.).
802
+ # @param resource [String] Unique identifier of the resource
803
+ # @param edu_resource_use_in_class [EduResourceUseInClass]
804
+ # @param [Hash] opts the optional parameters
805
+ # @return [Array<(ClassAssignment, Integer, Hash)>] ClassAssignment data, response status code and response headers
806
+ def use_edu_resource_in_class_with_http_info(resource, edu_resource_use_in_class, opts = {})
807
+ if @api_client.config.debugging
808
+ @api_client.config.logger.debug 'Calling API: EduResourcesApi.use_edu_resource_in_class ...'
809
+ end
810
+ # verify the required parameter 'resource' is set
811
+ if @api_client.config.client_side_validation && resource.nil?
812
+ fail ArgumentError, "Missing the required parameter 'resource' when calling EduResourcesApi.use_edu_resource_in_class"
813
+ end
814
+ # verify the required parameter 'edu_resource_use_in_class' is set
815
+ if @api_client.config.client_side_validation && edu_resource_use_in_class.nil?
816
+ fail ArgumentError, "Missing the required parameter 'edu_resource_use_in_class' when calling EduResourcesApi.use_edu_resource_in_class"
817
+ end
818
+ # resource path
819
+ local_var_path = '/eduResources/{resource}/useInClass'.sub('{resource}', CGI.escape(resource.to_s))
820
+
821
+ # query parameters
822
+ query_params = opts[:query_params] || {}
823
+
824
+ # header parameters
825
+ header_params = opts[:header_params] || {}
826
+ # HTTP header 'Accept' (if needed)
827
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
828
+ # HTTP header 'Content-Type'
829
+ content_type = @api_client.select_header_content_type(['application/json'])
830
+ if !content_type.nil?
831
+ header_params['Content-Type'] = content_type
832
+ end
833
+
834
+ # form parameters
835
+ form_params = opts[:form_params] || {}
836
+
837
+ # http body (model)
838
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(edu_resource_use_in_class)
839
+
840
+ # return_type
841
+ return_type = opts[:debug_return_type] || 'ClassAssignment'
842
+
843
+ # auth_names
844
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
845
+
846
+ new_options = opts.merge(
847
+ :operation => :"EduResourcesApi.use_edu_resource_in_class",
848
+ :header_params => header_params,
849
+ :query_params => query_params,
850
+ :form_params => form_params,
851
+ :body => post_body,
852
+ :auth_names => auth_names,
853
+ :return_type => return_type
854
+ )
855
+
856
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
857
+ if @api_client.config.debugging
858
+ @api_client.config.logger.debug "API called: EduResourcesApi#use_edu_resource_in_class\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
859
+ end
860
+ return data, status_code, headers
861
+ end
862
+ end
863
+ end