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,37 +1,49 @@
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
  # User details
17
- class UserDetails
18
- # Identifier of the user
18
+ class UserDetails < ApiModelBase
19
+ # The user unique identifier
19
20
  attr_accessor :id
20
21
 
22
+ # The type of user account
23
+ attr_accessor :type
24
+
25
+ attr_accessor :product
26
+
21
27
  # The user name (unique for the organization)
22
28
  attr_accessor :username
23
29
 
24
- # A displayable name for the user
25
- attr_accessor :name
26
-
27
- # The name that can be directly printed (name or username)
30
+ # The name that can be directly printed (name, firstname & lastname, or username)
28
31
  attr_accessor :printable_name
29
32
 
30
- # User pictue
33
+ # Firstname of the user (for education users)
34
+ attr_accessor :firstname
35
+
36
+ # Lastname of the user (for education users)
37
+ attr_accessor :lastname
38
+
39
+ # A displayable name for the user (for consumer users)
40
+ attr_accessor :name
41
+
42
+ # The URL of the picture to display
31
43
  attr_accessor :picture
32
44
 
33
- # User license status. 'True' if user is an individual Power user
34
- attr_accessor :is_power_user
45
+ # List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge`
46
+ attr_accessor :badges
35
47
 
36
48
  # Organization ID (for Edu users only)
37
49
  attr_accessor :organization
@@ -61,19 +73,43 @@ module FlatApi
61
73
  # Number of public scores the user have
62
74
  attr_accessor :owned_public_scores_count
63
75
 
76
+ # Total number of public scores the user participates in (owned + joined)
77
+ attr_accessor :all_public_scores_count
78
+
79
+ # Number of likes on the user published scores
80
+ attr_accessor :likes_count
81
+
82
+ # Number of plays on the user published scores
83
+ attr_accessor :plays_count
84
+
85
+ # Cover picture (backgroud) for the profile
86
+ attr_accessor :cover_picture
87
+
64
88
  # Theme (background) for the profile
65
89
  attr_accessor :profile_theme
66
90
 
67
- attr_accessor :instruments
91
+ attr_accessor :links
68
92
 
69
- # The type of account
70
- attr_accessor :type
93
+ # Whether the user's email address has been verified
94
+ attr_accessor :is_email_verified
95
+
96
+ attr_accessor :azure_details
71
97
 
72
98
  # Tell either this user profile is private or not (individual accounts only)
73
99
  attr_accessor :private_profile
74
100
 
101
+ # The user language. Input values will be automatically normalized to a supported locale code. Unknown locales will default to `en`. Current supported locales include: `da`, `de`, `en`, `en-GB`, `es`, `fi`, `fil`, `fr`, `fr-CA`, `hi`, `id`, `it`, `ja`, `ja-HIRA`, `ko`, `ms`, `nb`, `nl`, `pl`, `pt`, `pt-BR`, `ro`, `ru`, `sv`, `tr`, `zh-Hans`, `zh-HK`, `zh-TW`
75
102
  attr_accessor :locale
76
103
 
104
+ # For Flat for Education accounts, list of Group identifiers the user is part of.
105
+ attr_accessor :groups
106
+
107
+ # The ID of the user profile picture
108
+ attr_accessor :picture_file
109
+
110
+ # The ID of the user profile cover picture
111
+ attr_accessor :cover_picture_file
112
+
77
113
  class EnumAttributeValidator
78
114
  attr_reader :datatype
79
115
  attr_reader :allowable_values
@@ -100,11 +136,15 @@ module FlatApi
100
136
  def self.attribute_map
101
137
  {
102
138
  :'id' => :'id',
139
+ :'type' => :'type',
140
+ :'product' => :'product',
103
141
  :'username' => :'username',
104
- :'name' => :'name',
105
142
  :'printable_name' => :'printableName',
143
+ :'firstname' => :'firstname',
144
+ :'lastname' => :'lastname',
145
+ :'name' => :'name',
106
146
  :'picture' => :'picture',
107
- :'is_power_user' => :'isPowerUser',
147
+ :'badges' => :'badges',
108
148
  :'organization' => :'organization',
109
149
  :'organization_role' => :'organizationRole',
110
150
  :'class_role' => :'classRole',
@@ -115,148 +155,301 @@ module FlatApi
115
155
  :'followers_count' => :'followersCount',
116
156
  :'following_count' => :'followingCount',
117
157
  :'owned_public_scores_count' => :'ownedPublicScoresCount',
158
+ :'all_public_scores_count' => :'allPublicScoresCount',
159
+ :'likes_count' => :'likesCount',
160
+ :'plays_count' => :'playsCount',
161
+ :'cover_picture' => :'coverPicture',
118
162
  :'profile_theme' => :'profileTheme',
119
- :'instruments' => :'instruments',
120
- :'type' => :'type',
163
+ :'links' => :'links',
164
+ :'is_email_verified' => :'isEmailVerified',
165
+ :'azure_details' => :'azureDetails',
121
166
  :'private_profile' => :'privateProfile',
122
- :'locale' => :'locale'
167
+ :'locale' => :'locale',
168
+ :'groups' => :'groups',
169
+ :'picture_file' => :'pictureFile',
170
+ :'cover_picture_file' => :'coverPictureFile'
123
171
  }
124
172
  end
125
173
 
174
+ # Returns attribute mapping this model knows about
175
+ def self.acceptable_attribute_map
176
+ attribute_map
177
+ end
178
+
179
+ # Returns all the JSON keys this model knows about
180
+ def self.acceptable_attributes
181
+ acceptable_attribute_map.values
182
+ end
183
+
126
184
  # Attribute type mapping.
127
- def self.swagger_types
185
+ def self.openapi_types
128
186
  {
129
187
  :'id' => :'String',
188
+ :'type' => :'String',
189
+ :'product' => :'TutteoProduct',
130
190
  :'username' => :'String',
131
- :'name' => :'String',
132
191
  :'printable_name' => :'String',
192
+ :'firstname' => :'String',
193
+ :'lastname' => :'String',
194
+ :'name' => :'String',
133
195
  :'picture' => :'String',
134
- :'is_power_user' => :'BOOLEAN',
196
+ :'badges' => :'Array<String>',
135
197
  :'organization' => :'String',
136
198
  :'organization_role' => :'OrganizationRoles',
137
199
  :'class_role' => :'ClassRoles',
138
200
  :'html_url' => :'String',
139
201
  :'bio' => :'String',
140
- :'registration_date' => :'DateTime',
202
+ :'registration_date' => :'Time',
141
203
  :'liked_scores_count' => :'Integer',
142
204
  :'followers_count' => :'Integer',
143
205
  :'following_count' => :'Integer',
144
206
  :'owned_public_scores_count' => :'Integer',
207
+ :'all_public_scores_count' => :'Integer',
208
+ :'likes_count' => :'Integer',
209
+ :'plays_count' => :'Integer',
210
+ :'cover_picture' => :'String',
145
211
  :'profile_theme' => :'String',
146
- :'instruments' => :'UserInstruments',
147
- :'type' => :'String',
148
- :'private_profile' => :'BOOLEAN',
149
- :'locale' => :'FlatLocales'
212
+ :'links' => :'UserCommunityProfileLinks',
213
+ :'is_email_verified' => :'Boolean',
214
+ :'azure_details' => :'UserAzureDetails',
215
+ :'private_profile' => :'Boolean',
216
+ :'locale' => :'String',
217
+ :'groups' => :'Array<String>',
218
+ :'picture_file' => :'String',
219
+ :'cover_picture_file' => :'String'
150
220
  }
151
221
  end
152
222
 
223
+ # List of attributes with nullable: true
224
+ def self.openapi_nullable
225
+ Set.new([
226
+ :'picture_file',
227
+ :'cover_picture_file'
228
+ ])
229
+ end
230
+
231
+ # List of class defined in allOf (OpenAPI v3)
232
+ def self.openapi_all_of
233
+ [
234
+ :'UserPublic'
235
+ ]
236
+ end
237
+
153
238
  # Initializes the object
154
239
  # @param [Hash] attributes Model attributes in the form of hash
155
240
  def initialize(attributes = {})
156
- return unless attributes.is_a?(Hash)
241
+ if (!attributes.is_a?(Hash))
242
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::UserDetails` initialize method"
243
+ end
157
244
 
158
- # convert string to symbol for hash key
159
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
245
+ # check to see if the attribute exists and convert string to symbol for hash key
246
+ acceptable_attribute_map = self.class.acceptable_attribute_map
247
+ attributes = attributes.each_with_object({}) { |(k, v), h|
248
+ if (!acceptable_attribute_map.key?(k.to_sym))
249
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::UserDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
250
+ end
251
+ h[k.to_sym] = v
252
+ }
160
253
 
161
- if attributes.has_key?(:'id')
254
+ if attributes.key?(:'id')
162
255
  self.id = attributes[:'id']
256
+ else
257
+ self.id = nil
258
+ end
259
+
260
+ if attributes.key?(:'type')
261
+ self.type = attributes[:'type']
262
+ else
263
+ self.type = nil
264
+ end
265
+
266
+ if attributes.key?(:'product')
267
+ self.product = attributes[:'product']
268
+ else
269
+ self.product = 'flat'
163
270
  end
164
271
 
165
- if attributes.has_key?(:'username')
272
+ if attributes.key?(:'username')
166
273
  self.username = attributes[:'username']
274
+ else
275
+ self.username = nil
167
276
  end
168
277
 
169
- if attributes.has_key?(:'name')
170
- self.name = attributes[:'name']
278
+ if attributes.key?(:'printable_name')
279
+ self.printable_name = attributes[:'printable_name']
280
+ end
281
+
282
+ if attributes.key?(:'firstname')
283
+ self.firstname = attributes[:'firstname']
171
284
  end
172
285
 
173
- if attributes.has_key?(:'printableName')
174
- self.printable_name = attributes[:'printableName']
286
+ if attributes.key?(:'lastname')
287
+ self.lastname = attributes[:'lastname']
175
288
  end
176
289
 
177
- if attributes.has_key?(:'picture')
290
+ if attributes.key?(:'name')
291
+ self.name = attributes[:'name']
292
+ end
293
+
294
+ if attributes.key?(:'picture')
178
295
  self.picture = attributes[:'picture']
296
+ else
297
+ self.picture = nil
179
298
  end
180
299
 
181
- if attributes.has_key?(:'isPowerUser')
182
- self.is_power_user = attributes[:'isPowerUser']
300
+ if attributes.key?(:'badges')
301
+ if (value = attributes[:'badges']).is_a?(Array)
302
+ self.badges = value
303
+ end
183
304
  end
184
305
 
185
- if attributes.has_key?(:'organization')
306
+ if attributes.key?(:'organization')
186
307
  self.organization = attributes[:'organization']
187
308
  end
188
309
 
189
- if attributes.has_key?(:'organizationRole')
190
- self.organization_role = attributes[:'organizationRole']
310
+ if attributes.key?(:'organization_role')
311
+ self.organization_role = attributes[:'organization_role']
191
312
  end
192
313
 
193
- if attributes.has_key?(:'classRole')
194
- self.class_role = attributes[:'classRole']
314
+ if attributes.key?(:'class_role')
315
+ self.class_role = attributes[:'class_role']
195
316
  end
196
317
 
197
- if attributes.has_key?(:'htmlUrl')
198
- self.html_url = attributes[:'htmlUrl']
318
+ if attributes.key?(:'html_url')
319
+ self.html_url = attributes[:'html_url']
199
320
  end
200
321
 
201
- if attributes.has_key?(:'bio')
322
+ if attributes.key?(:'bio')
202
323
  self.bio = attributes[:'bio']
203
324
  end
204
325
 
205
- if attributes.has_key?(:'registrationDate')
206
- self.registration_date = attributes[:'registrationDate']
326
+ if attributes.key?(:'registration_date')
327
+ self.registration_date = attributes[:'registration_date']
207
328
  end
208
329
 
209
- if attributes.has_key?(:'likedScoresCount')
210
- self.liked_scores_count = attributes[:'likedScoresCount']
330
+ if attributes.key?(:'liked_scores_count')
331
+ self.liked_scores_count = attributes[:'liked_scores_count']
211
332
  end
212
333
 
213
- if attributes.has_key?(:'followersCount')
214
- self.followers_count = attributes[:'followersCount']
334
+ if attributes.key?(:'followers_count')
335
+ self.followers_count = attributes[:'followers_count']
215
336
  end
216
337
 
217
- if attributes.has_key?(:'followingCount')
218
- self.following_count = attributes[:'followingCount']
338
+ if attributes.key?(:'following_count')
339
+ self.following_count = attributes[:'following_count']
219
340
  end
220
341
 
221
- if attributes.has_key?(:'ownedPublicScoresCount')
222
- self.owned_public_scores_count = attributes[:'ownedPublicScoresCount']
342
+ if attributes.key?(:'owned_public_scores_count')
343
+ self.owned_public_scores_count = attributes[:'owned_public_scores_count']
223
344
  end
224
345
 
225
- if attributes.has_key?(:'profileTheme')
226
- self.profile_theme = attributes[:'profileTheme']
346
+ if attributes.key?(:'all_public_scores_count')
347
+ self.all_public_scores_count = attributes[:'all_public_scores_count']
227
348
  end
228
349
 
229
- if attributes.has_key?(:'instruments')
230
- self.instruments = attributes[:'instruments']
350
+ if attributes.key?(:'likes_count')
351
+ self.likes_count = attributes[:'likes_count']
231
352
  end
232
353
 
233
- if attributes.has_key?(:'type')
234
- self.type = attributes[:'type']
354
+ if attributes.key?(:'plays_count')
355
+ self.plays_count = attributes[:'plays_count']
356
+ end
357
+
358
+ if attributes.key?(:'cover_picture')
359
+ self.cover_picture = attributes[:'cover_picture']
360
+ end
361
+
362
+ if attributes.key?(:'profile_theme')
363
+ self.profile_theme = attributes[:'profile_theme']
364
+ end
365
+
366
+ if attributes.key?(:'links')
367
+ self.links = attributes[:'links']
368
+ end
369
+
370
+ if attributes.key?(:'is_email_verified')
371
+ self.is_email_verified = attributes[:'is_email_verified']
372
+ end
373
+
374
+ if attributes.key?(:'azure_details')
375
+ self.azure_details = attributes[:'azure_details']
235
376
  end
236
377
 
237
- if attributes.has_key?(:'privateProfile')
238
- self.private_profile = attributes[:'privateProfile']
378
+ if attributes.key?(:'private_profile')
379
+ self.private_profile = attributes[:'private_profile']
239
380
  end
240
381
 
241
- if attributes.has_key?(:'locale')
382
+ if attributes.key?(:'locale')
242
383
  self.locale = attributes[:'locale']
384
+ else
385
+ self.locale = 'en'
243
386
  end
244
387
 
388
+ if attributes.key?(:'groups')
389
+ if (value = attributes[:'groups']).is_a?(Array)
390
+ self.groups = value
391
+ end
392
+ end
393
+
394
+ if attributes.key?(:'picture_file')
395
+ self.picture_file = attributes[:'picture_file']
396
+ end
397
+
398
+ if attributes.key?(:'cover_picture_file')
399
+ self.cover_picture_file = attributes[:'cover_picture_file']
400
+ end
245
401
  end
246
402
 
247
403
  # Show invalid properties with the reasons. Usually used together with valid?
248
404
  # @return Array for valid properties with the reasons
249
405
  def list_invalid_properties
406
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
250
407
  invalid_properties = Array.new
251
- return invalid_properties
408
+ if @id.nil?
409
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
410
+ end
411
+
412
+ if @type.nil?
413
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
414
+ end
415
+
416
+ if @product.nil?
417
+ invalid_properties.push('invalid value for "product", product cannot be nil.')
418
+ end
419
+
420
+ if @username.nil?
421
+ invalid_properties.push('invalid value for "username", username cannot be nil.')
422
+ end
423
+
424
+ if @picture.nil?
425
+ invalid_properties.push('invalid value for "picture", picture cannot be nil.')
426
+ end
427
+
428
+ invalid_properties
252
429
  end
253
430
 
254
431
  # Check to see if the all the properties in the model are valid
255
432
  # @return true if the model is valid
256
433
  def valid?
434
+ warn '[DEPRECATED] the `valid?` method is obsolete'
435
+ return false if @id.nil?
436
+ return false if @type.nil?
257
437
  type_validator = EnumAttributeValidator.new('String', ["user", "guest"])
258
438
  return false unless type_validator.valid?(@type)
259
- return true
439
+ return false if @product.nil?
440
+ return false if @username.nil?
441
+ return false if @picture.nil?
442
+ true
443
+ end
444
+
445
+ # Custom attribute writer method with validation
446
+ # @param [Object] id Value to be assigned
447
+ def id=(id)
448
+ if id.nil?
449
+ fail ArgumentError, 'id cannot be nil'
450
+ end
451
+
452
+ @id = id
260
453
  end
261
454
 
262
455
  # Custom attribute writer method checking allowed values (enum).
@@ -264,22 +457,56 @@ module FlatApi
264
457
  def type=(type)
265
458
  validator = EnumAttributeValidator.new('String', ["user", "guest"])
266
459
  unless validator.valid?(type)
267
- fail ArgumentError, "invalid value for 'type', must be one of #{validator.allowable_values}."
460
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
268
461
  end
269
462
  @type = type
270
463
  end
271
464
 
465
+ # Custom attribute writer method with validation
466
+ # @param [Object] product Value to be assigned
467
+ def product=(product)
468
+ if product.nil?
469
+ fail ArgumentError, 'product cannot be nil'
470
+ end
471
+
472
+ @product = product
473
+ end
474
+
475
+ # Custom attribute writer method with validation
476
+ # @param [Object] username Value to be assigned
477
+ def username=(username)
478
+ if username.nil?
479
+ fail ArgumentError, 'username cannot be nil'
480
+ end
481
+
482
+ @username = username
483
+ end
484
+
485
+ # Custom attribute writer method with validation
486
+ # @param [Object] picture Value to be assigned
487
+ def picture=(picture)
488
+ if picture.nil?
489
+ fail ArgumentError, 'picture cannot be nil'
490
+ end
491
+
492
+ @picture = picture
493
+ end
494
+
272
495
  # Checks equality by comparing each attribute.
273
496
  # @param [Object] Object to be compared
274
497
  def ==(o)
275
498
  return true if self.equal?(o)
276
499
  self.class == o.class &&
277
500
  id == o.id &&
501
+ type == o.type &&
502
+ product == o.product &&
278
503
  username == o.username &&
279
- name == o.name &&
280
504
  printable_name == o.printable_name &&
505
+ firstname == o.firstname &&
506
+ lastname == o.lastname &&
507
+ name == o.name &&
281
508
  picture == o.picture &&
282
- is_power_user == o.is_power_user &&
509
+ badges == o.badges &&
283
510
  organization == o.organization &&
284
511
  organization_role == o.organization_role &&
285
512
  class_role == o.class_role &&
@@ -290,11 +517,19 @@ module FlatApi
290
517
  followers_count == o.followers_count &&
291
518
  following_count == o.following_count &&
292
519
  owned_public_scores_count == o.owned_public_scores_count &&
520
+ all_public_scores_count == o.all_public_scores_count &&
521
+ likes_count == o.likes_count &&
522
+ plays_count == o.plays_count &&
523
+ cover_picture == o.cover_picture &&
293
524
  profile_theme == o.profile_theme &&
294
- instruments == o.instruments &&
295
- type == o.type &&
525
+ links == o.links &&
526
+ is_email_verified == o.is_email_verified &&
527
+ azure_details == o.azure_details &&
296
528
  private_profile == o.private_profile &&
297
- locale == o.locale
529
+ locale == o.locale &&
530
+ groups == o.groups &&
531
+ picture_file == o.picture_file &&
532
+ cover_picture_file == o.cover_picture_file
298
533
  end
299
534
 
300
535
  # @see the `==` method
@@ -304,83 +539,32 @@ module FlatApi
304
539
  end
305
540
 
306
541
  # Calculates hash code according to all attributes.
307
- # @return [Fixnum] Hash code
542
+ # @return [Integer] Hash code
308
543
  def hash
309
- [id, username, name, printable_name, picture, is_power_user, organization, organization_role, class_role, html_url, bio, registration_date, liked_scores_count, followers_count, following_count, owned_public_scores_count, profile_theme, instruments, type, private_profile, locale].hash
544
+ [id, type, product, username, printable_name, firstname, lastname, name, picture, badges, organization, organization_role, class_role, html_url, bio, registration_date, liked_scores_count, followers_count, following_count, owned_public_scores_count, all_public_scores_count, likes_count, plays_count, cover_picture, profile_theme, links, is_email_verified, azure_details, private_profile, locale, groups, picture_file, cover_picture_file].hash
310
545
  end
311
546
 
312
547
  # Builds the object from hash
313
548
  # @param [Hash] attributes Model attributes in the form of hash
314
549
  # @return [Object] Returns the model itself
315
- def build_from_hash(attributes)
550
+ def self.build_from_hash(attributes)
316
551
  return nil unless attributes.is_a?(Hash)
317
- self.class.swagger_types.each_pair do |key, type|
318
- if type =~ /\AArray<(.*)>/i
319
- # check to ensure the input is an array given that the the attribute
552
+ attributes = attributes.transform_keys(&:to_sym)
553
+ transformed_hash = {}
554
+ openapi_types.each_pair do |key, type|
555
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
556
+ transformed_hash["#{key}"] = nil
557
+ elsif type =~ /\AArray<(.*)>/i
558
+ # check to ensure the input is an array given that the attribute
320
559
  # is documented as an array but the input is not
321
- if attributes[self.class.attribute_map[key]].is_a?(Array)
322
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
323
- end
324
- elsif !attributes[self.class.attribute_map[key]].nil?
325
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
326
- end # or else data not found in attributes(hash), not an issue as the data can be optional
327
- end
328
-
329
- self
330
- end
331
-
332
- # Deserializes the data based on type
333
- # @param string type Data type
334
- # @param string value Value to be deserialized
335
- # @return [Object] Deserialized data
336
- def _deserialize(type, value)
337
- case type.to_sym
338
- when :DateTime
339
- DateTime.parse(value)
340
- when :Date
341
- Date.parse(value)
342
- when :String
343
- value.to_s
344
- when :Integer
345
- value.to_i
346
- when :Float
347
- value.to_f
348
- when :BOOLEAN
349
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
350
- true
351
- else
352
- false
353
- end
354
- when :Object
355
- # generic object (usually a Hash), return directly
356
- value
357
- when /\AArray<(?<inner_type>.+)>\z/
358
- inner_type = Regexp.last_match[:inner_type]
359
- value.map { |v| _deserialize(inner_type, v) }
360
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
361
- k_type = Regexp.last_match[:k_type]
362
- v_type = Regexp.last_match[:v_type]
363
- {}.tap do |hash|
364
- value.each do |k, v|
365
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
560
+ if attributes[attribute_map[key]].is_a?(Array)
561
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
366
562
  end
563
+ elsif !attributes[attribute_map[key]].nil?
564
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
367
565
  end
368
- else # model
369
- temp_model = FlatApi.const_get(type).new
370
- temp_model.build_from_hash(value)
371
566
  end
372
- end
373
-
374
- # Returns the string representation of the object
375
- # @return [String] String presentation of the object
376
- def to_s
377
- to_hash.to_s
378
- end
379
-
380
- # to_body is an alias to to_hash (backward compatibility)
381
- # @return [Hash] Returns the object in the form of hash
382
- def to_body
383
- to_hash
567
+ new(transformed_hash)
384
568
  end
385
569
 
386
570
  # Returns the object in the form of hash
@@ -389,30 +573,16 @@ module FlatApi
389
573
  hash = {}
390
574
  self.class.attribute_map.each_pair do |attr, param|
391
575
  value = self.send(attr)
392
- next if value.nil?
576
+ if value.nil?
577
+ is_nullable = self.class.openapi_nullable.include?(attr)
578
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
579
+ end
580
+
393
581
  hash[param] = _to_hash(value)
394
582
  end
395
583
  hash
396
584
  end
397
585
 
398
- # Outputs non-array value in the form of hash
399
- # For object, use to_hash. Otherwise, just return the value
400
- # @param [Object] value Any valid value
401
- # @return [Hash] Returns the value in the form of hash
402
- def _to_hash(value)
403
- if value.is_a?(Array)
404
- value.compact.map{ |v| _to_hash(v) }
405
- elsif value.is_a?(Hash)
406
- {}.tap do |hash|
407
- value.each { |k, v| hash[k] = _to_hash(v) }
408
- end
409
- elsif value.respond_to? :to_hash
410
- value.to_hash
411
- else
412
- value
413
- end
414
- end
415
-
416
586
  end
417
587
 
418
588
  end