flat_api 0.2.0 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) hide show
  1. checksums.yaml +5 -5
  2. data/lib/flat_api/api/account_api.rb +31 -21
  3. data/lib/flat_api/api/class_api.rb +1405 -405
  4. data/lib/flat_api/api/collection_api.rb +257 -169
  5. data/lib/flat_api/api/edu_resources_api.rb +851 -0
  6. data/lib/flat_api/api/group_api.rb +81 -55
  7. data/lib/flat_api/api/organization_api.rb +524 -180
  8. data/lib/flat_api/api/score_api.rb +944 -552
  9. data/lib/flat_api/api/task_api.rb +85 -0
  10. data/lib/flat_api/api/user_api.rb +112 -74
  11. data/lib/flat_api/api_client.rb +112 -107
  12. data/lib/flat_api/api_error.rb +24 -4
  13. data/lib/flat_api/configuration.rb +105 -16
  14. data/lib/flat_api/models/api_access_token.rb +268 -0
  15. data/lib/flat_api/models/app_scopes.rb +59 -0
  16. data/lib/flat_api/models/assignment.rb +192 -101
  17. data/lib/flat_api/models/assignment_capabilities.rb +283 -0
  18. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +240 -0
  19. data/lib/flat_api/models/assignment_copy.rb +80 -169
  20. data/lib/flat_api/models/assignment_copy_response.rb +430 -0
  21. data/lib/flat_api/models/assignment_copy_to_class.rb +243 -0
  22. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +233 -0
  23. data/lib/flat_api/models/assignment_submission.rb +249 -66
  24. data/lib/flat_api/models/assignment_submission_comment.rb +276 -0
  25. data/lib/flat_api/models/assignment_submission_comment_creation.rb +223 -0
  26. data/lib/flat_api/models/assignment_submission_comments.rb +225 -0
  27. data/lib/flat_api/models/assignment_submission_history.rb +384 -0
  28. data/lib/flat_api/models/assignment_submission_history_attachment.rb +235 -0
  29. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  30. data/lib/flat_api/models/assignment_submission_lti.rb +222 -0
  31. data/lib/flat_api/models/assignment_submission_playback_inner.rb +240 -0
  32. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  33. data/lib/flat_api/models/assignment_submission_update.rb +150 -50
  34. data/lib/flat_api/models/assignment_type.rb +44 -0
  35. data/lib/flat_api/models/assignment_update.rb +407 -0
  36. data/lib/flat_api/models/class_assignment.rb +613 -0
  37. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +226 -0
  38. data/lib/flat_api/models/class_assignment_all_of_lti.rb +216 -0
  39. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +226 -0
  40. data/lib/flat_api/models/class_assignment_update.rb +509 -0
  41. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +217 -0
  42. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +219 -0
  43. data/lib/flat_api/models/class_attachment_creation.rb +110 -41
  44. data/lib/flat_api/models/class_creation.rb +144 -43
  45. data/lib/flat_api/models/class_details.rb +175 -60
  46. data/lib/flat_api/models/class_details_canvas.rb +61 -34
  47. data/lib/flat_api/models/class_details_clever.rb +76 -48
  48. data/lib/flat_api/models/class_details_google_classroom.rb +66 -59
  49. data/lib/flat_api/models/class_details_google_drive.rb +63 -36
  50. data/lib/flat_api/models/class_details_issues.rb +218 -0
  51. data/lib/flat_api/models/class_details_issues_sync_inner.rb +270 -0
  52. data/lib/flat_api/models/class_details_lti.rb +65 -38
  53. data/lib/flat_api/models/class_details_mfc.rb +226 -0
  54. data/lib/flat_api/models/class_details_microsoft_graph.rb +215 -0
  55. data/lib/flat_api/models/class_grade_level.rb +43 -0
  56. data/lib/flat_api/models/class_roles.rb +18 -9
  57. data/lib/flat_api/models/class_state.rb +18 -9
  58. data/lib/flat_api/models/class_update.rb +144 -42
  59. data/lib/flat_api/models/collection.rb +138 -50
  60. data/lib/flat_api/models/collection_app.rb +236 -0
  61. data/lib/flat_api/models/collection_capabilities.rb +109 -47
  62. data/lib/flat_api/models/collection_creation.rb +132 -37
  63. data/lib/flat_api/models/collection_modification.rb +122 -35
  64. data/lib/flat_api/models/collection_privacy.rb +18 -9
  65. data/lib/flat_api/models/collection_type.rb +19 -9
  66. data/lib/flat_api/models/edu_library.rb +292 -0
  67. data/lib/flat_api/models/edu_resource.rb +366 -0
  68. data/lib/flat_api/models/edu_resource_capabilities.rb +236 -0
  69. data/lib/flat_api/models/edu_resource_copy.rb +223 -0
  70. data/lib/flat_api/models/edu_resource_creation.rb +301 -0
  71. data/lib/flat_api/models/edu_resource_folder.rb +216 -0
  72. data/lib/flat_api/models/edu_resource_lti_link.rb +223 -0
  73. data/lib/flat_api/models/edu_resource_move.rb +223 -0
  74. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  75. data/lib/flat_api/models/edu_resource_resource.rb +105 -0
  76. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  77. data/lib/flat_api/models/edu_resource_update.rb +277 -0
  78. data/lib/flat_api/models/edu_resource_use_in_class.rb +233 -0
  79. data/lib/flat_api/models/flat_error_response.rb +79 -38
  80. data/lib/flat_api/models/flat_locales.rb +30 -10
  81. data/lib/flat_api/models/google_classroom_coursework.rb +76 -38
  82. data/lib/flat_api/models/google_classroom_submission.rb +84 -36
  83. data/lib/flat_api/models/group.rb +72 -44
  84. data/lib/flat_api/models/group_details.rb +92 -43
  85. data/lib/flat_api/models/group_type.rb +18 -9
  86. data/lib/flat_api/models/license_mode.rb +18 -9
  87. data/lib/flat_api/models/license_sources.rb +21 -9
  88. data/lib/flat_api/models/lms_name.rb +19 -9
  89. data/lib/flat_api/models/lti_credentials.rb +95 -46
  90. data/lib/flat_api/models/lti_credentials_creation.rb +91 -38
  91. data/lib/flat_api/models/media_attachment.rb +167 -70
  92. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  93. data/lib/flat_api/models/microsoft_graph_assignment.rb +248 -0
  94. data/lib/flat_api/models/microsoft_graph_submission.rb +240 -0
  95. data/lib/flat_api/models/organization_invitation.rb +139 -44
  96. data/lib/flat_api/models/organization_invitation_creation.rb +99 -35
  97. data/lib/flat_api/models/organization_roles.rb +18 -9
  98. data/lib/flat_api/models/organization_user_access_token_creation.rb +225 -0
  99. data/lib/flat_api/models/resource_collaborator.rb +181 -51
  100. data/lib/flat_api/models/resource_collaborator_creation.rb +74 -47
  101. data/lib/flat_api/models/resource_rights.rb +145 -42
  102. data/lib/flat_api/models/score_comment.rb +93 -56
  103. data/lib/flat_api/models/score_comment_context.rb +103 -59
  104. data/lib/flat_api/models/score_comment_creation.rb +70 -41
  105. data/lib/flat_api/models/score_comment_moderation.rb +260 -0
  106. data/lib/flat_api/models/score_comment_update.rb +82 -49
  107. data/lib/flat_api/models/score_comments_counts.rb +67 -40
  108. data/lib/flat_api/models/score_creation.rb +81 -225
  109. data/lib/flat_api/models/score_creation_builder_data.rb +298 -0
  110. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +230 -0
  111. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +322 -0
  112. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +274 -0
  113. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +269 -0
  114. data/lib/flat_api/models/score_creation_common.rb +268 -0
  115. data/lib/flat_api/models/score_creation_file_import.rb +324 -0
  116. data/lib/flat_api/models/score_creation_google_drive_import.rb +291 -0
  117. data/lib/flat_api/models/score_creation_type.rb +19 -9
  118. data/lib/flat_api/models/score_details.rb +272 -81
  119. data/lib/flat_api/models/score_fork.rb +88 -36
  120. data/lib/flat_api/models/score_license.rb +19 -9
  121. data/lib/flat_api/models/score_likes_counts.rb +83 -35
  122. data/lib/flat_api/models/score_modification.rb +180 -50
  123. data/lib/flat_api/models/score_plays_counts.rb +236 -0
  124. data/lib/flat_api/models/score_privacy.rb +18 -9
  125. data/lib/flat_api/models/score_revision.rb +80 -43
  126. data/lib/flat_api/models/score_revision_creation.rb +105 -40
  127. data/lib/flat_api/models/score_revision_statistics.rb +83 -36
  128. data/lib/flat_api/models/score_source.rb +61 -35
  129. data/lib/flat_api/models/score_summary.rb +124 -40
  130. data/lib/flat_api/models/score_track.rb +172 -51
  131. data/lib/flat_api/models/score_track_creation.rb +101 -39
  132. data/lib/flat_api/models/score_track_point.rb +70 -38
  133. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  134. data/lib/flat_api/models/score_track_state.rb +18 -9
  135. data/lib/flat_api/models/score_track_type.rb +18 -9
  136. data/lib/flat_api/models/score_track_update.rb +88 -37
  137. data/lib/flat_api/models/score_views_counts.rb +62 -35
  138. data/lib/flat_api/models/task.rb +364 -0
  139. data/lib/flat_api/models/task_export_options.rb +218 -0
  140. data/lib/flat_api/models/task_progress.rb +226 -0
  141. data/lib/flat_api/models/task_result.rb +226 -0
  142. data/lib/flat_api/models/tutteo_product.rb +42 -0
  143. data/lib/flat_api/models/user_admin_update.rb +219 -41
  144. data/lib/flat_api/models/user_azure_details.rb +235 -0
  145. data/lib/flat_api/models/user_basics.rb +187 -55
  146. data/lib/flat_api/models/user_community_profile_links.rb +272 -0
  147. data/lib/flat_api/models/user_creation.rb +215 -49
  148. data/lib/flat_api/models/user_details.rb +258 -93
  149. data/lib/flat_api/models/user_details_admin.rb +220 -68
  150. data/lib/flat_api/models/user_details_admin_all_of_license.rb +278 -0
  151. data/lib/flat_api/models/user_public.rb +242 -79
  152. data/lib/flat_api/models/user_public_summary.rb +201 -61
  153. data/lib/flat_api/models/user_signin_link.rb +225 -0
  154. data/lib/flat_api/models/user_signin_link_creation.rb +217 -0
  155. data/lib/flat_api/version.rb +5 -5
  156. data/lib/flat_api.rb +78 -15
  157. data/spec/api/account_api_spec.rb +11 -10
  158. data/spec/api/class_api_spec.rb +212 -68
  159. data/spec/api/collection_api_spec.rb +36 -37
  160. data/spec/api/edu_resources_api_spec.rb +181 -0
  161. data/spec/api/group_api_spec.rb +14 -15
  162. data/spec/api/organization_api_spec.rb +78 -39
  163. data/spec/api/score_api_spec.rb +105 -91
  164. data/spec/api/task_api_spec.rb +47 -0
  165. data/spec/api/user_api_spec.rb +27 -25
  166. data/spec/models/api_access_token_spec.rb +66 -0
  167. data/spec/models/app_scopes_spec.rb +30 -0
  168. data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +42 -0
  169. data/spec/models/assignment_capabilities_spec.rb +60 -0
  170. data/spec/models/assignment_copy_response_spec.rb +124 -0
  171. data/spec/models/assignment_copy_spec.rb +13 -23
  172. data/spec/models/assignment_copy_to_class_spec.rb +48 -0
  173. data/spec/models/assignment_copy_to_resource_library_spec.rb +42 -0
  174. data/spec/models/assignment_spec.rb +51 -39
  175. data/spec/models/assignment_submission_comment_creation_spec.rb +36 -0
  176. data/spec/models/assignment_submission_comment_spec.rb +72 -0
  177. data/spec/models/assignment_submission_comments_spec.rb +42 -0
  178. data/spec/models/assignment_submission_history_attachment_spec.rb +48 -0
  179. data/spec/models/assignment_submission_history_spec.rb +112 -0
  180. data/spec/models/assignment_submission_history_state_spec.rb +30 -0
  181. data/spec/models/assignment_submission_lti_spec.rb +36 -0
  182. data/spec/models/assignment_submission_playback_inner_spec.rb +42 -0
  183. data/spec/models/assignment_submission_spec.rb +68 -32
  184. data/spec/models/assignment_submission_state_spec.rb +30 -0
  185. data/spec/models/assignment_submission_update_spec.rb +29 -23
  186. data/spec/models/assignment_type_spec.rb +30 -0
  187. data/spec/models/assignment_update_spec.rb +100 -0
  188. data/spec/models/class_assignment_all_of_canvas_spec.rb +42 -0
  189. data/spec/models/class_assignment_all_of_lti_spec.rb +36 -0
  190. data/spec/models/class_assignment_all_of_mfc_spec.rb +42 -0
  191. data/spec/models/class_assignment_spec.rb +216 -0
  192. data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +36 -0
  193. data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +36 -0
  194. data/spec/models/class_assignment_update_spec.rb +150 -0
  195. data/spec/models/class_attachment_creation_spec.rb +41 -23
  196. data/spec/models/class_creation_spec.rb +34 -18
  197. data/spec/models/class_details_canvas_spec.rb +12 -18
  198. data/spec/models/class_details_clever_spec.rb +21 -27
  199. data/spec/models/class_details_google_classroom_spec.rb +12 -30
  200. data/spec/models/class_details_google_drive_spec.rb +12 -18
  201. data/spec/models/class_details_issues_spec.rb +36 -0
  202. data/spec/models/class_details_issues_sync_inner_spec.rb +52 -0
  203. data/spec/models/class_details_lti_spec.rb +13 -19
  204. data/spec/models/class_details_mfc_spec.rb +42 -0
  205. data/spec/models/class_details_microsoft_graph_spec.rb +36 -0
  206. data/spec/models/class_details_spec.rb +68 -34
  207. data/spec/models/class_grade_level_spec.rb +30 -0
  208. data/spec/models/class_roles_spec.rb +10 -16
  209. data/spec/models/class_state_spec.rb +10 -16
  210. data/spec/models/class_update_spec.rb +34 -18
  211. data/spec/models/collection_app_spec.rb +48 -0
  212. data/spec/models/collection_capabilities_spec.rb +15 -21
  213. data/spec/models/collection_creation_spec.rb +17 -17
  214. data/spec/models/collection_modification_spec.rb +17 -17
  215. data/spec/models/collection_privacy_spec.rb +10 -16
  216. data/spec/models/collection_spec.rb +39 -27
  217. data/spec/models/collection_type_spec.rb +10 -16
  218. data/spec/models/edu_library_spec.rb +62 -0
  219. data/spec/models/edu_resource_capabilities_spec.rb +48 -0
  220. data/spec/models/edu_resource_copy_spec.rb +36 -0
  221. data/spec/models/edu_resource_creation_spec.rb +48 -0
  222. data/spec/models/edu_resource_folder_spec.rb +36 -0
  223. data/spec/models/edu_resource_lti_link_spec.rb +36 -0
  224. data/spec/models/edu_resource_move_spec.rb +36 -0
  225. data/spec/models/edu_resource_privacy_spec.rb +30 -0
  226. data/spec/models/edu_resource_resource_spec.rb +32 -0
  227. data/spec/models/edu_resource_spec.rb +96 -0
  228. data/spec/models/edu_resource_type_spec.rb +30 -0
  229. data/spec/models/edu_resource_update_spec.rb +42 -0
  230. data/spec/models/edu_resource_use_in_class_spec.rb +42 -0
  231. data/spec/models/flat_error_response_spec.rb +14 -20
  232. data/spec/models/flat_locales_spec.rb +10 -16
  233. data/spec/models/google_classroom_coursework_spec.rb +19 -19
  234. data/spec/models/google_classroom_submission_spec.rb +13 -19
  235. data/spec/models/group_details_spec.rb +17 -23
  236. data/spec/models/group_spec.rb +21 -27
  237. data/spec/models/group_type_spec.rb +10 -16
  238. data/spec/models/license_mode_spec.rb +10 -16
  239. data/spec/models/license_sources_spec.rb +10 -16
  240. data/spec/models/lms_name_spec.rb +10 -16
  241. data/spec/models/lti_credentials_creation_spec.rb +12 -18
  242. data/spec/models/lti_credentials_spec.rb +19 -25
  243. data/spec/models/media_attachment_spec.rb +67 -37
  244. data/spec/models/media_score_sharing_mode_spec.rb +10 -16
  245. data/spec/models/microsoft_graph_assignment_spec.rb +54 -0
  246. data/spec/models/microsoft_graph_submission_spec.rb +42 -0
  247. data/spec/models/organization_invitation_creation_spec.rb +16 -18
  248. data/spec/models/organization_invitation_spec.rb +29 -23
  249. data/spec/models/organization_roles_spec.rb +10 -16
  250. data/spec/models/organization_user_access_token_creation_spec.rb +36 -0
  251. data/spec/models/resource_collaborator_creation_spec.rb +17 -23
  252. data/spec/models/resource_collaborator_spec.rb +47 -25
  253. data/spec/models/resource_rights_spec.rb +29 -19
  254. data/spec/models/score_comment_context_spec.rb +23 -23
  255. data/spec/models/score_comment_creation_spec.rb +16 -22
  256. data/spec/models/score_comment_moderation_spec.rb +46 -0
  257. data/spec/models/score_comment_spec.rb +35 -35
  258. data/spec/models/score_comment_update_spec.rb +14 -20
  259. data/spec/models/score_comments_counts_spec.rb +14 -20
  260. data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +82 -0
  261. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +60 -0
  262. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +66 -0
  263. data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +42 -0
  264. data/spec/models/score_creation_builder_data_spec.rb +60 -0
  265. data/spec/models/score_creation_common_spec.rb +54 -0
  266. data/spec/models/score_creation_file_import_spec.rb +76 -0
  267. data/spec/models/score_creation_google_drive_import_spec.rb +60 -0
  268. data/spec/models/score_creation_spec.rb +12 -58
  269. data/spec/models/score_creation_type_spec.rb +10 -16
  270. data/spec/models/score_details_spec.rb +75 -45
  271. data/spec/models/score_fork_spec.rb +23 -17
  272. data/spec/models/score_license_spec.rb +10 -16
  273. data/spec/models/score_likes_counts_spec.rb +13 -19
  274. data/spec/models/score_modification_spec.rb +47 -23
  275. data/spec/models/score_plays_counts_spec.rb +48 -0
  276. data/spec/models/score_privacy_spec.rb +10 -16
  277. data/spec/models/score_revision_creation_spec.rb +18 -20
  278. data/spec/models/score_revision_spec.rb +23 -23
  279. data/spec/models/score_revision_statistics_spec.rb +24 -18
  280. data/spec/models/score_source_spec.rb +11 -17
  281. data/spec/models/score_summary_spec.rb +16 -22
  282. data/spec/models/score_track_creation_spec.rb +21 -21
  283. data/spec/models/score_track_point_spec.rb +17 -23
  284. data/spec/models/score_track_purpose_spec.rb +30 -0
  285. data/spec/models/score_track_spec.rb +28 -28
  286. data/spec/models/score_track_state_spec.rb +10 -16
  287. data/spec/models/score_track_type_spec.rb +10 -16
  288. data/spec/models/score_track_update_spec.rb +14 -20
  289. data/spec/models/score_views_counts_spec.rb +13 -19
  290. data/spec/models/task_export_options_spec.rb +36 -0
  291. data/spec/models/task_progress_spec.rb +42 -0
  292. data/spec/models/task_result_spec.rb +42 -0
  293. data/spec/models/task_spec.rb +100 -0
  294. data/spec/models/tutteo_product_spec.rb +30 -0
  295. data/spec/models/user_admin_update_spec.rb +36 -18
  296. data/spec/models/user_azure_details_spec.rb +48 -0
  297. data/spec/models/user_basics_spec.rb +47 -25
  298. data/spec/models/user_community_profile_links_spec.rb +66 -0
  299. data/spec/models/user_creation_spec.rb +36 -20
  300. data/spec/models/user_details_admin_all_of_license_spec.rb +60 -0
  301. data/spec/models/user_details_admin_spec.rb +60 -32
  302. data/spec/models/user_details_spec.rb +93 -45
  303. data/spec/models/user_public_spec.rb +71 -37
  304. data/spec/models/user_public_summary_spec.rb +51 -29
  305. data/spec/models/user_signin_link_creation_spec.rb +36 -0
  306. data/spec/models/user_signin_link_spec.rb +42 -0
  307. data/spec/spec_helper.rb +4 -4
  308. metadata +279 -327
  309. data/CHANGELOG.md +0 -17
  310. data/Gemfile +0 -7
  311. data/README.md +0 -271
  312. data/Rakefile +0 -8
  313. data/docs/AccountApi.md +0 -55
  314. data/docs/Assignment.md +0 -18
  315. data/docs/AssignmentCopy.md +0 -8
  316. data/docs/AssignmentCreation.md +0 -12
  317. data/docs/AssignmentSubmission.md +0 -19
  318. data/docs/AssignmentSubmissionUpdate.md +0 -11
  319. data/docs/ClassApi.md +0 -1051
  320. data/docs/ClassAttachmentCreation.md +0 -10
  321. data/docs/ClassCreation.md +0 -9
  322. data/docs/ClassDetails.md +0 -25
  323. data/docs/ClassDetailsCanvas.md +0 -9
  324. data/docs/ClassDetailsClever.md +0 -14
  325. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  326. data/docs/ClassDetailsGoogleDrive.md +0 -9
  327. data/docs/ClassDetailsLti.md +0 -10
  328. data/docs/ClassRoles.md +0 -7
  329. data/docs/ClassState.md +0 -7
  330. data/docs/ClassUpdate.md +0 -9
  331. data/docs/Collection.md +0 -18
  332. data/docs/CollectionApi.md +0 -521
  333. data/docs/CollectionCapabilities.md +0 -12
  334. data/docs/CollectionCreation.md +0 -8
  335. data/docs/CollectionModification.md +0 -8
  336. data/docs/CollectionPrivacy.md +0 -7
  337. data/docs/CollectionTitle.md +0 -7
  338. data/docs/CollectionType.md +0 -7
  339. data/docs/FlatErrorResponse.md +0 -11
  340. data/docs/FlatLocales.md +0 -7
  341. data/docs/GoogleClassroomCoursework.md +0 -10
  342. data/docs/GoogleClassroomSubmission.md +0 -10
  343. data/docs/Group.md +0 -14
  344. data/docs/GroupApi.md +0 -167
  345. data/docs/GroupDetails.md +0 -14
  346. data/docs/GroupType.md +0 -7
  347. data/docs/LicenseMode.md +0 -7
  348. data/docs/LicenseSources.md +0 -7
  349. data/docs/LmsName.md +0 -7
  350. data/docs/LtiCredentials.md +0 -16
  351. data/docs/LtiCredentialsCreation.md +0 -9
  352. data/docs/MediaAttachment.md +0 -23
  353. data/docs/MediaScoreSharingMode.md +0 -7
  354. data/docs/OrganizationApi.md +0 -538
  355. data/docs/OrganizationInvitation.md +0 -14
  356. data/docs/OrganizationInvitationCreation.md +0 -9
  357. data/docs/OrganizationRoles.md +0 -7
  358. data/docs/ResourceCollaborator.md +0 -16
  359. data/docs/ResourceCollaboratorCreation.md +0 -14
  360. data/docs/ResourceRights.md +0 -10
  361. data/docs/ResourceSharingKey.md +0 -7
  362. data/docs/ScoreApi.md +0 -1658
  363. data/docs/ScoreComment.md +0 -22
  364. data/docs/ScoreCommentContext.md +0 -14
  365. data/docs/ScoreCommentCreation.md +0 -13
  366. data/docs/ScoreCommentUpdate.md +0 -11
  367. data/docs/ScoreCommentsCounts.md +0 -11
  368. data/docs/ScoreCreation.md +0 -14
  369. data/docs/ScoreCreationType.md +0 -7
  370. data/docs/ScoreData.md +0 -7
  371. data/docs/ScoreDataEncoding.md +0 -7
  372. data/docs/ScoreDetails.md +0 -36
  373. data/docs/ScoreFork.md +0 -8
  374. data/docs/ScoreLicense.md +0 -7
  375. data/docs/ScoreLikesCounts.md +0 -10
  376. data/docs/ScoreModification.md +0 -14
  377. data/docs/ScorePrivacy.md +0 -7
  378. data/docs/ScoreRevision.md +0 -14
  379. data/docs/ScoreRevisionCreation.md +0 -11
  380. data/docs/ScoreRevisionStatistics.md +0 -9
  381. data/docs/ScoreSource.md +0 -8
  382. data/docs/ScoreSummary.md +0 -13
  383. data/docs/ScoreTrack.md +0 -19
  384. data/docs/ScoreTrackCreation.md +0 -12
  385. data/docs/ScoreTrackPoint.md +0 -10
  386. data/docs/ScoreTrackState.md +0 -7
  387. data/docs/ScoreTrackType.md +0 -7
  388. data/docs/ScoreTrackUpdate.md +0 -11
  389. data/docs/ScoreViewsCounts.md +0 -10
  390. data/docs/UserAdminUpdate.md +0 -9
  391. data/docs/UserApi.md +0 -173
  392. data/docs/UserBasics.md +0 -13
  393. data/docs/UserCreation.md +0 -11
  394. data/docs/UserDetails.md +0 -28
  395. data/docs/UserDetailsAdmin.md +0 -20
  396. data/docs/UserDetailsAdminLicense.md +0 -12
  397. data/docs/UserInstruments.md +0 -7
  398. data/docs/UserPublic.md +0 -25
  399. data/docs/UserPublicSummary.md +0 -17
  400. data/flat_api.gemspec +0 -48
  401. data/lib/flat_api/models/assignment_creation.rb +0 -230
  402. data/lib/flat_api/models/collection_title.rb +0 -179
  403. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  404. data/lib/flat_api/models/score_data.rb +0 -179
  405. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  406. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  407. data/lib/flat_api/models/user_instruments.rb +0 -179
  408. data/spec/api_client_spec.rb +0 -226
  409. data/spec/configuration_spec.rb +0 -42
  410. data/spec/models/assignment_creation_spec.rb +0 -66
  411. data/spec/models/collection_title_spec.rb +0 -36
  412. data/spec/models/resource_sharing_key_spec.rb +0 -36
  413. data/spec/models/score_data_encoding_spec.rb +0 -36
  414. data/spec/models/score_data_spec.rb +0 -36
  415. data/spec/models/user_details_admin_license_spec.rb +0 -66
  416. data/spec/models/user_instruments_spec.rb +0 -36
@@ -1,33 +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 (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)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.20.0
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
+ OpenAPI Generator version: 7.3.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  class ScorePrivacy
17
-
18
18
  PUBLIC = "public".freeze
19
19
  PRIVATE = "private".freeze
20
20
  ORGANIZATION_PUBLIC = "organizationPublic".freeze
21
21
  PRIVATE_LINK = "privateLink".freeze
22
22
 
23
+ def self.all_vars
24
+ @all_vars ||= [PUBLIC, PRIVATE, ORGANIZATION_PUBLIC, PRIVATE_LINK].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
33
+
23
34
  # Builds the enum from string
24
35
  # @param [String] The enum value in the form of the string
25
36
  # @return [String] The enum value
26
37
  def build_from_hash(value)
27
- constantValues = ScorePrivacy.constants.select{|c| ScorePrivacy::const_get(c) == value}
28
- raise "Invalid ENUM value #{value} for class #ScorePrivacy" if constantValues.empty?
29
- value
38
+ return value if ScorePrivacy.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #ScorePrivacy"
30
40
  end
31
41
  end
32
-
33
42
  end
@@ -1,16 +1,17 @@
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 (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)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.20.0
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
+ OpenAPI Generator version: 7.3.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # A score revision metadata
@@ -26,6 +27,9 @@ module FlatApi
26
27
  # The date when this revision was created
27
28
  attr_accessor :creation_date
28
29
 
30
+ # The last event (action id) of the revision
31
+ attr_accessor :event
32
+
29
33
  # A description associated to the revision
30
34
  attr_accessor :description
31
35
 
@@ -34,7 +38,6 @@ module FlatApi
34
38
 
35
39
  attr_accessor :statistics
36
40
 
37
-
38
41
  # Attribute mapping from ruby-style variable name to JSON key.
39
42
  def self.attribute_map
40
43
  {
@@ -42,76 +45,101 @@ module FlatApi
42
45
  :'user' => :'user',
43
46
  :'collaborators' => :'collaborators',
44
47
  :'creation_date' => :'creationDate',
48
+ :'event' => :'event',
45
49
  :'description' => :'description',
46
50
  :'autosave' => :'autosave',
47
51
  :'statistics' => :'statistics'
48
52
  }
49
53
  end
50
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
51
60
  # Attribute type mapping.
52
- def self.swagger_types
61
+ def self.openapi_types
53
62
  {
54
63
  :'id' => :'String',
55
64
  :'user' => :'String',
56
65
  :'collaborators' => :'Array<String>',
57
- :'creation_date' => :'DateTime',
66
+ :'creation_date' => :'Time',
67
+ :'event' => :'String',
58
68
  :'description' => :'String',
59
- :'autosave' => :'BOOLEAN',
69
+ :'autosave' => :'Boolean',
60
70
  :'statistics' => :'ScoreRevisionStatistics'
61
71
  }
62
72
  end
63
73
 
74
+ # List of attributes with nullable: true
75
+ def self.openapi_nullable
76
+ Set.new([
77
+ ])
78
+ end
79
+
64
80
  # Initializes the object
65
81
  # @param [Hash] attributes Model attributes in the form of hash
66
82
  def initialize(attributes = {})
67
- return unless attributes.is_a?(Hash)
83
+ if (!attributes.is_a?(Hash))
84
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::ScoreRevision` initialize method"
85
+ end
68
86
 
69
- # convert string to symbol for hash key
70
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
87
+ # check to see if the attribute exists and convert string to symbol for hash key
88
+ attributes = attributes.each_with_object({}) { |(k, v), h|
89
+ if (!self.class.attribute_map.key?(k.to_sym))
90
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::ScoreRevision`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
91
+ end
92
+ h[k.to_sym] = v
93
+ }
71
94
 
72
- if attributes.has_key?(:'id')
95
+ if attributes.key?(:'id')
73
96
  self.id = attributes[:'id']
74
97
  end
75
98
 
76
- if attributes.has_key?(:'user')
99
+ if attributes.key?(:'user')
77
100
  self.user = attributes[:'user']
78
101
  end
79
102
 
80
- if attributes.has_key?(:'collaborators')
103
+ if attributes.key?(:'collaborators')
81
104
  if (value = attributes[:'collaborators']).is_a?(Array)
82
105
  self.collaborators = value
83
106
  end
84
107
  end
85
108
 
86
- if attributes.has_key?(:'creationDate')
87
- self.creation_date = attributes[:'creationDate']
109
+ if attributes.key?(:'creation_date')
110
+ self.creation_date = attributes[:'creation_date']
111
+ end
112
+
113
+ if attributes.key?(:'event')
114
+ self.event = attributes[:'event']
88
115
  end
89
116
 
90
- if attributes.has_key?(:'description')
117
+ if attributes.key?(:'description')
91
118
  self.description = attributes[:'description']
92
119
  end
93
120
 
94
- if attributes.has_key?(:'autosave')
121
+ if attributes.key?(:'autosave')
95
122
  self.autosave = attributes[:'autosave']
96
123
  end
97
124
 
98
- if attributes.has_key?(:'statistics')
125
+ if attributes.key?(:'statistics')
99
126
  self.statistics = attributes[:'statistics']
100
127
  end
101
-
102
128
  end
103
129
 
104
130
  # Show invalid properties with the reasons. Usually used together with valid?
105
131
  # @return Array for valid properties with the reasons
106
132
  def list_invalid_properties
133
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
134
  invalid_properties = Array.new
108
- return invalid_properties
135
+ invalid_properties
109
136
  end
110
137
 
111
138
  # Check to see if the all the properties in the model are valid
112
139
  # @return true if the model is valid
113
140
  def valid?
114
- return true
141
+ warn '[DEPRECATED] the `valid?` method is obsolete'
142
+ true
115
143
  end
116
144
 
117
145
  # Checks equality by comparing each attribute.
@@ -123,6 +151,7 @@ module FlatApi
123
151
  user == o.user &&
124
152
  collaborators == o.collaborators &&
125
153
  creation_date == o.creation_date &&
154
+ event == o.event &&
126
155
  description == o.description &&
127
156
  autosave == o.autosave &&
128
157
  statistics == o.statistics
@@ -135,39 +164,42 @@ module FlatApi
135
164
  end
136
165
 
137
166
  # Calculates hash code according to all attributes.
138
- # @return [Fixnum] Hash code
167
+ # @return [Integer] Hash code
139
168
  def hash
140
- [id, user, collaborators, creation_date, description, autosave, statistics].hash
169
+ [id, user, collaborators, creation_date, event, description, autosave, statistics].hash
141
170
  end
142
171
 
143
172
  # Builds the object from hash
144
173
  # @param [Hash] attributes Model attributes in the form of hash
145
174
  # @return [Object] Returns the model itself
146
- def build_from_hash(attributes)
175
+ def self.build_from_hash(attributes)
147
176
  return nil unless attributes.is_a?(Hash)
148
- self.class.swagger_types.each_pair do |key, type|
149
- if type =~ /\AArray<(.*)>/i
150
- # check to ensure the input is an array given that the the attribute
177
+ attributes = attributes.transform_keys(&:to_sym)
178
+ transformed_hash = {}
179
+ openapi_types.each_pair do |key, type|
180
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
181
+ transformed_hash["#{key}"] = nil
182
+ elsif type =~ /\AArray<(.*)>/i
183
+ # check to ensure the input is an array given that the attribute
151
184
  # is documented as an array but the input is not
152
- if attributes[self.class.attribute_map[key]].is_a?(Array)
153
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
185
+ if attributes[attribute_map[key]].is_a?(Array)
186
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
154
187
  end
155
- elsif !attributes[self.class.attribute_map[key]].nil?
156
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
157
- end # or else data not found in attributes(hash), not an issue as the data can be optional
188
+ elsif !attributes[attribute_map[key]].nil?
189
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
190
+ end
158
191
  end
159
-
160
- self
192
+ new(transformed_hash)
161
193
  end
162
194
 
163
195
  # Deserializes the data based on type
164
196
  # @param string type Data type
165
197
  # @param string value Value to be deserialized
166
198
  # @return [Object] Deserialized data
167
- def _deserialize(type, value)
199
+ def self._deserialize(type, value)
168
200
  case type.to_sym
169
- when :DateTime
170
- DateTime.parse(value)
201
+ when :Time
202
+ Time.parse(value)
171
203
  when :Date
172
204
  Date.parse(value)
173
205
  when :String
@@ -176,7 +208,7 @@ module FlatApi
176
208
  value.to_i
177
209
  when :Float
178
210
  value.to_f
179
- when :BOOLEAN
211
+ when :Boolean
180
212
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
181
213
  true
182
214
  else
@@ -197,8 +229,9 @@ module FlatApi
197
229
  end
198
230
  end
199
231
  else # model
200
- temp_model = FlatApi.const_get(type).new
201
- temp_model.build_from_hash(value)
232
+ # models (e.g. Pet) or oneOf
233
+ klass = FlatApi.const_get(type)
234
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
202
235
  end
203
236
  end
204
237
 
@@ -220,7 +253,11 @@ module FlatApi
220
253
  hash = {}
221
254
  self.class.attribute_map.each_pair do |attr, param|
222
255
  value = self.send(attr)
223
- next if value.nil?
256
+ if value.nil?
257
+ is_nullable = self.class.openapi_nullable.include?(attr)
258
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
259
+ end
260
+
224
261
  hash[param] = _to_hash(value)
225
262
  end
226
263
  hash
@@ -232,7 +269,7 @@ module FlatApi
232
269
  # @return [Hash] Returns the value in the form of hash
233
270
  def _to_hash(value)
234
271
  if value.is_a?(Array)
235
- value.compact.map{ |v| _to_hash(v) }
272
+ value.compact.map { |v| _to_hash(v) }
236
273
  elsif value.is_a?(Hash)
237
274
  {}.tap do |hash|
238
275
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -1,22 +1,25 @@
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 (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)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.20.0
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
+ OpenAPI Generator version: 7.3.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # A new created revision
17
18
  class ScoreRevisionCreation
19
+ # The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request.
18
20
  attr_accessor :data
19
21
 
22
+ # The optional encoding of the score data. This property must match the encoding used for the `data` property.
20
23
  attr_accessor :data_encoding
21
24
 
22
25
  # Must be set to `true` if the revision was created automatically.
@@ -25,6 +28,27 @@ module FlatApi
25
28
  # A description associated to the revision
26
29
  attr_accessor :description
27
30
 
31
+ class EnumAttributeValidator
32
+ attr_reader :datatype
33
+ attr_reader :allowable_values
34
+
35
+ def initialize(datatype, allowable_values)
36
+ @allowable_values = allowable_values.map do |value|
37
+ case datatype.to_s
38
+ when /Integer/i
39
+ value.to_i
40
+ when /Float/i
41
+ value.to_f
42
+ else
43
+ value
44
+ end
45
+ end
46
+ end
47
+
48
+ def valid?(value)
49
+ !value || allowable_values.include?(value)
50
+ end
51
+ end
28
52
 
29
53
  # Attribute mapping from ruby-style variable name to JSON key.
30
54
  def self.attribute_map
@@ -36,58 +60,91 @@ module FlatApi
36
60
  }
37
61
  end
38
62
 
63
+ # Returns all the JSON keys this model knows about
64
+ def self.acceptable_attributes
65
+ attribute_map.values
66
+ end
67
+
39
68
  # Attribute type mapping.
40
- def self.swagger_types
69
+ def self.openapi_types
41
70
  {
42
- :'data' => :'ScoreData',
43
- :'data_encoding' => :'ScoreDataEncoding',
44
- :'autosave' => :'BOOLEAN',
71
+ :'data' => :'String',
72
+ :'data_encoding' => :'String',
73
+ :'autosave' => :'Boolean',
45
74
  :'description' => :'String'
46
75
  }
47
76
  end
48
77
 
78
+ # List of attributes with nullable: true
79
+ def self.openapi_nullable
80
+ Set.new([
81
+ ])
82
+ end
83
+
49
84
  # Initializes the object
50
85
  # @param [Hash] attributes Model attributes in the form of hash
51
86
  def initialize(attributes = {})
52
- return unless attributes.is_a?(Hash)
87
+ if (!attributes.is_a?(Hash))
88
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::ScoreRevisionCreation` initialize method"
89
+ end
53
90
 
54
- # convert string to symbol for hash key
55
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
91
+ # check to see if the attribute exists and convert string to symbol for hash key
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ if (!self.class.attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::ScoreRevisionCreation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
95
+ end
96
+ h[k.to_sym] = v
97
+ }
56
98
 
57
- if attributes.has_key?(:'data')
99
+ if attributes.key?(:'data')
58
100
  self.data = attributes[:'data']
101
+ else
102
+ self.data = nil
59
103
  end
60
104
 
61
- if attributes.has_key?(:'dataEncoding')
62
- self.data_encoding = attributes[:'dataEncoding']
105
+ if attributes.key?(:'data_encoding')
106
+ self.data_encoding = attributes[:'data_encoding']
63
107
  end
64
108
 
65
- if attributes.has_key?(:'autosave')
109
+ if attributes.key?(:'autosave')
66
110
  self.autosave = attributes[:'autosave']
67
111
  end
68
112
 
69
- if attributes.has_key?(:'description')
113
+ if attributes.key?(:'description')
70
114
  self.description = attributes[:'description']
71
115
  end
72
-
73
116
  end
74
117
 
75
118
  # Show invalid properties with the reasons. Usually used together with valid?
76
119
  # @return Array for valid properties with the reasons
77
120
  def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
122
  invalid_properties = Array.new
79
123
  if @data.nil?
80
- invalid_properties.push("invalid value for 'data', data cannot be nil.")
124
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
81
125
  end
82
126
 
83
- return invalid_properties
127
+ invalid_properties
84
128
  end
85
129
 
86
130
  # Check to see if the all the properties in the model are valid
87
131
  # @return true if the model is valid
88
132
  def valid?
133
+ warn '[DEPRECATED] the `valid?` method is obsolete'
89
134
  return false if @data.nil?
90
- return true
135
+ data_encoding_validator = EnumAttributeValidator.new('String', ["base64"])
136
+ return false unless data_encoding_validator.valid?(@data_encoding)
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] data_encoding Object to be assigned
142
+ def data_encoding=(data_encoding)
143
+ validator = EnumAttributeValidator.new('String', ["base64"])
144
+ unless validator.valid?(data_encoding)
145
+ fail ArgumentError, "invalid value for \"data_encoding\", must be one of #{validator.allowable_values}."
146
+ end
147
+ @data_encoding = data_encoding
91
148
  end
92
149
 
93
150
  # Checks equality by comparing each attribute.
@@ -108,7 +165,7 @@ module FlatApi
108
165
  end
109
166
 
110
167
  # Calculates hash code according to all attributes.
111
- # @return [Fixnum] Hash code
168
+ # @return [Integer] Hash code
112
169
  def hash
113
170
  [data, data_encoding, autosave, description].hash
114
171
  end
@@ -116,31 +173,34 @@ module FlatApi
116
173
  # Builds the object from hash
117
174
  # @param [Hash] attributes Model attributes in the form of hash
118
175
  # @return [Object] Returns the model itself
119
- def build_from_hash(attributes)
176
+ def self.build_from_hash(attributes)
120
177
  return nil unless attributes.is_a?(Hash)
121
- self.class.swagger_types.each_pair do |key, type|
122
- if type =~ /\AArray<(.*)>/i
123
- # check to ensure the input is an array given that the the attribute
178
+ attributes = attributes.transform_keys(&:to_sym)
179
+ transformed_hash = {}
180
+ openapi_types.each_pair do |key, type|
181
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
182
+ transformed_hash["#{key}"] = nil
183
+ elsif type =~ /\AArray<(.*)>/i
184
+ # check to ensure the input is an array given that the attribute
124
185
  # is documented as an array but the input is not
125
- if attributes[self.class.attribute_map[key]].is_a?(Array)
126
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
186
+ if attributes[attribute_map[key]].is_a?(Array)
187
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
127
188
  end
128
- elsif !attributes[self.class.attribute_map[key]].nil?
129
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
130
- end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ elsif !attributes[attribute_map[key]].nil?
190
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
+ end
131
192
  end
132
-
133
- self
193
+ new(transformed_hash)
134
194
  end
135
195
 
136
196
  # Deserializes the data based on type
137
197
  # @param string type Data type
138
198
  # @param string value Value to be deserialized
139
199
  # @return [Object] Deserialized data
140
- def _deserialize(type, value)
200
+ def self._deserialize(type, value)
141
201
  case type.to_sym
142
- when :DateTime
143
- DateTime.parse(value)
202
+ when :Time
203
+ Time.parse(value)
144
204
  when :Date
145
205
  Date.parse(value)
146
206
  when :String
@@ -149,7 +209,7 @@ module FlatApi
149
209
  value.to_i
150
210
  when :Float
151
211
  value.to_f
152
- when :BOOLEAN
212
+ when :Boolean
153
213
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
154
214
  true
155
215
  else
@@ -170,8 +230,9 @@ module FlatApi
170
230
  end
171
231
  end
172
232
  else # model
173
- temp_model = FlatApi.const_get(type).new
174
- temp_model.build_from_hash(value)
233
+ # models (e.g. Pet) or oneOf
234
+ klass = FlatApi.const_get(type)
235
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
175
236
  end
176
237
  end
177
238
 
@@ -193,7 +254,11 @@ module FlatApi
193
254
  hash = {}
194
255
  self.class.attribute_map.each_pair do |attr, param|
195
256
  value = self.send(attr)
196
- next if value.nil?
257
+ if value.nil?
258
+ is_nullable = self.class.openapi_nullable.include?(attr)
259
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
260
+ end
261
+
197
262
  hash[param] = _to_hash(value)
198
263
  end
199
264
  hash
@@ -205,7 +270,7 @@ module FlatApi
205
270
  # @return [Hash] Returns the value in the form of hash
206
271
  def _to_hash(value)
207
272
  if value.is_a?(Array)
208
- value.compact.map{ |v| _to_hash(v) }
273
+ value.compact.map { |v| _to_hash(v) }
209
274
  elsif value.is_a?(Hash)
210
275
  {}.tap do |hash|
211
276
  value.each { |k, v| hash[k] = _to_hash(v) }