flat_api 0.3.5 → 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 (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +69 -0
  3. data/LICENSE +201 -0
  4. data/README.md +92 -0
  5. data/lib/flat_api/api/account_api.rb +4 -4
  6. data/lib/flat_api/api/class_api.rb +281 -63
  7. data/lib/flat_api/api/collection_api.rb +63 -50
  8. data/lib/flat_api/api/edu_resources_api.rb +38 -26
  9. data/lib/flat_api/api/group_api.rb +432 -9
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +307 -35
  12. data/lib/flat_api/api/score_api.rb +129 -80
  13. data/lib/flat_api/api/task_api.rb +5 -5
  14. data/lib/flat_api/api/user_api.rb +45 -14
  15. data/lib/flat_api/api_client.rb +169 -96
  16. data/lib/flat_api/api_error.rb +3 -3
  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 +124 -25
  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 +13 -80
  24. data/lib/flat_api/models/app_scopes.rb +6 -4
  25. data/lib/flat_api/models/assignment.rb +190 -85
  26. data/lib/flat_api/models/assignment_capabilities.rb +53 -80
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +33 -80
  28. data/lib/flat_api/models/assignment_copy.rb +5 -6
  29. data/lib/flat_api/models/assignment_copy_response.rb +187 -82
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +23 -80
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +23 -80
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +104 -81
  34. data/lib/flat_api/models/assignment_submission_comment.rb +13 -80
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +23 -80
  36. data/lib/flat_api/models/assignment_submission_comments.rb +13 -80
  37. data/lib/flat_api/models/assignment_submission_history.rb +33 -80
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +13 -80
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +3 -3
  40. data/lib/flat_api/models/assignment_submission_lti.rb +64 -86
  41. data/lib/flat_api/models/{assignment_submission_playback_inner.rb → assignment_submission_playback.rb} +36 -83
  42. data/lib/flat_api/models/assignment_submission_state.rb +3 -3
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +25 -81
  45. data/lib/flat_api/models/assignment_type.rb +5 -4
  46. data/lib/flat_api/models/assignment_update.rb +218 -87
  47. data/lib/flat_api/models/class_assignment.rb +219 -82
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +13 -80
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +13 -80
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +13 -80
  51. data/lib/flat_api/models/class_assignment_update.rb +237 -94
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +13 -80
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +13 -80
  54. data/lib/flat_api/models/class_attachment_creation.rb +51 -86
  55. data/lib/flat_api/models/class_creation.rb +13 -80
  56. data/lib/flat_api/models/class_details.rb +85 -81
  57. data/lib/flat_api/models/class_details_canvas.rb +13 -80
  58. data/lib/flat_api/models/class_details_clever.rb +13 -80
  59. data/lib/flat_api/models/class_details_google_classroom.rb +13 -80
  60. data/lib/flat_api/models/class_details_google_drive.rb +13 -80
  61. data/lib/flat_api/models/class_details_issues.rb +13 -80
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +15 -82
  63. data/lib/flat_api/models/class_details_lti.rb +28 -85
  64. data/lib/flat_api/models/class_details_mfc.rb +13 -80
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +13 -80
  66. data/lib/flat_api/models/class_grade_level.rb +3 -3
  67. data/lib/flat_api/models/class_roles.rb +3 -3
  68. data/lib/flat_api/models/class_state.rb +5 -4
  69. data/lib/flat_api/models/class_update.rb +13 -80
  70. data/lib/flat_api/models/collection.rb +182 -81
  71. data/lib/flat_api/models/collection_app.rb +13 -80
  72. data/lib/flat_api/models/collection_capabilities.rb +63 -80
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +20 -99
  75. data/lib/flat_api/models/collection_modification.rb +17 -82
  76. data/lib/flat_api/models/collection_privacy.rb +3 -3
  77. data/lib/flat_api/models/collection_type.rb +7 -6
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +63 -82
  80. data/lib/flat_api/models/edu_resource.rb +101 -84
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +27 -84
  83. data/lib/flat_api/models/edu_resource_copy.rb +23 -80
  84. data/lib/flat_api/models/edu_resource_creation.rb +96 -86
  85. data/lib/flat_api/models/edu_resource_folder.rb +39 -84
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +23 -80
  87. data/lib/flat_api/models/edu_resource_move.rb +23 -80
  88. data/lib/flat_api/models/edu_resource_privacy.rb +3 -3
  89. data/lib/flat_api/models/edu_resource_resource.rb +5 -6
  90. data/lib/flat_api/models/edu_resource_type.rb +3 -3
  91. data/lib/flat_api/models/edu_resource_update.rb +101 -86
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +23 -80
  93. data/lib/flat_api/models/flat_error_response.rb +47 -84
  94. data/lib/flat_api/models/google_classroom_coursework.rb +13 -80
  95. data/lib/flat_api/models/google_classroom_submission.rb +43 -80
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +14 -94
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +178 -84
  100. data/lib/flat_api/models/group_type.rb +6 -4
  101. data/lib/flat_api/models/license_mode.rb +3 -3
  102. data/lib/flat_api/models/license_sources.rb +3 -3
  103. data/lib/flat_api/models/lms_name.rb +3 -3
  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 +29 -84
  128. data/lib/flat_api/models/lti_credentials_creation.rb +23 -80
  129. data/lib/flat_api/models/media_attachment.rb +43 -88
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +3 -3
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +99 -88
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +33 -80
  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 +54 -81
  154. data/lib/flat_api/models/organization_invitation_creation.rb +15 -82
  155. data/lib/flat_api/models/organization_roles.rb +5 -5
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +23 -80
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +43 -85
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +13 -80
  160. data/lib/flat_api/models/resource_rights.rb +43 -85
  161. data/lib/flat_api/models/score_comment.rb +122 -80
  162. data/lib/flat_api/models/score_comment_context.rb +73 -80
  163. data/lib/flat_api/models/score_comment_creation.rb +24 -81
  164. data/lib/flat_api/models/score_comment_moderation.rb +13 -80
  165. data/lib/flat_api/models/score_comment_update.rb +18 -85
  166. data/lib/flat_api/models/score_comments_counts.rb +28 -85
  167. data/lib/flat_api/models/score_creation.rb +5 -6
  168. data/lib/flat_api/models/score_creation_builder_data.rb +24 -88
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +23 -80
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +13 -80
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +24 -81
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +33 -80
  173. data/lib/flat_api/models/score_creation_common.rb +14 -81
  174. data/lib/flat_api/models/score_creation_file_import.rb +39 -86
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +24 -81
  176. data/lib/flat_api/models/score_creation_type.rb +4 -5
  177. data/lib/flat_api/models/score_details.rb +180 -89
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +14 -83
  180. data/lib/flat_api/models/score_license.rb +4 -5
  181. data/lib/flat_api/models/score_likes_counts.rb +28 -106
  182. data/lib/flat_api/models/score_modification.rb +13 -80
  183. data/lib/flat_api/models/score_plays_counts.rb +28 -85
  184. data/lib/flat_api/models/score_privacy.rb +3 -3
  185. data/lib/flat_api/models/score_revision.rb +81 -87
  186. data/lib/flat_api/models/score_revision_creation.rb +23 -80
  187. data/lib/flat_api/models/score_revision_statistics.rb +13 -80
  188. data/lib/flat_api/models/score_source.rb +13 -80
  189. data/lib/flat_api/models/score_summary.rb +63 -80
  190. data/lib/flat_api/models/score_track.rb +94 -88
  191. data/lib/flat_api/models/score_track_creation.rb +13 -80
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +23 -80
  194. data/lib/flat_api/models/score_track_purpose.rb +3 -3
  195. data/lib/flat_api/models/score_track_state.rb +3 -3
  196. data/lib/flat_api/models/score_track_type.rb +3 -3
  197. data/lib/flat_api/models/score_track_update.rb +25 -81
  198. data/lib/flat_api/models/score_views_counts.rb +28 -85
  199. data/lib/flat_api/models/task.rb +62 -87
  200. data/lib/flat_api/models/task_export_options.rb +13 -80
  201. data/lib/flat_api/models/task_progress.rb +13 -80
  202. data/lib/flat_api/models/task_result.rb +13 -80
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +3 -3
  205. data/lib/flat_api/models/user_admin_update.rb +17 -95
  206. data/lib/flat_api/models/user_azure_details.rb +13 -80
  207. data/lib/flat_api/models/user_basics.rb +43 -80
  208. data/lib/flat_api/models/user_community_profile_links.rb +13 -80
  209. data/lib/flat_api/models/user_creation.rb +21 -98
  210. data/lib/flat_api/models/user_details.rb +101 -96
  211. data/lib/flat_api/models/user_details_admin.rb +72 -85
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +13 -80
  213. data/lib/flat_api/models/user_public.rb +89 -94
  214. data/lib/flat_api/models/user_public_summary.rb +58 -81
  215. data/lib/flat_api/models/user_signin_link.rb +24 -81
  216. data/lib/flat_api/models/user_signin_link_creation.rb +13 -80
  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 +4 -4
  221. data/lib/flat_api.rb +70 -5
  222. metadata +98 -330
  223. data/lib/flat_api/models/flat_locales.rb +0 -56
  224. data/spec/api/account_api_spec.rb +0 -47
  225. data/spec/api/class_api_spec.rb +0 -422
  226. data/spec/api/collection_api_spec.rb +0 -158
  227. data/spec/api/edu_resources_api_spec.rb +0 -181
  228. data/spec/api/group_api_spec.rb +0 -71
  229. data/spec/api/organization_api_spec.rb +0 -201
  230. data/spec/api/score_api_spec.rb +0 -440
  231. data/spec/api/task_api_spec.rb +0 -47
  232. data/spec/api/user_api_spec.rb +0 -75
  233. data/spec/models/api_access_token_spec.rb +0 -66
  234. data/spec/models/app_scopes_spec.rb +0 -30
  235. data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +0 -42
  236. data/spec/models/assignment_capabilities_spec.rb +0 -60
  237. data/spec/models/assignment_copy_response_spec.rb +0 -124
  238. data/spec/models/assignment_copy_spec.rb +0 -32
  239. data/spec/models/assignment_copy_to_class_spec.rb +0 -48
  240. data/spec/models/assignment_copy_to_resource_library_spec.rb +0 -42
  241. data/spec/models/assignment_spec.rb +0 -118
  242. data/spec/models/assignment_submission_comment_creation_spec.rb +0 -36
  243. data/spec/models/assignment_submission_comment_spec.rb +0 -72
  244. data/spec/models/assignment_submission_comments_spec.rb +0 -42
  245. data/spec/models/assignment_submission_history_attachment_spec.rb +0 -48
  246. data/spec/models/assignment_submission_history_spec.rb +0 -112
  247. data/spec/models/assignment_submission_history_state_spec.rb +0 -30
  248. data/spec/models/assignment_submission_lti_spec.rb +0 -36
  249. data/spec/models/assignment_submission_playback_inner_spec.rb +0 -42
  250. data/spec/models/assignment_submission_spec.rb +0 -144
  251. data/spec/models/assignment_submission_state_spec.rb +0 -30
  252. data/spec/models/assignment_submission_update_spec.rb +0 -66
  253. data/spec/models/assignment_type_spec.rb +0 -30
  254. data/spec/models/assignment_update_spec.rb +0 -100
  255. data/spec/models/class_assignment_all_of_canvas_spec.rb +0 -42
  256. data/spec/models/class_assignment_all_of_lti_spec.rb +0 -36
  257. data/spec/models/class_assignment_all_of_mfc_spec.rb +0 -42
  258. data/spec/models/class_assignment_spec.rb +0 -216
  259. data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +0 -36
  260. data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +0 -36
  261. data/spec/models/class_assignment_update_spec.rb +0 -150
  262. data/spec/models/class_attachment_creation_spec.rb +0 -76
  263. data/spec/models/class_creation_spec.rb +0 -64
  264. data/spec/models/class_details_canvas_spec.rb +0 -42
  265. data/spec/models/class_details_clever_spec.rb +0 -76
  266. data/spec/models/class_details_google_classroom_spec.rb +0 -42
  267. data/spec/models/class_details_google_drive_spec.rb +0 -42
  268. data/spec/models/class_details_issues_spec.rb +0 -36
  269. data/spec/models/class_details_issues_sync_inner_spec.rb +0 -52
  270. data/spec/models/class_details_lti_spec.rb +0 -48
  271. data/spec/models/class_details_mfc_spec.rb +0 -42
  272. data/spec/models/class_details_microsoft_graph_spec.rb +0 -36
  273. data/spec/models/class_details_spec.rb +0 -178
  274. data/spec/models/class_grade_level_spec.rb +0 -30
  275. data/spec/models/class_roles_spec.rb +0 -30
  276. data/spec/models/class_state_spec.rb +0 -30
  277. data/spec/models/class_update_spec.rb +0 -64
  278. data/spec/models/collection_app_spec.rb +0 -48
  279. data/spec/models/collection_capabilities_spec.rb +0 -60
  280. data/spec/models/collection_creation_spec.rb +0 -42
  281. data/spec/models/collection_modification_spec.rb +0 -42
  282. data/spec/models/collection_privacy_spec.rb +0 -30
  283. data/spec/models/collection_spec.rb +0 -114
  284. data/spec/models/collection_type_spec.rb +0 -30
  285. data/spec/models/edu_library_spec.rb +0 -62
  286. data/spec/models/edu_resource_capabilities_spec.rb +0 -48
  287. data/spec/models/edu_resource_copy_spec.rb +0 -36
  288. data/spec/models/edu_resource_creation_spec.rb +0 -48
  289. data/spec/models/edu_resource_folder_spec.rb +0 -36
  290. data/spec/models/edu_resource_lti_link_spec.rb +0 -36
  291. data/spec/models/edu_resource_move_spec.rb +0 -36
  292. data/spec/models/edu_resource_privacy_spec.rb +0 -30
  293. data/spec/models/edu_resource_resource_spec.rb +0 -32
  294. data/spec/models/edu_resource_spec.rb +0 -96
  295. data/spec/models/edu_resource_type_spec.rb +0 -30
  296. data/spec/models/edu_resource_update_spec.rb +0 -42
  297. data/spec/models/edu_resource_use_in_class_spec.rb +0 -42
  298. data/spec/models/flat_error_response_spec.rb +0 -54
  299. data/spec/models/flat_locales_spec.rb +0 -30
  300. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  301. data/spec/models/google_classroom_submission_spec.rb +0 -48
  302. data/spec/models/group_details_spec.rb +0 -72
  303. data/spec/models/group_spec.rb +0 -76
  304. data/spec/models/group_type_spec.rb +0 -30
  305. data/spec/models/license_mode_spec.rb +0 -30
  306. data/spec/models/license_sources_spec.rb +0 -30
  307. data/spec/models/lms_name_spec.rb +0 -30
  308. data/spec/models/lti_credentials_creation_spec.rb +0 -42
  309. data/spec/models/lti_credentials_spec.rb +0 -84
  310. data/spec/models/media_attachment_spec.rb +0 -166
  311. data/spec/models/media_score_sharing_mode_spec.rb +0 -30
  312. data/spec/models/microsoft_graph_assignment_spec.rb +0 -54
  313. data/spec/models/microsoft_graph_submission_spec.rb +0 -42
  314. data/spec/models/organization_invitation_creation_spec.rb +0 -46
  315. data/spec/models/organization_invitation_spec.rb +0 -84
  316. data/spec/models/organization_roles_spec.rb +0 -30
  317. data/spec/models/organization_user_access_token_creation_spec.rb +0 -36
  318. data/spec/models/resource_collaborator_creation_spec.rb +0 -72
  319. data/spec/models/resource_collaborator_spec.rb +0 -112
  320. data/spec/models/resource_rights_spec.rb +0 -64
  321. data/spec/models/score_comment_context_spec.rb +0 -78
  322. data/spec/models/score_comment_creation_spec.rb +0 -66
  323. data/spec/models/score_comment_moderation_spec.rb +0 -46
  324. data/spec/models/score_comment_spec.rb +0 -130
  325. data/spec/models/score_comment_update_spec.rb +0 -54
  326. data/spec/models/score_comments_counts_spec.rb +0 -54
  327. data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +0 -82
  328. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +0 -60
  329. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +0 -66
  330. data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +0 -42
  331. data/spec/models/score_creation_builder_data_spec.rb +0 -60
  332. data/spec/models/score_creation_common_spec.rb +0 -54
  333. data/spec/models/score_creation_file_import_spec.rb +0 -76
  334. data/spec/models/score_creation_google_drive_import_spec.rb +0 -60
  335. data/spec/models/score_creation_spec.rb +0 -32
  336. data/spec/models/score_creation_type_spec.rb +0 -30
  337. data/spec/models/score_details_spec.rb +0 -240
  338. data/spec/models/score_fork_spec.rb +0 -48
  339. data/spec/models/score_license_spec.rb +0 -30
  340. data/spec/models/score_likes_counts_spec.rb +0 -48
  341. data/spec/models/score_modification_spec.rb +0 -102
  342. data/spec/models/score_plays_counts_spec.rb +0 -48
  343. data/spec/models/score_privacy_spec.rb +0 -30
  344. data/spec/models/score_revision_creation_spec.rb +0 -58
  345. data/spec/models/score_revision_spec.rb +0 -78
  346. data/spec/models/score_revision_statistics_spec.rb +0 -54
  347. data/spec/models/score_source_spec.rb +0 -36
  348. data/spec/models/score_summary_spec.rb +0 -66
  349. data/spec/models/score_track_creation_spec.rb +0 -66
  350. data/spec/models/score_track_point_spec.rb +0 -52
  351. data/spec/models/score_track_purpose_spec.rb +0 -30
  352. data/spec/models/score_track_spec.rb +0 -108
  353. data/spec/models/score_track_state_spec.rb +0 -30
  354. data/spec/models/score_track_type_spec.rb +0 -30
  355. data/spec/models/score_track_update_spec.rb +0 -54
  356. data/spec/models/score_views_counts_spec.rb +0 -48
  357. data/spec/models/task_export_options_spec.rb +0 -36
  358. data/spec/models/task_progress_spec.rb +0 -42
  359. data/spec/models/task_result_spec.rb +0 -42
  360. data/spec/models/task_spec.rb +0 -100
  361. data/spec/models/tutteo_product_spec.rb +0 -30
  362. data/spec/models/user_admin_update_spec.rb +0 -66
  363. data/spec/models/user_azure_details_spec.rb +0 -48
  364. data/spec/models/user_basics_spec.rb +0 -94
  365. data/spec/models/user_community_profile_links_spec.rb +0 -66
  366. data/spec/models/user_creation_spec.rb +0 -76
  367. data/spec/models/user_details_admin_all_of_license_spec.rb +0 -60
  368. data/spec/models/user_details_admin_spec.rb +0 -142
  369. data/spec/models/user_details_spec.rb +0 -214
  370. data/spec/models/user_public_spec.rb +0 -178
  371. data/spec/models/user_public_summary_spec.rb +0 -118
  372. data/spec/models/user_signin_link_creation_spec.rb +0 -36
  373. data/spec/models/user_signin_link_spec.rb +0 -42
  374. data/spec/spec_helper.rb +0 -111
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flat API
3
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 (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * 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)
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
5
 
6
- The version of the OpenAPI document: 2.20.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
@@ -20,10 +20,11 @@ module FlatApi
20
20
  SCORE_TEMPLATE = "scoreTemplate".freeze
21
21
  SHARED_WRITING = "sharedWriting".freeze
22
22
  WORKSHEET = "worksheet".freeze
23
+ WORKSHEET_TEXT = "worksheetText".freeze
23
24
  PERFORMANCE = "performance".freeze
24
25
 
25
26
  def self.all_vars
26
- @all_vars ||= [NONE, NEW_SCORE, SCORE_TEMPLATE, SHARED_WRITING, WORKSHEET, PERFORMANCE].freeze
27
+ @all_vars ||= [NONE, NEW_SCORE, SCORE_TEMPLATE, SHARED_WRITING, WORKSHEET, WORKSHEET_TEXT, PERFORMANCE].freeze
27
28
  end
28
29
 
29
30
  # Builds the enum from string
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flat API
3
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 (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * 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)
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
5
 
6
- The version of the OpenAPI document: 2.20.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
@@ -15,20 +15,36 @@ require 'time'
15
15
 
16
16
  module FlatApi
17
17
  # Assignment Resource Editing
18
- class AssignmentUpdate
18
+ class AssignmentUpdate < ApiModelBase
19
19
  attr_accessor :type
20
20
 
21
21
  # Title of the assignment
22
22
  attr_accessor :title
23
23
 
24
- # Description and content of the assignment
24
+ # Student instructions and content of the assignment (plain text)
25
25
  attr_accessor :description
26
26
 
27
+ # HTML version of student instructions. Pasted images may be sent as inline base64 `data:` URIs; they are uploaded to storage and rewritten to hosted URLs on save. The final HTML is limited to 100000 characters. When provided, the plain text version will be automatically extracted for compatibility.
28
+ attr_accessor :description_html
29
+
30
+ # Teacher-only instructions (plain text)
31
+ attr_accessor :teacher_instructions
32
+
33
+ # HTML version of teacher-only instructions. Pasted images may be sent as inline base64 `data:` URIs; they are uploaded to storage and rewritten to hosted URLs on save. The final HTML is limited to 100000 characters. When provided, the plain text version will be automatically extracted for compatibility.
34
+ attr_accessor :teacher_instructions_html
35
+
36
+ # The complete attachment list. Omitting this property on an update leaves the existing attachments alone; sending it replaces them. Dropping a dedicated score from the list deletes the students' copies of it, so send the full set you want to keep rather than only the additions. Duplicates, judged by `url`, `score`, `worksheet` or `googleDriveFileId`, are discarded silently, and exceeding the per-assignment limit fails with `ASSIGNMENT_ATTACHMENTS_LIMIT`.
27
37
  attr_accessor :attachments
28
38
 
29
39
  # The number of playback authorized on the scores of the assignment.
30
40
  attr_accessor :nb_playback_authorized
31
41
 
42
+ # Restrict the ability to get an audio feedback every time a student adds or selects a note.
43
+ attr_accessor :restrict_play_note
44
+
45
+ # Restrict the audio source to provided audio tracks on a score. Students won't be able to use the editor playback.
46
+ attr_accessor :restrict_to_audio_tracks
47
+
32
48
  # The id of the toolset to apply to this assignment. The toolset will be copied to the assignment as a dedicated object to prevent unexpected changes when making modifications to the template toolset. This property can be set to null to delete the linked toolset and switch back to all the tools available for this assignment.
33
49
  attr_accessor :toolset
34
50
 
@@ -47,6 +63,23 @@ module FlatApi
47
63
  # Mixing worksheets exercises for each student
48
64
  attr_accessor :shuffle_exercises
49
65
 
66
+ attr_accessor :submission_students_mode
67
+
68
+ # For performance assignments: recording type that will be either 'audio' or 'video'. * `audio`: Only audio will be required during the recording. * `video`: Camera will be required during the recording. Only set when type is 'performance'.
69
+ attr_accessor :recording_type
70
+
71
+ # For performance assignments: Enable students to use the metronome while they are recording, helping them stay in time. Only set when type is 'performance'.
72
+ attr_accessor :allow_metronome
73
+
74
+ # For performance assignments: Enable students to listen to the accompaniment without their instrument part while they are playing. Only set when type is 'performance'.
75
+ attr_accessor :allow_backing_track
76
+
77
+ # For performance assignments: whether students can adjust the playback speed of the score during recording. * `true`: Students can change the tempo/speed during practice and recording * `false`: Tempo is fixed to the original score tempo Only set when type is 'performance'.
78
+ attr_accessor :allow_speed_change
79
+
80
+ # For performance assignments: \"Free Record\" mode. When `true`, no score is attached to the assignment. Students freely record a varied repertoire or an ensemble performance without being constrained by a single score's structure or duration, and all score-dependent options (playback, metronome, backtracking, speed control) are hidden. Only set when type is 'performance'.
81
+ attr_accessor :free_record
82
+
50
83
  class EnumAttributeValidator
51
84
  attr_reader :datatype
52
85
  attr_reader :allowable_values
@@ -75,20 +108,36 @@ module FlatApi
75
108
  :'type' => :'type',
76
109
  :'title' => :'title',
77
110
  :'description' => :'description',
111
+ :'description_html' => :'descriptionHtml',
112
+ :'teacher_instructions' => :'teacherInstructions',
113
+ :'teacher_instructions_html' => :'teacherInstructionsHtml',
78
114
  :'attachments' => :'attachments',
79
115
  :'nb_playback_authorized' => :'nbPlaybackAuthorized',
116
+ :'restrict_play_note' => :'restrictPlayNote',
117
+ :'restrict_to_audio_tracks' => :'restrictToAudioTracks',
80
118
  :'toolset' => :'toolset',
81
119
  :'cover_file' => :'coverFile',
82
120
  :'cover' => :'cover',
83
121
  :'max_points' => :'maxPoints',
84
122
  :'release_grades' => :'releaseGrades',
85
- :'shuffle_exercises' => :'shuffleExercises'
123
+ :'shuffle_exercises' => :'shuffleExercises',
124
+ :'submission_students_mode' => :'submissionStudentsMode',
125
+ :'recording_type' => :'recordingType',
126
+ :'allow_metronome' => :'allowMetronome',
127
+ :'allow_backing_track' => :'allowBackingTrack',
128
+ :'allow_speed_change' => :'allowSpeedChange',
129
+ :'free_record' => :'freeRecord'
86
130
  }
87
131
  end
88
132
 
133
+ # Returns attribute mapping this model knows about
134
+ def self.acceptable_attribute_map
135
+ attribute_map
136
+ end
137
+
89
138
  # Returns all the JSON keys this model knows about
90
139
  def self.acceptable_attributes
91
- attribute_map.values
140
+ acceptable_attribute_map.values
92
141
  end
93
142
 
94
143
  # Attribute type mapping.
@@ -97,14 +146,25 @@ module FlatApi
97
146
  :'type' => :'AssignmentType',
98
147
  :'title' => :'String',
99
148
  :'description' => :'String',
149
+ :'description_html' => :'String',
150
+ :'teacher_instructions' => :'String',
151
+ :'teacher_instructions_html' => :'String',
100
152
  :'attachments' => :'Array<ClassAttachmentCreation>',
101
153
  :'nb_playback_authorized' => :'Float',
154
+ :'restrict_play_note' => :'Boolean',
155
+ :'restrict_to_audio_tracks' => :'Boolean',
102
156
  :'toolset' => :'String',
103
157
  :'cover_file' => :'String',
104
158
  :'cover' => :'String',
105
159
  :'max_points' => :'Float',
106
160
  :'release_grades' => :'String',
107
- :'shuffle_exercises' => :'Boolean'
161
+ :'shuffle_exercises' => :'Boolean',
162
+ :'submission_students_mode' => :'AssignmentSubmissionStudentsMode',
163
+ :'recording_type' => :'String',
164
+ :'allow_metronome' => :'Boolean',
165
+ :'allow_backing_track' => :'Boolean',
166
+ :'allow_speed_change' => :'Boolean',
167
+ :'free_record' => :'Boolean'
108
168
  }
109
169
  end
110
170
 
@@ -127,9 +187,10 @@ module FlatApi
127
187
  end
128
188
 
129
189
  # check to see if the attribute exists and convert string to symbol for hash key
190
+ acceptable_attribute_map = self.class.acceptable_attribute_map
130
191
  attributes = attributes.each_with_object({}) { |(k, v), h|
131
- if (!self.class.attribute_map.key?(k.to_sym))
132
- fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
192
+ if (!acceptable_attribute_map.key?(k.to_sym))
193
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentUpdate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
133
194
  end
134
195
  h[k.to_sym] = v
135
196
  }
@@ -146,6 +207,18 @@ module FlatApi
146
207
  self.description = attributes[:'description']
147
208
  end
148
209
 
210
+ if attributes.key?(:'description_html')
211
+ self.description_html = attributes[:'description_html']
212
+ end
213
+
214
+ if attributes.key?(:'teacher_instructions')
215
+ self.teacher_instructions = attributes[:'teacher_instructions']
216
+ end
217
+
218
+ if attributes.key?(:'teacher_instructions_html')
219
+ self.teacher_instructions_html = attributes[:'teacher_instructions_html']
220
+ end
221
+
149
222
  if attributes.key?(:'attachments')
150
223
  if (value = attributes[:'attachments']).is_a?(Array)
151
224
  self.attachments = value
@@ -156,6 +229,14 @@ module FlatApi
156
229
  self.nb_playback_authorized = attributes[:'nb_playback_authorized']
157
230
  end
158
231
 
232
+ if attributes.key?(:'restrict_play_note')
233
+ self.restrict_play_note = attributes[:'restrict_play_note']
234
+ end
235
+
236
+ if attributes.key?(:'restrict_to_audio_tracks')
237
+ self.restrict_to_audio_tracks = attributes[:'restrict_to_audio_tracks']
238
+ end
239
+
159
240
  if attributes.key?(:'toolset')
160
241
  self.toolset = attributes[:'toolset']
161
242
  end
@@ -179,6 +260,30 @@ module FlatApi
179
260
  if attributes.key?(:'shuffle_exercises')
180
261
  self.shuffle_exercises = attributes[:'shuffle_exercises']
181
262
  end
263
+
264
+ if attributes.key?(:'submission_students_mode')
265
+ self.submission_students_mode = attributes[:'submission_students_mode']
266
+ end
267
+
268
+ if attributes.key?(:'recording_type')
269
+ self.recording_type = attributes[:'recording_type']
270
+ end
271
+
272
+ if attributes.key?(:'allow_metronome')
273
+ self.allow_metronome = attributes[:'allow_metronome']
274
+ end
275
+
276
+ if attributes.key?(:'allow_backing_track')
277
+ self.allow_backing_track = attributes[:'allow_backing_track']
278
+ end
279
+
280
+ if attributes.key?(:'allow_speed_change')
281
+ self.allow_speed_change = attributes[:'allow_speed_change']
282
+ end
283
+
284
+ if attributes.key?(:'free_record')
285
+ self.free_record = attributes[:'free_record']
286
+ end
182
287
  end
183
288
 
184
289
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -191,7 +296,23 @@ module FlatApi
191
296
  end
192
297
 
193
298
  if !@title.nil? && @title.to_s.length < 1
194
- invalid_properties.push('invalid value for "title", the character length must be great than or equal to 1.')
299
+ invalid_properties.push('invalid value for "title", the character length must be greater than or equal to 1.')
300
+ end
301
+
302
+ if !@description.nil? && @description.to_s.length > 100000
303
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 100000.')
304
+ end
305
+
306
+ if !@description_html.nil? && @description_html.to_s.length > 20000000
307
+ invalid_properties.push('invalid value for "description_html", the character length must be smaller than or equal to 20000000.')
308
+ end
309
+
310
+ if !@teacher_instructions.nil? && @teacher_instructions.to_s.length > 100000
311
+ invalid_properties.push('invalid value for "teacher_instructions", the character length must be smaller than or equal to 100000.')
312
+ end
313
+
314
+ if !@teacher_instructions_html.nil? && @teacher_instructions_html.to_s.length > 20000000
315
+ invalid_properties.push('invalid value for "teacher_instructions_html", the character length must be smaller than or equal to 20000000.')
195
316
  end
196
317
 
197
318
  if !@max_points.nil? && @max_points > 10000
@@ -211,10 +332,16 @@ module FlatApi
211
332
  warn '[DEPRECATED] the `valid?` method is obsolete'
212
333
  return false if !@title.nil? && @title.to_s.length > 1000
213
334
  return false if !@title.nil? && @title.to_s.length < 1
335
+ return false if !@description.nil? && @description.to_s.length > 100000
336
+ return false if !@description_html.nil? && @description_html.to_s.length > 20000000
337
+ return false if !@teacher_instructions.nil? && @teacher_instructions.to_s.length > 100000
338
+ return false if !@teacher_instructions_html.nil? && @teacher_instructions_html.to_s.length > 20000000
214
339
  return false if !@max_points.nil? && @max_points > 10000
215
340
  return false if !@max_points.nil? && @max_points < 0
216
341
  release_grades_validator = EnumAttributeValidator.new('String', ["auto", "manual"])
217
342
  return false unless release_grades_validator.valid?(@release_grades)
343
+ recording_type_validator = EnumAttributeValidator.new('String', ["audio", "video"])
344
+ return false unless recording_type_validator.valid?(@recording_type)
218
345
  true
219
346
  end
220
347
 
@@ -230,12 +357,68 @@ module FlatApi
230
357
  end
231
358
 
232
359
  if title.to_s.length < 1
233
- fail ArgumentError, 'invalid value for "title", the character length must be great than or equal to 1.'
360
+ fail ArgumentError, 'invalid value for "title", the character length must be greater than or equal to 1.'
234
361
  end
235
362
 
236
363
  @title = title
237
364
  end
238
365
 
366
+ # Custom attribute writer method with validation
367
+ # @param [Object] description Value to be assigned
368
+ def description=(description)
369
+ if description.nil?
370
+ fail ArgumentError, 'description cannot be nil'
371
+ end
372
+
373
+ if description.to_s.length > 100000
374
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 100000.'
375
+ end
376
+
377
+ @description = description
378
+ end
379
+
380
+ # Custom attribute writer method with validation
381
+ # @param [Object] description_html Value to be assigned
382
+ def description_html=(description_html)
383
+ if description_html.nil?
384
+ fail ArgumentError, 'description_html cannot be nil'
385
+ end
386
+
387
+ if description_html.to_s.length > 20000000
388
+ fail ArgumentError, 'invalid value for "description_html", the character length must be smaller than or equal to 20000000.'
389
+ end
390
+
391
+ @description_html = description_html
392
+ end
393
+
394
+ # Custom attribute writer method with validation
395
+ # @param [Object] teacher_instructions Value to be assigned
396
+ def teacher_instructions=(teacher_instructions)
397
+ if teacher_instructions.nil?
398
+ fail ArgumentError, 'teacher_instructions cannot be nil'
399
+ end
400
+
401
+ if teacher_instructions.to_s.length > 100000
402
+ fail ArgumentError, 'invalid value for "teacher_instructions", the character length must be smaller than or equal to 100000.'
403
+ end
404
+
405
+ @teacher_instructions = teacher_instructions
406
+ end
407
+
408
+ # Custom attribute writer method with validation
409
+ # @param [Object] teacher_instructions_html Value to be assigned
410
+ def teacher_instructions_html=(teacher_instructions_html)
411
+ if teacher_instructions_html.nil?
412
+ fail ArgumentError, 'teacher_instructions_html cannot be nil'
413
+ end
414
+
415
+ if teacher_instructions_html.to_s.length > 20000000
416
+ fail ArgumentError, 'invalid value for "teacher_instructions_html", the character length must be smaller than or equal to 20000000.'
417
+ end
418
+
419
+ @teacher_instructions_html = teacher_instructions_html
420
+ end
421
+
239
422
  # Custom attribute writer method with validation
240
423
  # @param [Object] max_points Value to be assigned
241
424
  def max_points=(max_points)
@@ -260,6 +443,16 @@ module FlatApi
260
443
  @release_grades = release_grades
261
444
  end
262
445
 
446
+ # Custom attribute writer method checking allowed values (enum).
447
+ # @param [Object] recording_type Object to be assigned
448
+ def recording_type=(recording_type)
449
+ validator = EnumAttributeValidator.new('String', ["audio", "video"])
450
+ unless validator.valid?(recording_type)
451
+ fail ArgumentError, "invalid value for \"recording_type\", must be one of #{validator.allowable_values}."
452
+ end
453
+ @recording_type = recording_type
454
+ end
455
+
263
456
  # Checks equality by comparing each attribute.
264
457
  # @param [Object] Object to be compared
265
458
  def ==(o)
@@ -268,14 +461,25 @@ module FlatApi
268
461
  type == o.type &&
269
462
  title == o.title &&
270
463
  description == o.description &&
464
+ description_html == o.description_html &&
465
+ teacher_instructions == o.teacher_instructions &&
466
+ teacher_instructions_html == o.teacher_instructions_html &&
271
467
  attachments == o.attachments &&
272
468
  nb_playback_authorized == o.nb_playback_authorized &&
469
+ restrict_play_note == o.restrict_play_note &&
470
+ restrict_to_audio_tracks == o.restrict_to_audio_tracks &&
273
471
  toolset == o.toolset &&
274
472
  cover_file == o.cover_file &&
275
473
  cover == o.cover &&
276
474
  max_points == o.max_points &&
277
475
  release_grades == o.release_grades &&
278
- shuffle_exercises == o.shuffle_exercises
476
+ shuffle_exercises == o.shuffle_exercises &&
477
+ submission_students_mode == o.submission_students_mode &&
478
+ recording_type == o.recording_type &&
479
+ allow_metronome == o.allow_metronome &&
480
+ allow_backing_track == o.allow_backing_track &&
481
+ allow_speed_change == o.allow_speed_change &&
482
+ free_record == o.free_record
279
483
  end
280
484
 
281
485
  # @see the `==` method
@@ -287,7 +491,7 @@ module FlatApi
287
491
  # Calculates hash code according to all attributes.
288
492
  # @return [Integer] Hash code
289
493
  def hash
290
- [type, title, description, attachments, nb_playback_authorized, toolset, cover_file, cover, max_points, release_grades, shuffle_exercises].hash
494
+ [type, title, description, description_html, teacher_instructions, teacher_instructions_html, attachments, nb_playback_authorized, restrict_play_note, restrict_to_audio_tracks, toolset, cover_file, cover, max_points, release_grades, shuffle_exercises, submission_students_mode, recording_type, allow_metronome, allow_backing_track, allow_speed_change, free_record].hash
291
495
  end
292
496
 
293
497
  # Builds the object from hash
@@ -313,61 +517,6 @@ module FlatApi
313
517
  new(transformed_hash)
314
518
  end
315
519
 
316
- # Deserializes the data based on type
317
- # @param string type Data type
318
- # @param string value Value to be deserialized
319
- # @return [Object] Deserialized data
320
- def self._deserialize(type, value)
321
- case type.to_sym
322
- when :Time
323
- Time.parse(value)
324
- when :Date
325
- Date.parse(value)
326
- when :String
327
- value.to_s
328
- when :Integer
329
- value.to_i
330
- when :Float
331
- value.to_f
332
- when :Boolean
333
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
334
- true
335
- else
336
- false
337
- end
338
- when :Object
339
- # generic object (usually a Hash), return directly
340
- value
341
- when /\AArray<(?<inner_type>.+)>\z/
342
- inner_type = Regexp.last_match[:inner_type]
343
- value.map { |v| _deserialize(inner_type, v) }
344
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
345
- k_type = Regexp.last_match[:k_type]
346
- v_type = Regexp.last_match[:v_type]
347
- {}.tap do |hash|
348
- value.each do |k, v|
349
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
350
- end
351
- end
352
- else # model
353
- # models (e.g. Pet) or oneOf
354
- klass = FlatApi.const_get(type)
355
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
356
- end
357
- end
358
-
359
- # Returns the string representation of the object
360
- # @return [String] String presentation of the object
361
- def to_s
362
- to_hash.to_s
363
- end
364
-
365
- # to_body is an alias to to_hash (backward compatibility)
366
- # @return [Hash] Returns the object in the form of hash
367
- def to_body
368
- to_hash
369
- end
370
-
371
520
  # Returns the object in the form of hash
372
521
  # @return [Hash] Returns the object in the form of hash
373
522
  def to_hash
@@ -384,24 +533,6 @@ module FlatApi
384
533
  hash
385
534
  end
386
535
 
387
- # Outputs non-array value in the form of hash
388
- # For object, use to_hash. Otherwise, just return the value
389
- # @param [Object] value Any valid value
390
- # @return [Hash] Returns the value in the form of hash
391
- def _to_hash(value)
392
- if value.is_a?(Array)
393
- value.compact.map { |v| _to_hash(v) }
394
- elsif value.is_a?(Hash)
395
- {}.tap do |hash|
396
- value.each { |k, v| hash[k] = _to_hash(v) }
397
- end
398
- elsif value.respond_to? :to_hash
399
- value.to_hash
400
- else
401
- value
402
- end
403
- end
404
-
405
536
  end
406
537
 
407
538
  end