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
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module FlatApi
17
17
  # Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object
18
- class MediaAttachment
18
+ class MediaAttachment < ApiModelBase
19
19
  # The type of the assignment resolved: * `rich`, `photo`, `video` are automatically resolved as `link` * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property.
20
20
  attr_accessor :type
21
21
 
@@ -34,6 +34,9 @@ module FlatApi
34
34
  # A unique track identifier
35
35
  attr_accessor :track
36
36
 
37
+ # The UUID of the instrument part selected for this attachment (for performance submissions)
38
+ attr_accessor :part_uuid
39
+
37
40
  attr_accessor :sharing_mode
38
41
 
39
42
  # To be used with a score attached in `sharingMode` `copy` (score used as template). If true, students won't be able to change the original notes of the template.
@@ -81,6 +84,9 @@ module FlatApi
81
84
  # The ID of the Google Drive File
82
85
  attr_accessor :google_drive_file_id
83
86
 
87
+ # If true, this attachment is only visible to teachers. When students view the assignment, attachments with this flag will be filtered out.
88
+ attr_accessor :teacher_only
89
+
84
90
  class EnumAttributeValidator
85
91
  attr_reader :datatype
86
92
  attr_reader :allowable_values
@@ -112,6 +118,7 @@ module FlatApi
112
118
  :'worksheet' => :'worksheet',
113
119
  :'dedicated' => :'dedicated',
114
120
  :'track' => :'track',
121
+ :'part_uuid' => :'partUuid',
115
122
  :'sharing_mode' => :'sharingMode',
116
123
  :'lock_score_template' => :'lockScoreTemplate',
117
124
  :'title' => :'title',
@@ -127,13 +134,19 @@ module FlatApi
127
134
  :'author_url' => :'authorUrl',
128
135
  :'icon_url' => :'iconUrl',
129
136
  :'mime_type' => :'mimeType',
130
- :'google_drive_file_id' => :'googleDriveFileId'
137
+ :'google_drive_file_id' => :'googleDriveFileId',
138
+ :'teacher_only' => :'teacherOnly'
131
139
  }
132
140
  end
133
141
 
142
+ # Returns attribute mapping this model knows about
143
+ def self.acceptable_attribute_map
144
+ attribute_map
145
+ end
146
+
134
147
  # Returns all the JSON keys this model knows about
135
148
  def self.acceptable_attributes
136
- attribute_map.values
149
+ acceptable_attribute_map.values
137
150
  end
138
151
 
139
152
  # Attribute type mapping.
@@ -145,13 +158,14 @@ module FlatApi
145
158
  :'worksheet' => :'String',
146
159
  :'dedicated' => :'Boolean',
147
160
  :'track' => :'String',
161
+ :'part_uuid' => :'String',
148
162
  :'sharing_mode' => :'MediaScoreSharingMode',
149
163
  :'lock_score_template' => :'Boolean',
150
164
  :'title' => :'String',
151
165
  :'description' => :'String',
152
166
  :'html' => :'String',
153
- :'html_width' => :'String',
154
- :'html_height' => :'String',
167
+ :'html_width' => :'Float',
168
+ :'html_height' => :'Float',
155
169
  :'url' => :'String',
156
170
  :'thumbnail_url' => :'String',
157
171
  :'thumbnail_width' => :'Integer',
@@ -160,7 +174,8 @@ module FlatApi
160
174
  :'author_url' => :'String',
161
175
  :'icon_url' => :'String',
162
176
  :'mime_type' => :'String',
163
- :'google_drive_file_id' => :'String'
177
+ :'google_drive_file_id' => :'String',
178
+ :'teacher_only' => :'Boolean'
164
179
  }
165
180
  end
166
181
 
@@ -178,9 +193,10 @@ module FlatApi
178
193
  end
179
194
 
180
195
  # check to see if the attribute exists and convert string to symbol for hash key
196
+ acceptable_attribute_map = self.class.acceptable_attribute_map
181
197
  attributes = attributes.each_with_object({}) { |(k, v), h|
182
- if (!self.class.attribute_map.key?(k.to_sym))
183
- fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::MediaAttachment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
198
+ if (!acceptable_attribute_map.key?(k.to_sym))
199
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::MediaAttachment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
184
200
  end
185
201
  h[k.to_sym] = v
186
202
  }
@@ -211,6 +227,10 @@ module FlatApi
211
227
  self.track = attributes[:'track']
212
228
  end
213
229
 
230
+ if attributes.key?(:'part_uuid')
231
+ self.part_uuid = attributes[:'part_uuid']
232
+ end
233
+
214
234
  if attributes.key?(:'sharing_mode')
215
235
  self.sharing_mode = attributes[:'sharing_mode']
216
236
  else
@@ -276,6 +296,12 @@ module FlatApi
276
296
  if attributes.key?(:'google_drive_file_id')
277
297
  self.google_drive_file_id = attributes[:'google_drive_file_id']
278
298
  end
299
+
300
+ if attributes.key?(:'teacher_only')
301
+ self.teacher_only = attributes[:'teacher_only']
302
+ else
303
+ self.teacher_only = false
304
+ end
279
305
  end
280
306
 
281
307
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -295,7 +321,7 @@ module FlatApi
295
321
  def valid?
296
322
  warn '[DEPRECATED] the `valid?` method is obsolete'
297
323
  return false if @type.nil?
298
- type_validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet", "performance"])
324
+ type_validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet"])
299
325
  return false unless type_validator.valid?(@type)
300
326
  true
301
327
  end
@@ -303,7 +329,7 @@ module FlatApi
303
329
  # Custom attribute writer method checking allowed values (enum).
304
330
  # @param [Object] type Object to be assigned
305
331
  def type=(type)
306
- validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet", "performance"])
332
+ validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet"])
307
333
  unless validator.valid?(type)
308
334
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
309
335
  end
@@ -321,6 +347,7 @@ module FlatApi
321
347
  worksheet == o.worksheet &&
322
348
  dedicated == o.dedicated &&
323
349
  track == o.track &&
350
+ part_uuid == o.part_uuid &&
324
351
  sharing_mode == o.sharing_mode &&
325
352
  lock_score_template == o.lock_score_template &&
326
353
  title == o.title &&
@@ -336,7 +363,8 @@ module FlatApi
336
363
  author_url == o.author_url &&
337
364
  icon_url == o.icon_url &&
338
365
  mime_type == o.mime_type &&
339
- google_drive_file_id == o.google_drive_file_id
366
+ google_drive_file_id == o.google_drive_file_id &&
367
+ teacher_only == o.teacher_only
340
368
  end
341
369
 
342
370
  # @see the `==` method
@@ -348,7 +376,7 @@ module FlatApi
348
376
  # Calculates hash code according to all attributes.
349
377
  # @return [Integer] Hash code
350
378
  def hash
351
- [type, score, revision, worksheet, dedicated, track, sharing_mode, lock_score_template, title, description, html, html_width, html_height, url, thumbnail_url, thumbnail_width, thumbnail_height, author_name, author_url, icon_url, mime_type, google_drive_file_id].hash
379
+ [type, score, revision, worksheet, dedicated, track, part_uuid, sharing_mode, lock_score_template, title, description, html, html_width, html_height, url, thumbnail_url, thumbnail_width, thumbnail_height, author_name, author_url, icon_url, mime_type, google_drive_file_id, teacher_only].hash
352
380
  end
353
381
 
354
382
  # Builds the object from hash
@@ -374,61 +402,6 @@ module FlatApi
374
402
  new(transformed_hash)
375
403
  end
376
404
 
377
- # Deserializes the data based on type
378
- # @param string type Data type
379
- # @param string value Value to be deserialized
380
- # @return [Object] Deserialized data
381
- def self._deserialize(type, value)
382
- case type.to_sym
383
- when :Time
384
- Time.parse(value)
385
- when :Date
386
- Date.parse(value)
387
- when :String
388
- value.to_s
389
- when :Integer
390
- value.to_i
391
- when :Float
392
- value.to_f
393
- when :Boolean
394
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
395
- true
396
- else
397
- false
398
- end
399
- when :Object
400
- # generic object (usually a Hash), return directly
401
- value
402
- when /\AArray<(?<inner_type>.+)>\z/
403
- inner_type = Regexp.last_match[:inner_type]
404
- value.map { |v| _deserialize(inner_type, v) }
405
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
406
- k_type = Regexp.last_match[:k_type]
407
- v_type = Regexp.last_match[:v_type]
408
- {}.tap do |hash|
409
- value.each do |k, v|
410
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
411
- end
412
- end
413
- else # model
414
- # models (e.g. Pet) or oneOf
415
- klass = FlatApi.const_get(type)
416
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
417
- end
418
- end
419
-
420
- # Returns the string representation of the object
421
- # @return [String] String presentation of the object
422
- def to_s
423
- to_hash.to_s
424
- end
425
-
426
- # to_body is an alias to to_hash (backward compatibility)
427
- # @return [Hash] Returns the object in the form of hash
428
- def to_body
429
- to_hash
430
- end
431
-
432
405
  # Returns the object in the form of hash
433
406
  # @return [Hash] Returns the object in the form of hash
434
407
  def to_hash
@@ -445,24 +418,6 @@ module FlatApi
445
418
  hash
446
419
  end
447
420
 
448
- # Outputs non-array value in the form of hash
449
- # For object, use to_hash. Otherwise, just return the value
450
- # @param [Object] value Any valid value
451
- # @return [Hash] Returns the value in the form of hash
452
- def _to_hash(value)
453
- if value.is_a?(Array)
454
- value.compact.map { |v| _to_hash(v) }
455
- elsif value.is_a?(Hash)
456
- {}.tap do |hash|
457
- value.each { |k, v| hash[k] = _to_hash(v) }
458
- end
459
- elsif value.respond_to? :to_hash
460
- value.to_hash
461
- else
462
- value
463
- end
464
- end
465
-
466
421
  end
467
422
 
468
423
  end
@@ -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
 
@@ -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
 
@@ -14,33 +14,72 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FlatApi
17
- # A Microsoft Teams asignment
18
- class MicrosoftGraphAssignment
19
- # Identifier of the assignement assigned by Microsoft Teams
17
+ # A Microsoft Teams assignment
18
+ class MicrosoftGraphAssignment < ApiModelBase
19
+ # Identifier of the assignment assigned by Microsoft Teams
20
20
  attr_accessor :id
21
21
 
22
- # State of the assignment
22
+ # State of the assignment on Microsoft Teams. * `draft`: Assignment is in draft mode * `scheduled`: Assignment is scheduled to be published at a future date * `published`: Assignment has been published to students * `assigned`: Assignment has been assigned (legacy status) * `inactive`: Assignment is inactive
23
23
  attr_accessor :state
24
24
 
25
- # Absolute link to this assignement in the Microsoft Teams web UI
25
+ # Absolute link to this assignment in the Microsoft Teams web UI
26
26
  attr_accessor :alternate_link
27
27
 
28
+ # The date when the assignment will become active on Microsoft Teams. If set to a future date, the assignment will have status `scheduled` and won't be visible to students until this date.
29
+ attr_accessor :assign_date_time
30
+
28
31
  # List of categories where this assignment is published under
29
32
  attr_accessor :categories
30
33
 
34
+ # Recipient configuration for this assignment on Microsoft Teams. * `class`: Assignment is visible to all students in the class * `individual`: Assignment is visible only to specific assigned students
35
+ attr_accessor :assign_to_type
36
+
37
+ # When assignToType is 'individual', array of Microsoft Azure user IDs of students assigned to this assignment. These are the students who can see and submit to this assignment on Teams.
38
+ attr_accessor :assigned_students_ms_ids
39
+
40
+ class EnumAttributeValidator
41
+ attr_reader :datatype
42
+ attr_reader :allowable_values
43
+
44
+ def initialize(datatype, allowable_values)
45
+ @allowable_values = allowable_values.map do |value|
46
+ case datatype.to_s
47
+ when /Integer/i
48
+ value.to_i
49
+ when /Float/i
50
+ value.to_f
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ def valid?(value)
58
+ !value || allowable_values.include?(value)
59
+ end
60
+ end
61
+
31
62
  # Attribute mapping from ruby-style variable name to JSON key.
32
63
  def self.attribute_map
33
64
  {
34
65
  :'id' => :'id',
35
66
  :'state' => :'state',
36
67
  :'alternate_link' => :'alternateLink',
37
- :'categories' => :'categories'
68
+ :'assign_date_time' => :'assignDateTime',
69
+ :'categories' => :'categories',
70
+ :'assign_to_type' => :'assignToType',
71
+ :'assigned_students_ms_ids' => :'assignedStudentsMsIds'
38
72
  }
39
73
  end
40
74
 
75
+ # Returns attribute mapping this model knows about
76
+ def self.acceptable_attribute_map
77
+ attribute_map
78
+ end
79
+
41
80
  # Returns all the JSON keys this model knows about
42
81
  def self.acceptable_attributes
43
- attribute_map.values
82
+ acceptable_attribute_map.values
44
83
  end
45
84
 
46
85
  # Attribute type mapping.
@@ -49,7 +88,10 @@ module FlatApi
49
88
  :'id' => :'String',
50
89
  :'state' => :'String',
51
90
  :'alternate_link' => :'String',
52
- :'categories' => :'Array<String>'
91
+ :'assign_date_time' => :'Time',
92
+ :'categories' => :'Array<String>',
93
+ :'assign_to_type' => :'String',
94
+ :'assigned_students_ms_ids' => :'Array<String>'
53
95
  }
54
96
  end
55
97
 
@@ -67,9 +109,10 @@ module FlatApi
67
109
  end
68
110
 
69
111
  # check to see if the attribute exists and convert string to symbol for hash key
112
+ acceptable_attribute_map = self.class.acceptable_attribute_map
70
113
  attributes = attributes.each_with_object({}) { |(k, v), h|
71
- if (!self.class.attribute_map.key?(k.to_sym))
72
- fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::MicrosoftGraphAssignment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
114
+ if (!acceptable_attribute_map.key?(k.to_sym))
115
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::MicrosoftGraphAssignment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
73
116
  end
74
117
  h[k.to_sym] = v
75
118
  }
@@ -86,11 +129,25 @@ module FlatApi
86
129
  self.alternate_link = attributes[:'alternate_link']
87
130
  end
88
131
 
132
+ if attributes.key?(:'assign_date_time')
133
+ self.assign_date_time = attributes[:'assign_date_time']
134
+ end
135
+
89
136
  if attributes.key?(:'categories')
90
137
  if (value = attributes[:'categories']).is_a?(Array)
91
138
  self.categories = value
92
139
  end
93
140
  end
141
+
142
+ if attributes.key?(:'assign_to_type')
143
+ self.assign_to_type = attributes[:'assign_to_type']
144
+ end
145
+
146
+ if attributes.key?(:'assigned_students_ms_ids')
147
+ if (value = attributes[:'assigned_students_ms_ids']).is_a?(Array)
148
+ self.assigned_students_ms_ids = value
149
+ end
150
+ end
94
151
  end
95
152
 
96
153
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -105,9 +162,33 @@ module FlatApi
105
162
  # @return true if the model is valid
106
163
  def valid?
107
164
  warn '[DEPRECATED] the `valid?` method is obsolete'
165
+ state_validator = EnumAttributeValidator.new('String', ["draft", "scheduled", "published", "assigned", "inactive"])
166
+ return false unless state_validator.valid?(@state)
167
+ assign_to_type_validator = EnumAttributeValidator.new('String', ["class", "individual"])
168
+ return false unless assign_to_type_validator.valid?(@assign_to_type)
108
169
  true
109
170
  end
110
171
 
172
+ # Custom attribute writer method checking allowed values (enum).
173
+ # @param [Object] state Object to be assigned
174
+ def state=(state)
175
+ validator = EnumAttributeValidator.new('String', ["draft", "scheduled", "published", "assigned", "inactive"])
176
+ unless validator.valid?(state)
177
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
178
+ end
179
+ @state = state
180
+ end
181
+
182
+ # Custom attribute writer method checking allowed values (enum).
183
+ # @param [Object] assign_to_type Object to be assigned
184
+ def assign_to_type=(assign_to_type)
185
+ validator = EnumAttributeValidator.new('String', ["class", "individual"])
186
+ unless validator.valid?(assign_to_type)
187
+ fail ArgumentError, "invalid value for \"assign_to_type\", must be one of #{validator.allowable_values}."
188
+ end
189
+ @assign_to_type = assign_to_type
190
+ end
191
+
111
192
  # Checks equality by comparing each attribute.
112
193
  # @param [Object] Object to be compared
113
194
  def ==(o)
@@ -116,7 +197,10 @@ module FlatApi
116
197
  id == o.id &&
117
198
  state == o.state &&
118
199
  alternate_link == o.alternate_link &&
119
- categories == o.categories
200
+ assign_date_time == o.assign_date_time &&
201
+ categories == o.categories &&
202
+ assign_to_type == o.assign_to_type &&
203
+ assigned_students_ms_ids == o.assigned_students_ms_ids
120
204
  end
121
205
 
122
206
  # @see the `==` method
@@ -128,7 +212,7 @@ module FlatApi
128
212
  # Calculates hash code according to all attributes.
129
213
  # @return [Integer] Hash code
130
214
  def hash
131
- [id, state, alternate_link, categories].hash
215
+ [id, state, alternate_link, assign_date_time, categories, assign_to_type, assigned_students_ms_ids].hash
132
216
  end
133
217
 
134
218
  # Builds the object from hash
@@ -154,61 +238,6 @@ module FlatApi
154
238
  new(transformed_hash)
155
239
  end
156
240
 
157
- # Deserializes the data based on type
158
- # @param string type Data type
159
- # @param string value Value to be deserialized
160
- # @return [Object] Deserialized data
161
- def self._deserialize(type, value)
162
- case type.to_sym
163
- when :Time
164
- Time.parse(value)
165
- when :Date
166
- Date.parse(value)
167
- when :String
168
- value.to_s
169
- when :Integer
170
- value.to_i
171
- when :Float
172
- value.to_f
173
- when :Boolean
174
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
175
- true
176
- else
177
- false
178
- end
179
- when :Object
180
- # generic object (usually a Hash), return directly
181
- value
182
- when /\AArray<(?<inner_type>.+)>\z/
183
- inner_type = Regexp.last_match[:inner_type]
184
- value.map { |v| _deserialize(inner_type, v) }
185
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
186
- k_type = Regexp.last_match[:k_type]
187
- v_type = Regexp.last_match[:v_type]
188
- {}.tap do |hash|
189
- value.each do |k, v|
190
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
191
- end
192
- end
193
- else # model
194
- # models (e.g. Pet) or oneOf
195
- klass = FlatApi.const_get(type)
196
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
197
- end
198
- end
199
-
200
- # Returns the string representation of the object
201
- # @return [String] String presentation of the object
202
- def to_s
203
- to_hash.to_s
204
- end
205
-
206
- # to_body is an alias to to_hash (backward compatibility)
207
- # @return [Hash] Returns the object in the form of hash
208
- def to_body
209
- to_hash
210
- end
211
-
212
241
  # Returns the object in the form of hash
213
242
  # @return [Hash] Returns the object in the form of hash
214
243
  def to_hash
@@ -225,24 +254,6 @@ module FlatApi
225
254
  hash
226
255
  end
227
256
 
228
- # Outputs non-array value in the form of hash
229
- # For object, use to_hash. Otherwise, just return the value
230
- # @param [Object] value Any valid value
231
- # @return [Hash] Returns the value in the form of hash
232
- def _to_hash(value)
233
- if value.is_a?(Array)
234
- value.compact.map { |v| _to_hash(v) }
235
- elsif value.is_a?(Hash)
236
- {}.tap do |hash|
237
- value.each { |k, v| hash[k] = _to_hash(v) }
238
- end
239
- elsif value.respond_to? :to_hash
240
- value.to_hash
241
- else
242
- value
243
- end
244
- end
245
-
246
257
  end
247
258
 
248
259
  end