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,20 +1,21 @@
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
  # The score and all its details
17
- class ScoreDetails
18
+ class ScoreDetails < ApiModelBase
18
19
  # The unique identifier of the score
19
20
  attr_accessor :id
20
21
 
@@ -31,12 +32,18 @@ module FlatApi
31
32
  # The url where the score can be viewed in a web browser
32
33
  attr_accessor :html_url
33
34
 
35
+ # The url where the score can be edited in a web browser
36
+ attr_accessor :edit_html_url
37
+
34
38
  # Subtitle of the score
35
39
  attr_accessor :subtitle
36
40
 
37
41
  # Lyricist of the score
38
42
  attr_accessor :lyricist
39
43
 
44
+ # Arranger of the score
45
+ attr_accessor :arranger
46
+
40
47
  # Composer of the score
41
48
  attr_accessor :composer
42
49
 
@@ -62,6 +69,9 @@ module FlatApi
62
69
  # The main tempo of the score (in QPM)
63
70
  attr_accessor :main_tempo_qpm
64
71
 
72
+ # The main key signature of the score (expressed between -7 and 7).
73
+ attr_accessor :main_key_signature
74
+
65
75
  attr_accessor :rights
66
76
 
67
77
  # The list of the collaborators of the score
@@ -76,6 +86,12 @@ module FlatApi
76
86
  # The date when the score was published on Flat
77
87
  attr_accessor :publication_date
78
88
 
89
+ # The date when the score will be definitively deleted. This date can be in the past if the score will be deleted at the next deletion batch, in this case you can display something like \"Deleted shortly\". Schedule: * For all paying users, the scores will be definitively deleted after 90 days. * For free users, the scores are no longer available after 24 hours, an can be restored with a paying account up to 90 days.
90
+ attr_accessor :scheduled_deletion_date
91
+
92
+ # The date when the score was highlighted (featured) on our community
93
+ attr_accessor :highlighted_date
94
+
79
95
  # If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`.
80
96
  attr_accessor :organization
81
97
 
@@ -85,6 +101,12 @@ module FlatApi
85
101
  # An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`.
86
102
  attr_accessor :instruments
87
103
 
104
+ # An array of the instrument names used in the last version of the score. This list is localized and ready-to-display and will match the indexes from the `instruments` list.
105
+ attr_accessor :instruments_names
106
+
107
+ # An array of the audio samples identifiers used the different score parts. The format of the strings is `{instrument-group}.{sample-id}`.
108
+ attr_accessor :samples
109
+
88
110
  # If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}`
89
111
  attr_accessor :google_drive_file_id
90
112
 
@@ -94,6 +116,34 @@ module FlatApi
94
116
 
95
117
  attr_accessor :views
96
118
 
119
+ attr_accessor :plays
120
+
121
+ # The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them.
122
+ attr_accessor :collections
123
+
124
+ attr_accessor :me
125
+
126
+ class EnumAttributeValidator
127
+ attr_reader :datatype
128
+ attr_reader :allowable_values
129
+
130
+ def initialize(datatype, allowable_values)
131
+ @allowable_values = allowable_values.map do |value|
132
+ case datatype.to_s
133
+ when /Integer/i
134
+ value.to_i
135
+ when /Float/i
136
+ value.to_f
137
+ else
138
+ value
139
+ end
140
+ end
141
+ end
142
+
143
+ def valid?(value)
144
+ !value || allowable_values.include?(value)
145
+ end
146
+ end
97
147
 
98
148
  # Attribute mapping from ruby-style variable name to JSON key.
99
149
  def self.attribute_map
@@ -104,8 +154,10 @@ module FlatApi
104
154
  :'privacy' => :'privacy',
105
155
  :'user' => :'user',
106
156
  :'html_url' => :'htmlUrl',
157
+ :'edit_html_url' => :'editHtmlUrl',
107
158
  :'subtitle' => :'subtitle',
108
159
  :'lyricist' => :'lyricist',
160
+ :'arranger' => :'arranger',
109
161
  :'composer' => :'composer',
110
162
  :'description' => :'description',
111
163
  :'tags' => :'tags',
@@ -115,199 +167,484 @@ module FlatApi
115
167
  :'duration_time' => :'durationTime',
116
168
  :'number_measures' => :'numberMeasures',
117
169
  :'main_tempo_qpm' => :'mainTempoQpm',
170
+ :'main_key_signature' => :'mainKeySignature',
118
171
  :'rights' => :'rights',
119
172
  :'collaborators' => :'collaborators',
120
173
  :'creation_date' => :'creationDate',
121
174
  :'modification_date' => :'modificationDate',
122
175
  :'publication_date' => :'publicationDate',
176
+ :'scheduled_deletion_date' => :'scheduledDeletionDate',
177
+ :'highlighted_date' => :'highlightedDate',
123
178
  :'organization' => :'organization',
124
179
  :'parent_score' => :'parentScore',
125
180
  :'instruments' => :'instruments',
181
+ :'instruments_names' => :'instrumentsNames',
182
+ :'samples' => :'samples',
126
183
  :'google_drive_file_id' => :'googleDriveFileId',
127
184
  :'likes' => :'likes',
128
185
  :'comments' => :'comments',
129
- :'views' => :'views'
186
+ :'views' => :'views',
187
+ :'plays' => :'plays',
188
+ :'collections' => :'collections',
189
+ :'me' => :'me'
130
190
  }
131
191
  end
132
192
 
193
+ # Returns attribute mapping this model knows about
194
+ def self.acceptable_attribute_map
195
+ attribute_map
196
+ end
197
+
198
+ # Returns all the JSON keys this model knows about
199
+ def self.acceptable_attributes
200
+ acceptable_attribute_map.values
201
+ end
202
+
133
203
  # Attribute type mapping.
134
- def self.swagger_types
204
+ def self.openapi_types
135
205
  {
136
206
  :'id' => :'String',
137
207
  :'sharing_key' => :'String',
138
208
  :'title' => :'String',
139
209
  :'privacy' => :'ScorePrivacy',
140
- :'user' => :'UserPublicSummary',
210
+ :'user' => :'UserPublic',
141
211
  :'html_url' => :'String',
212
+ :'edit_html_url' => :'String',
142
213
  :'subtitle' => :'String',
143
214
  :'lyricist' => :'String',
215
+ :'arranger' => :'String',
144
216
  :'composer' => :'String',
145
217
  :'description' => :'String',
146
218
  :'tags' => :'Array<String>',
147
219
  :'creation_type' => :'ScoreCreationType',
148
220
  :'license' => :'ScoreLicense',
149
221
  :'license_text' => :'String',
150
- :'duration_time' => :'Integer',
222
+ :'duration_time' => :'Float',
151
223
  :'number_measures' => :'Integer',
152
- :'main_tempo_qpm' => :'Integer',
224
+ :'main_tempo_qpm' => :'Float',
225
+ :'main_key_signature' => :'Float',
153
226
  :'rights' => :'ResourceRights',
154
227
  :'collaborators' => :'Array<ResourceCollaborator>',
155
- :'creation_date' => :'DateTime',
156
- :'modification_date' => :'DateTime',
157
- :'publication_date' => :'DateTime',
228
+ :'creation_date' => :'Time',
229
+ :'modification_date' => :'Time',
230
+ :'publication_date' => :'Time',
231
+ :'scheduled_deletion_date' => :'Time',
232
+ :'highlighted_date' => :'Time',
158
233
  :'organization' => :'String',
159
234
  :'parent_score' => :'String',
160
235
  :'instruments' => :'Array<String>',
236
+ :'instruments_names' => :'Array<String>',
237
+ :'samples' => :'Array<String>',
161
238
  :'google_drive_file_id' => :'String',
162
239
  :'likes' => :'ScoreLikesCounts',
163
240
  :'comments' => :'ScoreCommentsCounts',
164
- :'views' => :'ScoreViewsCounts'
241
+ :'views' => :'ScoreViewsCounts',
242
+ :'plays' => :'ScorePlaysCounts',
243
+ :'collections' => :'Array<String>',
244
+ :'me' => :'ScoreDetailsAllOfMe'
165
245
  }
166
246
  end
167
247
 
248
+ # List of attributes with nullable: true
249
+ def self.openapi_nullable
250
+ Set.new([
251
+ :'creation_type',
252
+ :'license',
253
+ ])
254
+ end
255
+
256
+ # List of class defined in allOf (OpenAPI v3)
257
+ def self.openapi_all_of
258
+ [
259
+ :'ScoreSummary'
260
+ ]
261
+ end
262
+
168
263
  # Initializes the object
169
264
  # @param [Hash] attributes Model attributes in the form of hash
170
265
  def initialize(attributes = {})
171
- return unless attributes.is_a?(Hash)
266
+ if (!attributes.is_a?(Hash))
267
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::ScoreDetails` initialize method"
268
+ end
172
269
 
173
- # convert string to symbol for hash key
174
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
270
+ # check to see if the attribute exists and convert string to symbol for hash key
271
+ acceptable_attribute_map = self.class.acceptable_attribute_map
272
+ attributes = attributes.each_with_object({}) { |(k, v), h|
273
+ if (!acceptable_attribute_map.key?(k.to_sym))
274
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::ScoreDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
275
+ end
276
+ h[k.to_sym] = v
277
+ }
175
278
 
176
- if attributes.has_key?(:'id')
279
+ if attributes.key?(:'id')
177
280
  self.id = attributes[:'id']
281
+ else
282
+ self.id = nil
178
283
  end
179
284
 
180
- if attributes.has_key?(:'sharingKey')
181
- self.sharing_key = attributes[:'sharingKey']
285
+ if attributes.key?(:'sharing_key')
286
+ self.sharing_key = attributes[:'sharing_key']
182
287
  end
183
288
 
184
- if attributes.has_key?(:'title')
289
+ if attributes.key?(:'title')
185
290
  self.title = attributes[:'title']
291
+ else
292
+ self.title = nil
186
293
  end
187
294
 
188
- if attributes.has_key?(:'privacy')
295
+ if attributes.key?(:'privacy')
189
296
  self.privacy = attributes[:'privacy']
297
+ else
298
+ self.privacy = 'private'
190
299
  end
191
300
 
192
- if attributes.has_key?(:'user')
301
+ if attributes.key?(:'user')
193
302
  self.user = attributes[:'user']
303
+ else
304
+ self.user = nil
194
305
  end
195
306
 
196
- if attributes.has_key?(:'htmlUrl')
197
- self.html_url = attributes[:'htmlUrl']
307
+ if attributes.key?(:'html_url')
308
+ self.html_url = attributes[:'html_url']
309
+ else
310
+ self.html_url = nil
198
311
  end
199
312
 
200
- if attributes.has_key?(:'subtitle')
313
+ if attributes.key?(:'edit_html_url')
314
+ self.edit_html_url = attributes[:'edit_html_url']
315
+ else
316
+ self.edit_html_url = nil
317
+ end
318
+
319
+ if attributes.key?(:'subtitle')
201
320
  self.subtitle = attributes[:'subtitle']
202
321
  end
203
322
 
204
- if attributes.has_key?(:'lyricist')
323
+ if attributes.key?(:'lyricist')
205
324
  self.lyricist = attributes[:'lyricist']
206
325
  end
207
326
 
208
- if attributes.has_key?(:'composer')
327
+ if attributes.key?(:'arranger')
328
+ self.arranger = attributes[:'arranger']
329
+ end
330
+
331
+ if attributes.key?(:'composer')
209
332
  self.composer = attributes[:'composer']
210
333
  end
211
334
 
212
- if attributes.has_key?(:'description')
335
+ if attributes.key?(:'description')
213
336
  self.description = attributes[:'description']
214
337
  end
215
338
 
216
- if attributes.has_key?(:'tags')
339
+ if attributes.key?(:'tags')
217
340
  if (value = attributes[:'tags']).is_a?(Array)
218
341
  self.tags = value
219
342
  end
220
343
  end
221
344
 
222
- if attributes.has_key?(:'creationType')
223
- self.creation_type = attributes[:'creationType']
345
+ if attributes.key?(:'creation_type')
346
+ self.creation_type = attributes[:'creation_type']
224
347
  end
225
348
 
226
- if attributes.has_key?(:'license')
349
+ if attributes.key?(:'license')
227
350
  self.license = attributes[:'license']
228
351
  end
229
352
 
230
- if attributes.has_key?(:'licenseText')
231
- self.license_text = attributes[:'licenseText']
353
+ if attributes.key?(:'license_text')
354
+ self.license_text = attributes[:'license_text']
355
+ end
356
+
357
+ if attributes.key?(:'duration_time')
358
+ self.duration_time = attributes[:'duration_time']
232
359
  end
233
360
 
234
- if attributes.has_key?(:'durationTime')
235
- self.duration_time = attributes[:'durationTime']
361
+ if attributes.key?(:'number_measures')
362
+ self.number_measures = attributes[:'number_measures']
236
363
  end
237
364
 
238
- if attributes.has_key?(:'numberMeasures')
239
- self.number_measures = attributes[:'numberMeasures']
365
+ if attributes.key?(:'main_tempo_qpm')
366
+ self.main_tempo_qpm = attributes[:'main_tempo_qpm']
240
367
  end
241
368
 
242
- if attributes.has_key?(:'mainTempoQpm')
243
- self.main_tempo_qpm = attributes[:'mainTempoQpm']
369
+ if attributes.key?(:'main_key_signature')
370
+ self.main_key_signature = attributes[:'main_key_signature']
244
371
  end
245
372
 
246
- if attributes.has_key?(:'rights')
373
+ if attributes.key?(:'rights')
247
374
  self.rights = attributes[:'rights']
248
375
  end
249
376
 
250
- if attributes.has_key?(:'collaborators')
377
+ if attributes.key?(:'collaborators')
251
378
  if (value = attributes[:'collaborators']).is_a?(Array)
252
379
  self.collaborators = value
253
380
  end
381
+ else
382
+ self.collaborators = nil
383
+ end
384
+
385
+ if attributes.key?(:'creation_date')
386
+ self.creation_date = attributes[:'creation_date']
387
+ else
388
+ self.creation_date = nil
389
+ end
390
+
391
+ if attributes.key?(:'modification_date')
392
+ self.modification_date = attributes[:'modification_date']
254
393
  end
255
394
 
256
- if attributes.has_key?(:'creationDate')
257
- self.creation_date = attributes[:'creationDate']
395
+ if attributes.key?(:'publication_date')
396
+ self.publication_date = attributes[:'publication_date']
258
397
  end
259
398
 
260
- if attributes.has_key?(:'modificationDate')
261
- self.modification_date = attributes[:'modificationDate']
399
+ if attributes.key?(:'scheduled_deletion_date')
400
+ self.scheduled_deletion_date = attributes[:'scheduled_deletion_date']
262
401
  end
263
402
 
264
- if attributes.has_key?(:'publicationDate')
265
- self.publication_date = attributes[:'publicationDate']
403
+ if attributes.key?(:'highlighted_date')
404
+ self.highlighted_date = attributes[:'highlighted_date']
266
405
  end
267
406
 
268
- if attributes.has_key?(:'organization')
407
+ if attributes.key?(:'organization')
269
408
  self.organization = attributes[:'organization']
270
409
  end
271
410
 
272
- if attributes.has_key?(:'parentScore')
273
- self.parent_score = attributes[:'parentScore']
411
+ if attributes.key?(:'parent_score')
412
+ self.parent_score = attributes[:'parent_score']
274
413
  end
275
414
 
276
- if attributes.has_key?(:'instruments')
415
+ if attributes.key?(:'instruments')
277
416
  if (value = attributes[:'instruments']).is_a?(Array)
278
417
  self.instruments = value
279
418
  end
419
+ else
420
+ self.instruments = nil
421
+ end
422
+
423
+ if attributes.key?(:'instruments_names')
424
+ if (value = attributes[:'instruments_names']).is_a?(Array)
425
+ self.instruments_names = value
426
+ end
427
+ else
428
+ self.instruments_names = nil
429
+ end
430
+
431
+ if attributes.key?(:'samples')
432
+ if (value = attributes[:'samples']).is_a?(Array)
433
+ self.samples = value
434
+ end
435
+ else
436
+ self.samples = nil
280
437
  end
281
438
 
282
- if attributes.has_key?(:'googleDriveFileId')
283
- self.google_drive_file_id = attributes[:'googleDriveFileId']
439
+ if attributes.key?(:'google_drive_file_id')
440
+ self.google_drive_file_id = attributes[:'google_drive_file_id']
284
441
  end
285
442
 
286
- if attributes.has_key?(:'likes')
443
+ if attributes.key?(:'likes')
287
444
  self.likes = attributes[:'likes']
288
445
  end
289
446
 
290
- if attributes.has_key?(:'comments')
447
+ if attributes.key?(:'comments')
291
448
  self.comments = attributes[:'comments']
292
449
  end
293
450
 
294
- if attributes.has_key?(:'views')
451
+ if attributes.key?(:'views')
295
452
  self.views = attributes[:'views']
296
453
  end
297
454
 
455
+ if attributes.key?(:'plays')
456
+ self.plays = attributes[:'plays']
457
+ end
458
+
459
+ if attributes.key?(:'collections')
460
+ if (value = attributes[:'collections']).is_a?(Array)
461
+ self.collections = value
462
+ end
463
+ end
464
+
465
+ if attributes.key?(:'me')
466
+ self.me = attributes[:'me']
467
+ end
298
468
  end
299
469
 
300
470
  # Show invalid properties with the reasons. Usually used together with valid?
301
471
  # @return Array for valid properties with the reasons
302
472
  def list_invalid_properties
473
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
303
474
  invalid_properties = Array.new
304
- return invalid_properties
475
+ if @id.nil?
476
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
477
+ end
478
+
479
+ if @title.nil?
480
+ invalid_properties.push('invalid value for "title", title cannot be nil.')
481
+ end
482
+
483
+ if @privacy.nil?
484
+ invalid_properties.push('invalid value for "privacy", privacy cannot be nil.')
485
+ end
486
+
487
+ if @user.nil?
488
+ invalid_properties.push('invalid value for "user", user cannot be nil.')
489
+ end
490
+
491
+ if @html_url.nil?
492
+ invalid_properties.push('invalid value for "html_url", html_url cannot be nil.')
493
+ end
494
+
495
+ if @edit_html_url.nil?
496
+ invalid_properties.push('invalid value for "edit_html_url", edit_html_url cannot be nil.')
497
+ end
498
+
499
+ if @collaborators.nil?
500
+ invalid_properties.push('invalid value for "collaborators", collaborators cannot be nil.')
501
+ end
502
+
503
+ if @creation_date.nil?
504
+ invalid_properties.push('invalid value for "creation_date", creation_date cannot be nil.')
505
+ end
506
+
507
+ if @instruments.nil?
508
+ invalid_properties.push('invalid value for "instruments", instruments cannot be nil.')
509
+ end
510
+
511
+ if @instruments_names.nil?
512
+ invalid_properties.push('invalid value for "instruments_names", instruments_names cannot be nil.')
513
+ end
514
+
515
+ if @samples.nil?
516
+ invalid_properties.push('invalid value for "samples", samples cannot be nil.')
517
+ end
518
+
519
+ invalid_properties
305
520
  end
306
521
 
307
522
  # Check to see if the all the properties in the model are valid
308
523
  # @return true if the model is valid
309
524
  def valid?
310
- return true
525
+ warn '[DEPRECATED] the `valid?` method is obsolete'
526
+ return false if @id.nil?
527
+ return false if @title.nil?
528
+ return false if @privacy.nil?
529
+ return false if @user.nil?
530
+ return false if @html_url.nil?
531
+ return false if @edit_html_url.nil?
532
+ return false if @collaborators.nil?
533
+ return false if @creation_date.nil?
534
+ return false if @instruments.nil?
535
+ return false if @instruments_names.nil?
536
+ return false if @samples.nil?
537
+ true
538
+ end
539
+
540
+ # Custom attribute writer method with validation
541
+ # @param [Object] id Value to be assigned
542
+ def id=(id)
543
+ if id.nil?
544
+ fail ArgumentError, 'id cannot be nil'
545
+ end
546
+
547
+ @id = id
548
+ end
549
+
550
+ # Custom attribute writer method with validation
551
+ # @param [Object] title Value to be assigned
552
+ def title=(title)
553
+ if title.nil?
554
+ fail ArgumentError, 'title cannot be nil'
555
+ end
556
+
557
+ @title = title
558
+ end
559
+
560
+ # Custom attribute writer method with validation
561
+ # @param [Object] privacy Value to be assigned
562
+ def privacy=(privacy)
563
+ if privacy.nil?
564
+ fail ArgumentError, 'privacy cannot be nil'
565
+ end
566
+
567
+ @privacy = privacy
568
+ end
569
+
570
+ # Custom attribute writer method with validation
571
+ # @param [Object] user Value to be assigned
572
+ def user=(user)
573
+ if user.nil?
574
+ fail ArgumentError, 'user cannot be nil'
575
+ end
576
+
577
+ @user = user
578
+ end
579
+
580
+ # Custom attribute writer method with validation
581
+ # @param [Object] html_url Value to be assigned
582
+ def html_url=(html_url)
583
+ if html_url.nil?
584
+ fail ArgumentError, 'html_url cannot be nil'
585
+ end
586
+
587
+ @html_url = html_url
588
+ end
589
+
590
+ # Custom attribute writer method with validation
591
+ # @param [Object] edit_html_url Value to be assigned
592
+ def edit_html_url=(edit_html_url)
593
+ if edit_html_url.nil?
594
+ fail ArgumentError, 'edit_html_url cannot be nil'
595
+ end
596
+
597
+ @edit_html_url = edit_html_url
598
+ end
599
+
600
+ # Custom attribute writer method with validation
601
+ # @param [Object] collaborators Value to be assigned
602
+ def collaborators=(collaborators)
603
+ if collaborators.nil?
604
+ fail ArgumentError, 'collaborators cannot be nil'
605
+ end
606
+
607
+ @collaborators = collaborators
608
+ end
609
+
610
+ # Custom attribute writer method with validation
611
+ # @param [Object] creation_date Value to be assigned
612
+ def creation_date=(creation_date)
613
+ if creation_date.nil?
614
+ fail ArgumentError, 'creation_date cannot be nil'
615
+ end
616
+
617
+ @creation_date = creation_date
618
+ end
619
+
620
+ # Custom attribute writer method with validation
621
+ # @param [Object] instruments Value to be assigned
622
+ def instruments=(instruments)
623
+ if instruments.nil?
624
+ fail ArgumentError, 'instruments cannot be nil'
625
+ end
626
+
627
+ @instruments = instruments
628
+ end
629
+
630
+ # Custom attribute writer method with validation
631
+ # @param [Object] instruments_names Value to be assigned
632
+ def instruments_names=(instruments_names)
633
+ if instruments_names.nil?
634
+ fail ArgumentError, 'instruments_names cannot be nil'
635
+ end
636
+
637
+ @instruments_names = instruments_names
638
+ end
639
+
640
+ # Custom attribute writer method with validation
641
+ # @param [Object] samples Value to be assigned
642
+ def samples=(samples)
643
+ if samples.nil?
644
+ fail ArgumentError, 'samples cannot be nil'
645
+ end
646
+
647
+ @samples = samples
311
648
  end
312
649
 
313
650
  # Checks equality by comparing each attribute.
@@ -321,8 +658,10 @@ module FlatApi
321
658
  privacy == o.privacy &&
322
659
  user == o.user &&
323
660
  html_url == o.html_url &&
661
+ edit_html_url == o.edit_html_url &&
324
662
  subtitle == o.subtitle &&
325
663
  lyricist == o.lyricist &&
664
+ arranger == o.arranger &&
326
665
  composer == o.composer &&
327
666
  description == o.description &&
328
667
  tags == o.tags &&
@@ -332,18 +671,26 @@ module FlatApi
332
671
  duration_time == o.duration_time &&
333
672
  number_measures == o.number_measures &&
334
673
  main_tempo_qpm == o.main_tempo_qpm &&
674
+ main_key_signature == o.main_key_signature &&
335
675
  rights == o.rights &&
336
676
  collaborators == o.collaborators &&
337
677
  creation_date == o.creation_date &&
338
678
  modification_date == o.modification_date &&
339
679
  publication_date == o.publication_date &&
680
+ scheduled_deletion_date == o.scheduled_deletion_date &&
681
+ highlighted_date == o.highlighted_date &&
340
682
  organization == o.organization &&
341
683
  parent_score == o.parent_score &&
342
684
  instruments == o.instruments &&
685
+ instruments_names == o.instruments_names &&
686
+ samples == o.samples &&
343
687
  google_drive_file_id == o.google_drive_file_id &&
344
688
  likes == o.likes &&
345
689
  comments == o.comments &&
346
- views == o.views
690
+ views == o.views &&
691
+ plays == o.plays &&
692
+ collections == o.collections &&
693
+ me == o.me
347
694
  end
348
695
 
349
696
  # @see the `==` method
@@ -353,83 +700,32 @@ module FlatApi
353
700
  end
354
701
 
355
702
  # Calculates hash code according to all attributes.
356
- # @return [Fixnum] Hash code
703
+ # @return [Integer] Hash code
357
704
  def hash
358
- [id, sharing_key, title, privacy, user, html_url, subtitle, lyricist, composer, description, tags, creation_type, license, license_text, duration_time, number_measures, main_tempo_qpm, rights, collaborators, creation_date, modification_date, publication_date, organization, parent_score, instruments, google_drive_file_id, likes, comments, views].hash
705
+ [id, sharing_key, title, privacy, user, html_url, edit_html_url, subtitle, lyricist, arranger, composer, description, tags, creation_type, license, license_text, duration_time, number_measures, main_tempo_qpm, main_key_signature, rights, collaborators, creation_date, modification_date, publication_date, scheduled_deletion_date, highlighted_date, organization, parent_score, instruments, instruments_names, samples, google_drive_file_id, likes, comments, views, plays, collections, me].hash
359
706
  end
360
707
 
361
708
  # Builds the object from hash
362
709
  # @param [Hash] attributes Model attributes in the form of hash
363
710
  # @return [Object] Returns the model itself
364
- def build_from_hash(attributes)
711
+ def self.build_from_hash(attributes)
365
712
  return nil unless attributes.is_a?(Hash)
366
- self.class.swagger_types.each_pair do |key, type|
367
- if type =~ /\AArray<(.*)>/i
368
- # check to ensure the input is an array given that the the attribute
713
+ attributes = attributes.transform_keys(&:to_sym)
714
+ transformed_hash = {}
715
+ openapi_types.each_pair do |key, type|
716
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
717
+ transformed_hash["#{key}"] = nil
718
+ elsif type =~ /\AArray<(.*)>/i
719
+ # check to ensure the input is an array given that the attribute
369
720
  # is documented as an array but the input is not
370
- if attributes[self.class.attribute_map[key]].is_a?(Array)
371
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
721
+ if attributes[attribute_map[key]].is_a?(Array)
722
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
372
723
  end
373
- elsif !attributes[self.class.attribute_map[key]].nil?
374
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
375
- end # or else data not found in attributes(hash), not an issue as the data can be optional
376
- end
377
-
378
- self
379
- end
380
-
381
- # Deserializes the data based on type
382
- # @param string type Data type
383
- # @param string value Value to be deserialized
384
- # @return [Object] Deserialized data
385
- def _deserialize(type, value)
386
- case type.to_sym
387
- when :DateTime
388
- DateTime.parse(value)
389
- when :Date
390
- Date.parse(value)
391
- when :String
392
- value.to_s
393
- when :Integer
394
- value.to_i
395
- when :Float
396
- value.to_f
397
- when :BOOLEAN
398
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
399
- true
400
- else
401
- false
724
+ elsif !attributes[attribute_map[key]].nil?
725
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
402
726
  end
403
- when :Object
404
- # generic object (usually a Hash), return directly
405
- value
406
- when /\AArray<(?<inner_type>.+)>\z/
407
- inner_type = Regexp.last_match[:inner_type]
408
- value.map { |v| _deserialize(inner_type, v) }
409
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
410
- k_type = Regexp.last_match[:k_type]
411
- v_type = Regexp.last_match[:v_type]
412
- {}.tap do |hash|
413
- value.each do |k, v|
414
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
415
- end
416
- end
417
- else # model
418
- temp_model = FlatApi.const_get(type).new
419
- temp_model.build_from_hash(value)
420
727
  end
421
- end
422
-
423
- # Returns the string representation of the object
424
- # @return [String] String presentation of the object
425
- def to_s
426
- to_hash.to_s
427
- end
428
-
429
- # to_body is an alias to to_hash (backward compatibility)
430
- # @return [Hash] Returns the object in the form of hash
431
- def to_body
432
- to_hash
728
+ new(transformed_hash)
433
729
  end
434
730
 
435
731
  # Returns the object in the form of hash
@@ -438,30 +734,16 @@ module FlatApi
438
734
  hash = {}
439
735
  self.class.attribute_map.each_pair do |attr, param|
440
736
  value = self.send(attr)
441
- next if value.nil?
737
+ if value.nil?
738
+ is_nullable = self.class.openapi_nullable.include?(attr)
739
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
740
+ end
741
+
442
742
  hash[param] = _to_hash(value)
443
743
  end
444
744
  hash
445
745
  end
446
746
 
447
- # Outputs non-array value in the form of hash
448
- # For object, use to_hash. Otherwise, just return the value
449
- # @param [Object] value Any valid value
450
- # @return [Hash] Returns the value in the form of hash
451
- def _to_hash(value)
452
- if value.is_a?(Array)
453
- value.compact.map{ |v| _to_hash(v) }
454
- elsif value.is_a?(Hash)
455
- {}.tap do |hash|
456
- value.each { |k, v| hash[k] = _to_hash(v) }
457
- end
458
- elsif value.respond_to? :to_hash
459
- value.to_hash
460
- else
461
- value
462
- end
463
- end
464
-
465
747
  end
466
748
 
467
749
  end