flat_api 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +60 -8
  3. data/LICENSE +201 -0
  4. data/README.md +62 -241
  5. data/lib/flat_api/api/account_api.rb +32 -22
  6. data/lib/flat_api/api/class_api.rb +1671 -453
  7. data/lib/flat_api/api/collection_api.rb +286 -185
  8. data/lib/flat_api/api/edu_resources_api.rb +863 -0
  9. data/lib/flat_api/api/group_api.rb +506 -57
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +808 -192
  12. data/lib/flat_api/api/score_api.rb +1030 -589
  13. data/lib/flat_api/api/task_api.rb +85 -0
  14. data/lib/flat_api/api/user_api.rb +151 -82
  15. data/lib/flat_api/api_client.rb +223 -145
  16. data/lib/flat_api/api_error.rb +24 -4
  17. data/lib/flat_api/api_model_base.rb +88 -0
  18. data/lib/flat_api/client.rb +69 -0
  19. data/lib/flat_api/configuration.rb +224 -36
  20. data/lib/flat_api/errors.rb +86 -0
  21. data/lib/flat_api/models/add_group_user200_response.rb +148 -0
  22. data/lib/flat_api/models/add_group_user_request.rb +165 -0
  23. data/lib/flat_api/models/api_access_token.rb +201 -0
  24. data/lib/flat_api/models/app_scopes.rb +61 -0
  25. data/lib/flat_api/models/assignment.rb +362 -166
  26. data/lib/flat_api/models/assignment_capabilities.rb +256 -0
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +193 -0
  28. data/lib/flat_api/models/assignment_copy.rb +79 -169
  29. data/lib/flat_api/models/assignment_copy_response.rb +535 -0
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +186 -0
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +176 -0
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +337 -131
  34. data/lib/flat_api/models/assignment_submission_comment.rb +209 -0
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +166 -0
  36. data/lib/flat_api/models/assignment_submission_comments.rb +158 -0
  37. data/lib/flat_api/models/assignment_submission_history.rb +337 -0
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +168 -0
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  40. data/lib/flat_api/models/assignment_submission_lti.rb +200 -0
  41. data/lib/flat_api/models/assignment_submission_playback.rb +193 -0
  42. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +157 -113
  45. data/lib/flat_api/models/assignment_type.rb +45 -0
  46. data/lib/flat_api/models/assignment_update.rb +538 -0
  47. data/lib/flat_api/models/class_assignment.rb +750 -0
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +159 -0
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +149 -0
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +159 -0
  51. data/lib/flat_api/models/class_assignment_update.rb +652 -0
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +150 -0
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +152 -0
  54. data/lib/flat_api/models/class_attachment_creation.rb +140 -106
  55. data/lib/flat_api/models/class_creation.rb +142 -108
  56. data/lib/flat_api/models/class_details.rb +244 -125
  57. data/lib/flat_api/models/class_details_canvas.rb +59 -99
  58. data/lib/flat_api/models/class_details_clever.rb +74 -113
  59. data/lib/flat_api/models/class_details_google_classroom.rb +64 -124
  60. data/lib/flat_api/models/class_details_google_drive.rb +61 -101
  61. data/lib/flat_api/models/class_details_issues.rb +151 -0
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +203 -0
  63. data/lib/flat_api/models/class_details_lti.rb +76 -106
  64. data/lib/flat_api/models/class_details_mfc.rb +159 -0
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +148 -0
  66. data/lib/flat_api/models/class_grade_level.rb +43 -0
  67. data/lib/flat_api/models/class_roles.rb +18 -9
  68. data/lib/flat_api/models/class_state.rb +19 -9
  69. data/lib/flat_api/models/class_update.rb +142 -107
  70. data/lib/flat_api/models/collection.rb +304 -115
  71. data/lib/flat_api/models/collection_app.rb +169 -0
  72. data/lib/flat_api/models/collection_capabilities.rb +157 -112
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +120 -104
  75. data/lib/flat_api/models/collection_modification.rb +122 -100
  76. data/lib/flat_api/models/collection_privacy.rb +18 -9
  77. data/lib/flat_api/models/collection_type.rb +22 -11
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +273 -0
  80. data/lib/flat_api/models/edu_resource.rb +383 -0
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +179 -0
  83. data/lib/flat_api/models/edu_resource_copy.rb +166 -0
  84. data/lib/flat_api/models/edu_resource_creation.rb +311 -0
  85. data/lib/flat_api/models/edu_resource_folder.rb +171 -0
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +166 -0
  87. data/lib/flat_api/models/edu_resource_move.rb +166 -0
  88. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  89. data/lib/flat_api/models/edu_resource_resource.rb +104 -0
  90. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  91. data/lib/flat_api/models/edu_resource_update.rb +292 -0
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +176 -0
  93. data/lib/flat_api/models/flat_error_response.rb +109 -105
  94. data/lib/flat_api/models/google_classroom_coursework.rb +74 -103
  95. data/lib/flat_api/models/google_classroom_submission.rb +112 -101
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +70 -122
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +253 -110
  100. data/lib/flat_api/models/group_type.rb +20 -9
  101. data/lib/flat_api/models/license_mode.rb +18 -9
  102. data/lib/flat_api/models/license_sources.rb +21 -9
  103. data/lib/flat_api/models/lms_name.rb +19 -9
  104. data/lib/flat_api/models/lti_configuration.rb +56 -0
  105. data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
  106. data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
  107. data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
  108. data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
  109. data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
  110. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
  111. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
  112. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
  113. data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
  114. data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
  115. data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
  116. data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
  117. data/lib/flat_api/models/lti_configuration_base.rb +306 -0
  118. data/lib/flat_api/models/lti_configuration_create.rb +60 -0
  119. data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
  120. data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
  121. data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
  122. data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
  123. data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
  124. data/lib/flat_api/models/lti_configuration_update.rb +104 -0
  125. data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
  126. data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
  127. data/lib/flat_api/models/lti_credentials.rb +108 -114
  128. data/lib/flat_api/models/lti_credentials_creation.rb +99 -103
  129. data/lib/flat_api/models/media_attachment.rb +189 -137
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +259 -0
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +193 -0
  133. data/lib/flat_api/models/omr_capabilities.rb +480 -0
  134. data/lib/flat_api/models/omr_details_step_data.rb +228 -0
  135. data/lib/flat_api/models/omr_details_submission.rb +288 -0
  136. data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
  137. data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
  138. data/lib/flat_api/models/omr_instrument_override.rb +311 -0
  139. data/lib/flat_api/models/omr_job.rb +394 -0
  140. data/lib/flat_api/models/omr_job_creation.rb +238 -0
  141. data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
  142. data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
  143. data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
  144. data/lib/flat_api/models/omr_job_input_file.rb +176 -0
  145. data/lib/flat_api/models/omr_job_output.rb +40 -0
  146. data/lib/flat_api/models/omr_job_progress.rb +169 -0
  147. data/lib/flat_api/models/omr_job_result.rb +161 -0
  148. data/lib/flat_api/models/omr_job_retention.rb +176 -0
  149. data/lib/flat_api/models/omr_job_status.rb +44 -0
  150. data/lib/flat_api/models/omr_locale_details.rb +193 -0
  151. data/lib/flat_api/models/omr_pending_step.rb +213 -0
  152. data/lib/flat_api/models/omr_step_name.rb +39 -0
  153. data/lib/flat_api/models/organization_invitation.rb +177 -109
  154. data/lib/flat_api/models/organization_invitation_creation.rb +97 -100
  155. data/lib/flat_api/models/organization_roles.rb +19 -10
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +168 -0
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +204 -116
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +72 -112
  160. data/lib/flat_api/models/resource_rights.rb +168 -107
  161. data/lib/flat_api/models/score_comment.rb +200 -121
  162. data/lib/flat_api/models/score_comment_context.rb +161 -124
  163. data/lib/flat_api/models/score_comment_creation.rb +79 -107
  164. data/lib/flat_api/models/score_comment_moderation.rb +193 -0
  165. data/lib/flat_api/models/score_comment_update.rb +81 -115
  166. data/lib/flat_api/models/score_comments_counts.rb +78 -108
  167. data/lib/flat_api/models/score_creation.rb +80 -225
  168. data/lib/flat_api/models/score_creation_builder_data.rb +234 -0
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +173 -0
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +255 -0
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +217 -0
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +222 -0
  173. data/lib/flat_api/models/score_creation_common.rb +201 -0
  174. data/lib/flat_api/models/score_creation_file_import.rb +277 -0
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +234 -0
  176. data/lib/flat_api/models/score_creation_type.rb +18 -9
  177. data/lib/flat_api/models/score_details.rb +428 -146
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +84 -101
  180. data/lib/flat_api/models/score_license.rb +18 -9
  181. data/lib/flat_api/models/score_likes_counts.rb +73 -103
  182. data/lib/flat_api/models/score_modification.rb +178 -115
  183. data/lib/flat_api/models/score_plays_counts.rb +179 -0
  184. data/lib/flat_api/models/score_privacy.rb +18 -9
  185. data/lib/flat_api/models/score_revision.rb +142 -111
  186. data/lib/flat_api/models/score_revision_creation.rb +113 -105
  187. data/lib/flat_api/models/score_revision_statistics.rb +81 -101
  188. data/lib/flat_api/models/score_source.rb +59 -100
  189. data/lib/flat_api/models/score_summary.rb +172 -105
  190. data/lib/flat_api/models/score_track.rb +244 -117
  191. data/lib/flat_api/models/score_track_creation.rb +99 -104
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +78 -103
  194. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  195. data/lib/flat_api/models/score_track_state.rb +18 -9
  196. data/lib/flat_api/models/score_track_type.rb +18 -9
  197. data/lib/flat_api/models/score_track_update.rb +98 -103
  198. data/lib/flat_api/models/score_views_counts.rb +73 -103
  199. data/lib/flat_api/models/task.rb +339 -0
  200. data/lib/flat_api/models/task_export_options.rb +151 -0
  201. data/lib/flat_api/models/task_progress.rb +159 -0
  202. data/lib/flat_api/models/task_result.rb +159 -0
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +42 -0
  205. data/lib/flat_api/models/user_admin_update.rb +206 -106
  206. data/lib/flat_api/models/user_azure_details.rb +168 -0
  207. data/lib/flat_api/models/user_basics.rb +215 -120
  208. data/lib/flat_api/models/user_community_profile_links.rb +205 -0
  209. data/lib/flat_api/models/user_creation.rb +203 -114
  210. data/lib/flat_api/models/user_details.rb +331 -161
  211. data/lib/flat_api/models/user_details_admin.rb +272 -133
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +211 -0
  213. data/lib/flat_api/models/user_public.rb +303 -145
  214. data/lib/flat_api/models/user_public_summary.rb +243 -126
  215. data/lib/flat_api/models/user_signin_link.rb +168 -0
  216. data/lib/flat_api/models/user_signin_link_creation.rb +150 -0
  217. data/lib/flat_api/oauth.rb +128 -0
  218. data/lib/flat_api/pagination.rb +88 -0
  219. data/lib/flat_api/retry.rb +56 -0
  220. data/lib/flat_api/version.rb +5 -5
  221. data/lib/flat_api.rb +144 -16
  222. metadata +154 -434
  223. data/Gemfile +0 -7
  224. data/Rakefile +0 -8
  225. data/docs/AccountApi.md +0 -55
  226. data/docs/Assignment.md +0 -18
  227. data/docs/AssignmentCopy.md +0 -8
  228. data/docs/AssignmentCreation.md +0 -12
  229. data/docs/AssignmentSubmission.md +0 -19
  230. data/docs/AssignmentSubmissionUpdate.md +0 -11
  231. data/docs/ClassApi.md +0 -1051
  232. data/docs/ClassAttachmentCreation.md +0 -10
  233. data/docs/ClassCreation.md +0 -9
  234. data/docs/ClassDetails.md +0 -25
  235. data/docs/ClassDetailsCanvas.md +0 -9
  236. data/docs/ClassDetailsClever.md +0 -14
  237. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  238. data/docs/ClassDetailsGoogleDrive.md +0 -9
  239. data/docs/ClassDetailsLti.md +0 -10
  240. data/docs/ClassRoles.md +0 -7
  241. data/docs/ClassState.md +0 -7
  242. data/docs/ClassUpdate.md +0 -9
  243. data/docs/Collection.md +0 -18
  244. data/docs/CollectionApi.md +0 -521
  245. data/docs/CollectionCapabilities.md +0 -12
  246. data/docs/CollectionCreation.md +0 -8
  247. data/docs/CollectionModification.md +0 -8
  248. data/docs/CollectionPrivacy.md +0 -7
  249. data/docs/CollectionTitle.md +0 -7
  250. data/docs/CollectionType.md +0 -7
  251. data/docs/FlatErrorResponse.md +0 -11
  252. data/docs/FlatLocales.md +0 -7
  253. data/docs/GoogleClassroomCoursework.md +0 -10
  254. data/docs/GoogleClassroomSubmission.md +0 -10
  255. data/docs/Group.md +0 -14
  256. data/docs/GroupApi.md +0 -167
  257. data/docs/GroupDetails.md +0 -14
  258. data/docs/GroupType.md +0 -7
  259. data/docs/LicenseMode.md +0 -7
  260. data/docs/LicenseSources.md +0 -7
  261. data/docs/LmsName.md +0 -7
  262. data/docs/LtiCredentials.md +0 -16
  263. data/docs/LtiCredentialsCreation.md +0 -9
  264. data/docs/MediaAttachment.md +0 -23
  265. data/docs/MediaScoreSharingMode.md +0 -7
  266. data/docs/OrganizationApi.md +0 -538
  267. data/docs/OrganizationInvitation.md +0 -14
  268. data/docs/OrganizationInvitationCreation.md +0 -9
  269. data/docs/OrganizationRoles.md +0 -7
  270. data/docs/ResourceCollaborator.md +0 -16
  271. data/docs/ResourceCollaboratorCreation.md +0 -14
  272. data/docs/ResourceRights.md +0 -10
  273. data/docs/ResourceSharingKey.md +0 -7
  274. data/docs/ScoreApi.md +0 -1658
  275. data/docs/ScoreComment.md +0 -22
  276. data/docs/ScoreCommentContext.md +0 -14
  277. data/docs/ScoreCommentCreation.md +0 -13
  278. data/docs/ScoreCommentUpdate.md +0 -11
  279. data/docs/ScoreCommentsCounts.md +0 -11
  280. data/docs/ScoreCreation.md +0 -14
  281. data/docs/ScoreCreationType.md +0 -7
  282. data/docs/ScoreData.md +0 -7
  283. data/docs/ScoreDataEncoding.md +0 -7
  284. data/docs/ScoreDetails.md +0 -36
  285. data/docs/ScoreFork.md +0 -8
  286. data/docs/ScoreLicense.md +0 -7
  287. data/docs/ScoreLikesCounts.md +0 -10
  288. data/docs/ScoreModification.md +0 -14
  289. data/docs/ScorePrivacy.md +0 -7
  290. data/docs/ScoreRevision.md +0 -14
  291. data/docs/ScoreRevisionCreation.md +0 -11
  292. data/docs/ScoreRevisionStatistics.md +0 -9
  293. data/docs/ScoreSource.md +0 -8
  294. data/docs/ScoreSummary.md +0 -13
  295. data/docs/ScoreTrack.md +0 -19
  296. data/docs/ScoreTrackCreation.md +0 -12
  297. data/docs/ScoreTrackPoint.md +0 -10
  298. data/docs/ScoreTrackState.md +0 -7
  299. data/docs/ScoreTrackType.md +0 -7
  300. data/docs/ScoreTrackUpdate.md +0 -11
  301. data/docs/ScoreViewsCounts.md +0 -10
  302. data/docs/UserAdminUpdate.md +0 -9
  303. data/docs/UserApi.md +0 -173
  304. data/docs/UserBasics.md +0 -13
  305. data/docs/UserCreation.md +0 -11
  306. data/docs/UserDetails.md +0 -28
  307. data/docs/UserDetailsAdmin.md +0 -20
  308. data/docs/UserDetailsAdminLicense.md +0 -12
  309. data/docs/UserInstruments.md +0 -7
  310. data/docs/UserPublic.md +0 -25
  311. data/docs/UserPublicSummary.md +0 -17
  312. data/flat_api.gemspec +0 -48
  313. data/lib/flat_api/models/assignment_creation.rb +0 -230
  314. data/lib/flat_api/models/collection_title.rb +0 -179
  315. data/lib/flat_api/models/flat_locales.rb +0 -36
  316. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  317. data/lib/flat_api/models/score_data.rb +0 -179
  318. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  319. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  320. data/lib/flat_api/models/user_instruments.rb +0 -179
  321. data/spec/api/account_api_spec.rb +0 -46
  322. data/spec/api/class_api_spec.rb +0 -278
  323. data/spec/api/collection_api_spec.rb +0 -159
  324. data/spec/api/group_api_spec.rb +0 -72
  325. data/spec/api/organization_api_spec.rb +0 -162
  326. data/spec/api/score_api_spec.rb +0 -426
  327. data/spec/api/user_api_spec.rb +0 -73
  328. data/spec/api_client_spec.rb +0 -226
  329. data/spec/configuration_spec.rb +0 -42
  330. data/spec/models/assignment_copy_spec.rb +0 -42
  331. data/spec/models/assignment_creation_spec.rb +0 -66
  332. data/spec/models/assignment_spec.rb +0 -106
  333. data/spec/models/assignment_submission_spec.rb +0 -108
  334. data/spec/models/assignment_submission_update_spec.rb +0 -60
  335. data/spec/models/class_attachment_creation_spec.rb +0 -58
  336. data/spec/models/class_creation_spec.rb +0 -48
  337. data/spec/models/class_details_canvas_spec.rb +0 -48
  338. data/spec/models/class_details_clever_spec.rb +0 -82
  339. data/spec/models/class_details_google_classroom_spec.rb +0 -60
  340. data/spec/models/class_details_google_drive_spec.rb +0 -48
  341. data/spec/models/class_details_lti_spec.rb +0 -54
  342. data/spec/models/class_details_spec.rb +0 -144
  343. data/spec/models/class_roles_spec.rb +0 -36
  344. data/spec/models/class_state_spec.rb +0 -36
  345. data/spec/models/class_update_spec.rb +0 -48
  346. data/spec/models/collection_capabilities_spec.rb +0 -66
  347. data/spec/models/collection_creation_spec.rb +0 -42
  348. data/spec/models/collection_modification_spec.rb +0 -42
  349. data/spec/models/collection_privacy_spec.rb +0 -36
  350. data/spec/models/collection_spec.rb +0 -102
  351. data/spec/models/collection_title_spec.rb +0 -36
  352. data/spec/models/collection_type_spec.rb +0 -36
  353. data/spec/models/flat_error_response_spec.rb +0 -60
  354. data/spec/models/flat_locales_spec.rb +0 -36
  355. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  356. data/spec/models/google_classroom_submission_spec.rb +0 -54
  357. data/spec/models/group_details_spec.rb +0 -78
  358. data/spec/models/group_spec.rb +0 -82
  359. data/spec/models/group_type_spec.rb +0 -36
  360. data/spec/models/license_mode_spec.rb +0 -36
  361. data/spec/models/license_sources_spec.rb +0 -36
  362. data/spec/models/lms_name_spec.rb +0 -36
  363. data/spec/models/lti_credentials_creation_spec.rb +0 -48
  364. data/spec/models/lti_credentials_spec.rb +0 -90
  365. data/spec/models/media_attachment_spec.rb +0 -136
  366. data/spec/models/media_score_sharing_mode_spec.rb +0 -36
  367. data/spec/models/organization_invitation_creation_spec.rb +0 -48
  368. data/spec/models/organization_invitation_spec.rb +0 -78
  369. data/spec/models/organization_roles_spec.rb +0 -36
  370. data/spec/models/resource_collaborator_creation_spec.rb +0 -78
  371. data/spec/models/resource_collaborator_spec.rb +0 -90
  372. data/spec/models/resource_rights_spec.rb +0 -54
  373. data/spec/models/resource_sharing_key_spec.rb +0 -36
  374. data/spec/models/score_comment_context_spec.rb +0 -78
  375. data/spec/models/score_comment_creation_spec.rb +0 -72
  376. data/spec/models/score_comment_spec.rb +0 -130
  377. data/spec/models/score_comment_update_spec.rb +0 -60
  378. data/spec/models/score_comments_counts_spec.rb +0 -60
  379. data/spec/models/score_creation_spec.rb +0 -78
  380. data/spec/models/score_creation_type_spec.rb +0 -36
  381. data/spec/models/score_data_encoding_spec.rb +0 -36
  382. data/spec/models/score_data_spec.rb +0 -36
  383. data/spec/models/score_details_spec.rb +0 -210
  384. data/spec/models/score_fork_spec.rb +0 -42
  385. data/spec/models/score_license_spec.rb +0 -36
  386. data/spec/models/score_likes_counts_spec.rb +0 -54
  387. data/spec/models/score_modification_spec.rb +0 -78
  388. data/spec/models/score_privacy_spec.rb +0 -36
  389. data/spec/models/score_revision_creation_spec.rb +0 -60
  390. data/spec/models/score_revision_spec.rb +0 -78
  391. data/spec/models/score_revision_statistics_spec.rb +0 -48
  392. data/spec/models/score_source_spec.rb +0 -42
  393. data/spec/models/score_summary_spec.rb +0 -72
  394. data/spec/models/score_track_creation_spec.rb +0 -66
  395. data/spec/models/score_track_point_spec.rb +0 -58
  396. data/spec/models/score_track_spec.rb +0 -108
  397. data/spec/models/score_track_state_spec.rb +0 -36
  398. data/spec/models/score_track_type_spec.rb +0 -36
  399. data/spec/models/score_track_update_spec.rb +0 -60
  400. data/spec/models/score_views_counts_spec.rb +0 -54
  401. data/spec/models/user_admin_update_spec.rb +0 -48
  402. data/spec/models/user_basics_spec.rb +0 -72
  403. data/spec/models/user_creation_spec.rb +0 -60
  404. data/spec/models/user_details_admin_license_spec.rb +0 -66
  405. data/spec/models/user_details_admin_spec.rb +0 -114
  406. data/spec/models/user_details_spec.rb +0 -166
  407. data/spec/models/user_instruments_spec.rb +0 -36
  408. data/spec/models/user_public_spec.rb +0 -144
  409. data/spec/models/user_public_summary_spec.rb +0 -96
  410. data/spec/spec_helper.rb +0 -111
@@ -1,21 +1,22 @@
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 or MIDI 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 interoduction](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
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object
17
- class MediaAttachment
18
- # The type of the assignment resolved: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * 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.
18
+ class MediaAttachment < ApiModelBase
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.
19
20
  attr_accessor :type
20
21
 
21
22
  # An unique Flat score identifier
@@ -24,11 +25,23 @@ module FlatApi
24
25
  # An unique revision identifier of a score
25
26
  attr_accessor :revision
26
27
 
27
- # If the attachment is an exercise question, this state will describe if it is correct or not.For exercise assignments only.
28
- attr_accessor :correct
28
+ # An unique worksheet identifier
29
+ attr_accessor :worksheet
30
+
31
+ # True if the resource is dedicated for the assignment (for scores and worksheets), meaning on the user-side this one is stored in the assignment
32
+ attr_accessor :dedicated
33
+
34
+ # A unique track identifier
35
+ attr_accessor :track
36
+
37
+ # The UUID of the instrument part selected for this attachment (for performance submissions)
38
+ attr_accessor :part_uuid
29
39
 
30
40
  attr_accessor :sharing_mode
31
41
 
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.
43
+ attr_accessor :lock_score_template
44
+
32
45
  # The resolved title of the attachment
33
46
  attr_accessor :title
34
47
 
@@ -62,6 +75,18 @@ module FlatApi
62
75
  # The resolved author url of the attachment
63
76
  attr_accessor :author_url
64
77
 
78
+ # The URL of the icon
79
+ attr_accessor :icon_url
80
+
81
+ # The mine type of the file
82
+ attr_accessor :mime_type
83
+
84
+ # The ID of the Google Drive File
85
+ attr_accessor :google_drive_file_id
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
+
65
90
  class EnumAttributeValidator
66
91
  attr_reader :datatype
67
92
  attr_reader :allowable_values
@@ -90,8 +115,12 @@ module FlatApi
90
115
  :'type' => :'type',
91
116
  :'score' => :'score',
92
117
  :'revision' => :'revision',
93
- :'correct' => :'correct',
118
+ :'worksheet' => :'worksheet',
119
+ :'dedicated' => :'dedicated',
120
+ :'track' => :'track',
121
+ :'part_uuid' => :'partUuid',
94
122
  :'sharing_mode' => :'sharingMode',
123
+ :'lock_score_template' => :'lockScoreTemplate',
95
124
  :'title' => :'title',
96
125
  :'description' => :'description',
97
126
  :'html' => :'html',
@@ -102,127 +131,207 @@ module FlatApi
102
131
  :'thumbnail_width' => :'thumbnailWidth',
103
132
  :'thumbnail_height' => :'thumbnailHeight',
104
133
  :'author_name' => :'authorName',
105
- :'author_url' => :'authorUrl'
134
+ :'author_url' => :'authorUrl',
135
+ :'icon_url' => :'iconUrl',
136
+ :'mime_type' => :'mimeType',
137
+ :'google_drive_file_id' => :'googleDriveFileId',
138
+ :'teacher_only' => :'teacherOnly'
106
139
  }
107
140
  end
108
141
 
142
+ # Returns attribute mapping this model knows about
143
+ def self.acceptable_attribute_map
144
+ attribute_map
145
+ end
146
+
147
+ # Returns all the JSON keys this model knows about
148
+ def self.acceptable_attributes
149
+ acceptable_attribute_map.values
150
+ end
151
+
109
152
  # Attribute type mapping.
110
- def self.swagger_types
153
+ def self.openapi_types
111
154
  {
112
155
  :'type' => :'String',
113
156
  :'score' => :'String',
114
157
  :'revision' => :'String',
115
- :'correct' => :'BOOLEAN',
158
+ :'worksheet' => :'String',
159
+ :'dedicated' => :'Boolean',
160
+ :'track' => :'String',
161
+ :'part_uuid' => :'String',
116
162
  :'sharing_mode' => :'MediaScoreSharingMode',
163
+ :'lock_score_template' => :'Boolean',
117
164
  :'title' => :'String',
118
165
  :'description' => :'String',
119
166
  :'html' => :'String',
120
- :'html_width' => :'String',
121
- :'html_height' => :'String',
167
+ :'html_width' => :'Float',
168
+ :'html_height' => :'Float',
122
169
  :'url' => :'String',
123
170
  :'thumbnail_url' => :'String',
124
- :'thumbnail_width' => :'String',
125
- :'thumbnail_height' => :'String',
171
+ :'thumbnail_width' => :'Integer',
172
+ :'thumbnail_height' => :'Integer',
126
173
  :'author_name' => :'String',
127
- :'author_url' => :'String'
174
+ :'author_url' => :'String',
175
+ :'icon_url' => :'String',
176
+ :'mime_type' => :'String',
177
+ :'google_drive_file_id' => :'String',
178
+ :'teacher_only' => :'Boolean'
128
179
  }
129
180
  end
130
181
 
182
+ # List of attributes with nullable: true
183
+ def self.openapi_nullable
184
+ Set.new([
185
+ ])
186
+ end
187
+
131
188
  # Initializes the object
132
189
  # @param [Hash] attributes Model attributes in the form of hash
133
190
  def initialize(attributes = {})
134
- return unless attributes.is_a?(Hash)
191
+ if (!attributes.is_a?(Hash))
192
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::MediaAttachment` initialize method"
193
+ end
135
194
 
136
- # convert string to symbol for hash key
137
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
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
197
+ attributes = attributes.each_with_object({}) { |(k, v), h|
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
200
+ end
201
+ h[k.to_sym] = v
202
+ }
138
203
 
139
- if attributes.has_key?(:'type')
204
+ if attributes.key?(:'type')
140
205
  self.type = attributes[:'type']
206
+ else
207
+ self.type = nil
141
208
  end
142
209
 
143
- if attributes.has_key?(:'score')
210
+ if attributes.key?(:'score')
144
211
  self.score = attributes[:'score']
145
212
  end
146
213
 
147
- if attributes.has_key?(:'revision')
214
+ if attributes.key?(:'revision')
148
215
  self.revision = attributes[:'revision']
149
216
  end
150
217
 
151
- if attributes.has_key?(:'correct')
152
- self.correct = attributes[:'correct']
218
+ if attributes.key?(:'worksheet')
219
+ self.worksheet = attributes[:'worksheet']
220
+ end
221
+
222
+ if attributes.key?(:'dedicated')
223
+ self.dedicated = attributes[:'dedicated']
224
+ end
225
+
226
+ if attributes.key?(:'track')
227
+ self.track = attributes[:'track']
228
+ end
229
+
230
+ if attributes.key?(:'part_uuid')
231
+ self.part_uuid = attributes[:'part_uuid']
153
232
  end
154
233
 
155
- if attributes.has_key?(:'sharingMode')
156
- self.sharing_mode = attributes[:'sharingMode']
234
+ if attributes.key?(:'sharing_mode')
235
+ self.sharing_mode = attributes[:'sharing_mode']
236
+ else
237
+ self.sharing_mode = 'read'
157
238
  end
158
239
 
159
- if attributes.has_key?(:'title')
240
+ if attributes.key?(:'lock_score_template')
241
+ self.lock_score_template = attributes[:'lock_score_template']
242
+ end
243
+
244
+ if attributes.key?(:'title')
160
245
  self.title = attributes[:'title']
161
246
  end
162
247
 
163
- if attributes.has_key?(:'description')
248
+ if attributes.key?(:'description')
164
249
  self.description = attributes[:'description']
165
250
  end
166
251
 
167
- if attributes.has_key?(:'html')
252
+ if attributes.key?(:'html')
168
253
  self.html = attributes[:'html']
169
254
  end
170
255
 
171
- if attributes.has_key?(:'htmlWidth')
172
- self.html_width = attributes[:'htmlWidth']
256
+ if attributes.key?(:'html_width')
257
+ self.html_width = attributes[:'html_width']
173
258
  end
174
259
 
175
- if attributes.has_key?(:'htmlHeight')
176
- self.html_height = attributes[:'htmlHeight']
260
+ if attributes.key?(:'html_height')
261
+ self.html_height = attributes[:'html_height']
177
262
  end
178
263
 
179
- if attributes.has_key?(:'url')
264
+ if attributes.key?(:'url')
180
265
  self.url = attributes[:'url']
181
266
  end
182
267
 
183
- if attributes.has_key?(:'thumbnailUrl')
184
- self.thumbnail_url = attributes[:'thumbnailUrl']
268
+ if attributes.key?(:'thumbnail_url')
269
+ self.thumbnail_url = attributes[:'thumbnail_url']
185
270
  end
186
271
 
187
- if attributes.has_key?(:'thumbnailWidth')
188
- self.thumbnail_width = attributes[:'thumbnailWidth']
272
+ if attributes.key?(:'thumbnail_width')
273
+ self.thumbnail_width = attributes[:'thumbnail_width']
189
274
  end
190
275
 
191
- if attributes.has_key?(:'thumbnailHeight')
192
- self.thumbnail_height = attributes[:'thumbnailHeight']
276
+ if attributes.key?(:'thumbnail_height')
277
+ self.thumbnail_height = attributes[:'thumbnail_height']
193
278
  end
194
279
 
195
- if attributes.has_key?(:'authorName')
196
- self.author_name = attributes[:'authorName']
280
+ if attributes.key?(:'author_name')
281
+ self.author_name = attributes[:'author_name']
197
282
  end
198
283
 
199
- if attributes.has_key?(:'authorUrl')
200
- self.author_url = attributes[:'authorUrl']
284
+ if attributes.key?(:'author_url')
285
+ self.author_url = attributes[:'author_url']
201
286
  end
202
287
 
288
+ if attributes.key?(:'icon_url')
289
+ self.icon_url = attributes[:'icon_url']
290
+ end
291
+
292
+ if attributes.key?(:'mime_type')
293
+ self.mime_type = attributes[:'mime_type']
294
+ end
295
+
296
+ if attributes.key?(:'google_drive_file_id')
297
+ self.google_drive_file_id = attributes[:'google_drive_file_id']
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
203
305
  end
204
306
 
205
307
  # Show invalid properties with the reasons. Usually used together with valid?
206
308
  # @return Array for valid properties with the reasons
207
309
  def list_invalid_properties
310
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
208
311
  invalid_properties = Array.new
209
- return invalid_properties
312
+ if @type.nil?
313
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
314
+ end
315
+
316
+ invalid_properties
210
317
  end
211
318
 
212
319
  # Check to see if the all the properties in the model are valid
213
320
  # @return true if the model is valid
214
321
  def valid?
215
- type_validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "exercise"])
322
+ warn '[DEPRECATED] the `valid?` method is obsolete'
323
+ return false if @type.nil?
324
+ type_validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet"])
216
325
  return false unless type_validator.valid?(@type)
217
- return true
326
+ true
218
327
  end
219
328
 
220
329
  # Custom attribute writer method checking allowed values (enum).
221
330
  # @param [Object] type Object to be assigned
222
331
  def type=(type)
223
- validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "exercise"])
332
+ validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "googleDrive", "worksheet"])
224
333
  unless validator.valid?(type)
225
- fail ArgumentError, "invalid value for 'type', must be one of #{validator.allowable_values}."
334
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
226
335
  end
227
336
  @type = type
228
337
  end
@@ -235,8 +344,12 @@ module FlatApi
235
344
  type == o.type &&
236
345
  score == o.score &&
237
346
  revision == o.revision &&
238
- correct == o.correct &&
347
+ worksheet == o.worksheet &&
348
+ dedicated == o.dedicated &&
349
+ track == o.track &&
350
+ part_uuid == o.part_uuid &&
239
351
  sharing_mode == o.sharing_mode &&
352
+ lock_score_template == o.lock_score_template &&
240
353
  title == o.title &&
241
354
  description == o.description &&
242
355
  html == o.html &&
@@ -247,7 +360,11 @@ module FlatApi
247
360
  thumbnail_width == o.thumbnail_width &&
248
361
  thumbnail_height == o.thumbnail_height &&
249
362
  author_name == o.author_name &&
250
- author_url == o.author_url
363
+ author_url == o.author_url &&
364
+ icon_url == o.icon_url &&
365
+ mime_type == o.mime_type &&
366
+ google_drive_file_id == o.google_drive_file_id &&
367
+ teacher_only == o.teacher_only
251
368
  end
252
369
 
253
370
  # @see the `==` method
@@ -257,83 +374,32 @@ module FlatApi
257
374
  end
258
375
 
259
376
  # Calculates hash code according to all attributes.
260
- # @return [Fixnum] Hash code
377
+ # @return [Integer] Hash code
261
378
  def hash
262
- [type, score, revision, correct, sharing_mode, title, description, html, html_width, html_height, url, thumbnail_url, thumbnail_width, thumbnail_height, author_name, author_url].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
263
380
  end
264
381
 
265
382
  # Builds the object from hash
266
383
  # @param [Hash] attributes Model attributes in the form of hash
267
384
  # @return [Object] Returns the model itself
268
- def build_from_hash(attributes)
385
+ def self.build_from_hash(attributes)
269
386
  return nil unless attributes.is_a?(Hash)
270
- self.class.swagger_types.each_pair do |key, type|
271
- if type =~ /\AArray<(.*)>/i
272
- # check to ensure the input is an array given that the the attribute
387
+ attributes = attributes.transform_keys(&:to_sym)
388
+ transformed_hash = {}
389
+ openapi_types.each_pair do |key, type|
390
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
391
+ transformed_hash["#{key}"] = nil
392
+ elsif type =~ /\AArray<(.*)>/i
393
+ # check to ensure the input is an array given that the attribute
273
394
  # is documented as an array but the input is not
274
- if attributes[self.class.attribute_map[key]].is_a?(Array)
275
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
395
+ if attributes[attribute_map[key]].is_a?(Array)
396
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
276
397
  end
277
- elsif !attributes[self.class.attribute_map[key]].nil?
278
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
279
- end # or else data not found in attributes(hash), not an issue as the data can be optional
280
- end
281
-
282
- self
283
- end
284
-
285
- # Deserializes the data based on type
286
- # @param string type Data type
287
- # @param string value Value to be deserialized
288
- # @return [Object] Deserialized data
289
- def _deserialize(type, value)
290
- case type.to_sym
291
- when :DateTime
292
- DateTime.parse(value)
293
- when :Date
294
- Date.parse(value)
295
- when :String
296
- value.to_s
297
- when :Integer
298
- value.to_i
299
- when :Float
300
- value.to_f
301
- when :BOOLEAN
302
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
303
- true
304
- else
305
- false
398
+ elsif !attributes[attribute_map[key]].nil?
399
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
306
400
  end
307
- when :Object
308
- # generic object (usually a Hash), return directly
309
- value
310
- when /\AArray<(?<inner_type>.+)>\z/
311
- inner_type = Regexp.last_match[:inner_type]
312
- value.map { |v| _deserialize(inner_type, v) }
313
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
314
- k_type = Regexp.last_match[:k_type]
315
- v_type = Regexp.last_match[:v_type]
316
- {}.tap do |hash|
317
- value.each do |k, v|
318
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
319
- end
320
- end
321
- else # model
322
- temp_model = FlatApi.const_get(type).new
323
- temp_model.build_from_hash(value)
324
401
  end
325
- end
326
-
327
- # Returns the string representation of the object
328
- # @return [String] String presentation of the object
329
- def to_s
330
- to_hash.to_s
331
- end
332
-
333
- # to_body is an alias to to_hash (backward compatibility)
334
- # @return [Hash] Returns the object in the form of hash
335
- def to_body
336
- to_hash
402
+ new(transformed_hash)
337
403
  end
338
404
 
339
405
  # Returns the object in the form of hash
@@ -342,30 +408,16 @@ module FlatApi
342
408
  hash = {}
343
409
  self.class.attribute_map.each_pair do |attr, param|
344
410
  value = self.send(attr)
345
- next if value.nil?
411
+ if value.nil?
412
+ is_nullable = self.class.openapi_nullable.include?(attr)
413
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
414
+ end
415
+
346
416
  hash[param] = _to_hash(value)
347
417
  end
348
418
  hash
349
419
  end
350
420
 
351
- # Outputs non-array value in the form of hash
352
- # For object, use to_hash. Otherwise, just return the value
353
- # @param [Object] value Any valid value
354
- # @return [Hash] Returns the value in the form of hash
355
- def _to_hash(value)
356
- if value.is_a?(Array)
357
- value.compact.map{ |v| _to_hash(v) }
358
- elsif value.is_a?(Hash)
359
- {}.tap do |hash|
360
- value.each { |k, v| hash[k] = _to_hash(v) }
361
- end
362
- elsif value.respond_to? :to_hash
363
- value.to_hash
364
- else
365
- value
366
- end
367
- end
368
-
369
421
  end
370
422
 
371
423
  end
@@ -1,32 +1,42 @@
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 or MIDI 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 interoduction](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
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  class MediaScoreSharingMode
17
-
18
18
  READ = "read".freeze
19
19
  WRITE = "write".freeze
20
20
  COPY = "copy".freeze
21
+ PERFORMANCE = "performance".freeze
22
+
23
+ def self.all_vars
24
+ @all_vars ||= [READ, WRITE, COPY, PERFORMANCE].freeze
25
+ end
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def self.build_from_hash(value)
31
+ new.build_from_hash(value)
32
+ end
21
33
 
22
34
  # Builds the enum from string
23
35
  # @param [String] The enum value in the form of the string
24
36
  # @return [String] The enum value
25
37
  def build_from_hash(value)
26
- constantValues = MediaScoreSharingMode.constants.select{|c| MediaScoreSharingMode::const_get(c) == value}
27
- raise "Invalid ENUM value #{value} for class #MediaScoreSharingMode" if constantValues.empty?
28
- value
38
+ return value if MediaScoreSharingMode.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #MediaScoreSharingMode"
29
40
  end
30
41
  end
31
-
32
42
  end