flat_api 0.2.0 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) hide show
  1. checksums.yaml +5 -5
  2. data/lib/flat_api/api/account_api.rb +31 -21
  3. data/lib/flat_api/api/class_api.rb +1405 -405
  4. data/lib/flat_api/api/collection_api.rb +257 -169
  5. data/lib/flat_api/api/edu_resources_api.rb +851 -0
  6. data/lib/flat_api/api/group_api.rb +81 -55
  7. data/lib/flat_api/api/organization_api.rb +524 -180
  8. data/lib/flat_api/api/score_api.rb +944 -552
  9. data/lib/flat_api/api/task_api.rb +85 -0
  10. data/lib/flat_api/api/user_api.rb +112 -74
  11. data/lib/flat_api/api_client.rb +112 -107
  12. data/lib/flat_api/api_error.rb +24 -4
  13. data/lib/flat_api/configuration.rb +105 -16
  14. data/lib/flat_api/models/api_access_token.rb +268 -0
  15. data/lib/flat_api/models/app_scopes.rb +59 -0
  16. data/lib/flat_api/models/assignment.rb +192 -101
  17. data/lib/flat_api/models/assignment_capabilities.rb +283 -0
  18. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +240 -0
  19. data/lib/flat_api/models/assignment_copy.rb +80 -169
  20. data/lib/flat_api/models/assignment_copy_response.rb +430 -0
  21. data/lib/flat_api/models/assignment_copy_to_class.rb +243 -0
  22. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +233 -0
  23. data/lib/flat_api/models/assignment_submission.rb +249 -66
  24. data/lib/flat_api/models/assignment_submission_comment.rb +276 -0
  25. data/lib/flat_api/models/assignment_submission_comment_creation.rb +223 -0
  26. data/lib/flat_api/models/assignment_submission_comments.rb +225 -0
  27. data/lib/flat_api/models/assignment_submission_history.rb +384 -0
  28. data/lib/flat_api/models/assignment_submission_history_attachment.rb +235 -0
  29. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  30. data/lib/flat_api/models/assignment_submission_lti.rb +222 -0
  31. data/lib/flat_api/models/assignment_submission_playback_inner.rb +240 -0
  32. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  33. data/lib/flat_api/models/assignment_submission_update.rb +150 -50
  34. data/lib/flat_api/models/assignment_type.rb +44 -0
  35. data/lib/flat_api/models/assignment_update.rb +407 -0
  36. data/lib/flat_api/models/class_assignment.rb +613 -0
  37. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +226 -0
  38. data/lib/flat_api/models/class_assignment_all_of_lti.rb +216 -0
  39. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +226 -0
  40. data/lib/flat_api/models/class_assignment_update.rb +509 -0
  41. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +217 -0
  42. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +219 -0
  43. data/lib/flat_api/models/class_attachment_creation.rb +110 -41
  44. data/lib/flat_api/models/class_creation.rb +144 -43
  45. data/lib/flat_api/models/class_details.rb +175 -60
  46. data/lib/flat_api/models/class_details_canvas.rb +61 -34
  47. data/lib/flat_api/models/class_details_clever.rb +76 -48
  48. data/lib/flat_api/models/class_details_google_classroom.rb +66 -59
  49. data/lib/flat_api/models/class_details_google_drive.rb +63 -36
  50. data/lib/flat_api/models/class_details_issues.rb +218 -0
  51. data/lib/flat_api/models/class_details_issues_sync_inner.rb +270 -0
  52. data/lib/flat_api/models/class_details_lti.rb +65 -38
  53. data/lib/flat_api/models/class_details_mfc.rb +226 -0
  54. data/lib/flat_api/models/class_details_microsoft_graph.rb +215 -0
  55. data/lib/flat_api/models/class_grade_level.rb +43 -0
  56. data/lib/flat_api/models/class_roles.rb +18 -9
  57. data/lib/flat_api/models/class_state.rb +18 -9
  58. data/lib/flat_api/models/class_update.rb +144 -42
  59. data/lib/flat_api/models/collection.rb +138 -50
  60. data/lib/flat_api/models/collection_app.rb +236 -0
  61. data/lib/flat_api/models/collection_capabilities.rb +109 -47
  62. data/lib/flat_api/models/collection_creation.rb +132 -37
  63. data/lib/flat_api/models/collection_modification.rb +122 -35
  64. data/lib/flat_api/models/collection_privacy.rb +18 -9
  65. data/lib/flat_api/models/collection_type.rb +19 -9
  66. data/lib/flat_api/models/edu_library.rb +292 -0
  67. data/lib/flat_api/models/edu_resource.rb +366 -0
  68. data/lib/flat_api/models/edu_resource_capabilities.rb +236 -0
  69. data/lib/flat_api/models/edu_resource_copy.rb +223 -0
  70. data/lib/flat_api/models/edu_resource_creation.rb +301 -0
  71. data/lib/flat_api/models/edu_resource_folder.rb +216 -0
  72. data/lib/flat_api/models/edu_resource_lti_link.rb +223 -0
  73. data/lib/flat_api/models/edu_resource_move.rb +223 -0
  74. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  75. data/lib/flat_api/models/edu_resource_resource.rb +105 -0
  76. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  77. data/lib/flat_api/models/edu_resource_update.rb +277 -0
  78. data/lib/flat_api/models/edu_resource_use_in_class.rb +233 -0
  79. data/lib/flat_api/models/flat_error_response.rb +79 -38
  80. data/lib/flat_api/models/flat_locales.rb +30 -10
  81. data/lib/flat_api/models/google_classroom_coursework.rb +76 -38
  82. data/lib/flat_api/models/google_classroom_submission.rb +84 -36
  83. data/lib/flat_api/models/group.rb +72 -44
  84. data/lib/flat_api/models/group_details.rb +92 -43
  85. data/lib/flat_api/models/group_type.rb +18 -9
  86. data/lib/flat_api/models/license_mode.rb +18 -9
  87. data/lib/flat_api/models/license_sources.rb +21 -9
  88. data/lib/flat_api/models/lms_name.rb +19 -9
  89. data/lib/flat_api/models/lti_credentials.rb +95 -46
  90. data/lib/flat_api/models/lti_credentials_creation.rb +91 -38
  91. data/lib/flat_api/models/media_attachment.rb +167 -70
  92. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  93. data/lib/flat_api/models/microsoft_graph_assignment.rb +248 -0
  94. data/lib/flat_api/models/microsoft_graph_submission.rb +240 -0
  95. data/lib/flat_api/models/organization_invitation.rb +139 -44
  96. data/lib/flat_api/models/organization_invitation_creation.rb +99 -35
  97. data/lib/flat_api/models/organization_roles.rb +18 -9
  98. data/lib/flat_api/models/organization_user_access_token_creation.rb +225 -0
  99. data/lib/flat_api/models/resource_collaborator.rb +181 -51
  100. data/lib/flat_api/models/resource_collaborator_creation.rb +74 -47
  101. data/lib/flat_api/models/resource_rights.rb +145 -42
  102. data/lib/flat_api/models/score_comment.rb +93 -56
  103. data/lib/flat_api/models/score_comment_context.rb +103 -59
  104. data/lib/flat_api/models/score_comment_creation.rb +70 -41
  105. data/lib/flat_api/models/score_comment_moderation.rb +260 -0
  106. data/lib/flat_api/models/score_comment_update.rb +82 -49
  107. data/lib/flat_api/models/score_comments_counts.rb +67 -40
  108. data/lib/flat_api/models/score_creation.rb +81 -225
  109. data/lib/flat_api/models/score_creation_builder_data.rb +298 -0
  110. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +230 -0
  111. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +322 -0
  112. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +274 -0
  113. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +269 -0
  114. data/lib/flat_api/models/score_creation_common.rb +268 -0
  115. data/lib/flat_api/models/score_creation_file_import.rb +324 -0
  116. data/lib/flat_api/models/score_creation_google_drive_import.rb +291 -0
  117. data/lib/flat_api/models/score_creation_type.rb +19 -9
  118. data/lib/flat_api/models/score_details.rb +272 -81
  119. data/lib/flat_api/models/score_fork.rb +88 -36
  120. data/lib/flat_api/models/score_license.rb +19 -9
  121. data/lib/flat_api/models/score_likes_counts.rb +83 -35
  122. data/lib/flat_api/models/score_modification.rb +180 -50
  123. data/lib/flat_api/models/score_plays_counts.rb +236 -0
  124. data/lib/flat_api/models/score_privacy.rb +18 -9
  125. data/lib/flat_api/models/score_revision.rb +80 -43
  126. data/lib/flat_api/models/score_revision_creation.rb +105 -40
  127. data/lib/flat_api/models/score_revision_statistics.rb +83 -36
  128. data/lib/flat_api/models/score_source.rb +61 -35
  129. data/lib/flat_api/models/score_summary.rb +124 -40
  130. data/lib/flat_api/models/score_track.rb +172 -51
  131. data/lib/flat_api/models/score_track_creation.rb +101 -39
  132. data/lib/flat_api/models/score_track_point.rb +70 -38
  133. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  134. data/lib/flat_api/models/score_track_state.rb +18 -9
  135. data/lib/flat_api/models/score_track_type.rb +18 -9
  136. data/lib/flat_api/models/score_track_update.rb +88 -37
  137. data/lib/flat_api/models/score_views_counts.rb +62 -35
  138. data/lib/flat_api/models/task.rb +364 -0
  139. data/lib/flat_api/models/task_export_options.rb +218 -0
  140. data/lib/flat_api/models/task_progress.rb +226 -0
  141. data/lib/flat_api/models/task_result.rb +226 -0
  142. data/lib/flat_api/models/tutteo_product.rb +42 -0
  143. data/lib/flat_api/models/user_admin_update.rb +219 -41
  144. data/lib/flat_api/models/user_azure_details.rb +235 -0
  145. data/lib/flat_api/models/user_basics.rb +187 -55
  146. data/lib/flat_api/models/user_community_profile_links.rb +272 -0
  147. data/lib/flat_api/models/user_creation.rb +215 -49
  148. data/lib/flat_api/models/user_details.rb +258 -93
  149. data/lib/flat_api/models/user_details_admin.rb +220 -68
  150. data/lib/flat_api/models/user_details_admin_all_of_license.rb +278 -0
  151. data/lib/flat_api/models/user_public.rb +242 -79
  152. data/lib/flat_api/models/user_public_summary.rb +201 -61
  153. data/lib/flat_api/models/user_signin_link.rb +225 -0
  154. data/lib/flat_api/models/user_signin_link_creation.rb +217 -0
  155. data/lib/flat_api/version.rb +5 -5
  156. data/lib/flat_api.rb +78 -15
  157. data/spec/api/account_api_spec.rb +11 -10
  158. data/spec/api/class_api_spec.rb +212 -68
  159. data/spec/api/collection_api_spec.rb +36 -37
  160. data/spec/api/edu_resources_api_spec.rb +181 -0
  161. data/spec/api/group_api_spec.rb +14 -15
  162. data/spec/api/organization_api_spec.rb +78 -39
  163. data/spec/api/score_api_spec.rb +105 -91
  164. data/spec/api/task_api_spec.rb +47 -0
  165. data/spec/api/user_api_spec.rb +27 -25
  166. data/spec/models/api_access_token_spec.rb +66 -0
  167. data/spec/models/app_scopes_spec.rb +30 -0
  168. data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +42 -0
  169. data/spec/models/assignment_capabilities_spec.rb +60 -0
  170. data/spec/models/assignment_copy_response_spec.rb +124 -0
  171. data/spec/models/assignment_copy_spec.rb +13 -23
  172. data/spec/models/assignment_copy_to_class_spec.rb +48 -0
  173. data/spec/models/assignment_copy_to_resource_library_spec.rb +42 -0
  174. data/spec/models/assignment_spec.rb +51 -39
  175. data/spec/models/assignment_submission_comment_creation_spec.rb +36 -0
  176. data/spec/models/assignment_submission_comment_spec.rb +72 -0
  177. data/spec/models/assignment_submission_comments_spec.rb +42 -0
  178. data/spec/models/assignment_submission_history_attachment_spec.rb +48 -0
  179. data/spec/models/assignment_submission_history_spec.rb +112 -0
  180. data/spec/models/assignment_submission_history_state_spec.rb +30 -0
  181. data/spec/models/assignment_submission_lti_spec.rb +36 -0
  182. data/spec/models/assignment_submission_playback_inner_spec.rb +42 -0
  183. data/spec/models/assignment_submission_spec.rb +68 -32
  184. data/spec/models/assignment_submission_state_spec.rb +30 -0
  185. data/spec/models/assignment_submission_update_spec.rb +29 -23
  186. data/spec/models/assignment_type_spec.rb +30 -0
  187. data/spec/models/assignment_update_spec.rb +100 -0
  188. data/spec/models/class_assignment_all_of_canvas_spec.rb +42 -0
  189. data/spec/models/class_assignment_all_of_lti_spec.rb +36 -0
  190. data/spec/models/class_assignment_all_of_mfc_spec.rb +42 -0
  191. data/spec/models/class_assignment_spec.rb +216 -0
  192. data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +36 -0
  193. data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +36 -0
  194. data/spec/models/class_assignment_update_spec.rb +150 -0
  195. data/spec/models/class_attachment_creation_spec.rb +41 -23
  196. data/spec/models/class_creation_spec.rb +34 -18
  197. data/spec/models/class_details_canvas_spec.rb +12 -18
  198. data/spec/models/class_details_clever_spec.rb +21 -27
  199. data/spec/models/class_details_google_classroom_spec.rb +12 -30
  200. data/spec/models/class_details_google_drive_spec.rb +12 -18
  201. data/spec/models/class_details_issues_spec.rb +36 -0
  202. data/spec/models/class_details_issues_sync_inner_spec.rb +52 -0
  203. data/spec/models/class_details_lti_spec.rb +13 -19
  204. data/spec/models/class_details_mfc_spec.rb +42 -0
  205. data/spec/models/class_details_microsoft_graph_spec.rb +36 -0
  206. data/spec/models/class_details_spec.rb +68 -34
  207. data/spec/models/class_grade_level_spec.rb +30 -0
  208. data/spec/models/class_roles_spec.rb +10 -16
  209. data/spec/models/class_state_spec.rb +10 -16
  210. data/spec/models/class_update_spec.rb +34 -18
  211. data/spec/models/collection_app_spec.rb +48 -0
  212. data/spec/models/collection_capabilities_spec.rb +15 -21
  213. data/spec/models/collection_creation_spec.rb +17 -17
  214. data/spec/models/collection_modification_spec.rb +17 -17
  215. data/spec/models/collection_privacy_spec.rb +10 -16
  216. data/spec/models/collection_spec.rb +39 -27
  217. data/spec/models/collection_type_spec.rb +10 -16
  218. data/spec/models/edu_library_spec.rb +62 -0
  219. data/spec/models/edu_resource_capabilities_spec.rb +48 -0
  220. data/spec/models/edu_resource_copy_spec.rb +36 -0
  221. data/spec/models/edu_resource_creation_spec.rb +48 -0
  222. data/spec/models/edu_resource_folder_spec.rb +36 -0
  223. data/spec/models/edu_resource_lti_link_spec.rb +36 -0
  224. data/spec/models/edu_resource_move_spec.rb +36 -0
  225. data/spec/models/edu_resource_privacy_spec.rb +30 -0
  226. data/spec/models/edu_resource_resource_spec.rb +32 -0
  227. data/spec/models/edu_resource_spec.rb +96 -0
  228. data/spec/models/edu_resource_type_spec.rb +30 -0
  229. data/spec/models/edu_resource_update_spec.rb +42 -0
  230. data/spec/models/edu_resource_use_in_class_spec.rb +42 -0
  231. data/spec/models/flat_error_response_spec.rb +14 -20
  232. data/spec/models/flat_locales_spec.rb +10 -16
  233. data/spec/models/google_classroom_coursework_spec.rb +19 -19
  234. data/spec/models/google_classroom_submission_spec.rb +13 -19
  235. data/spec/models/group_details_spec.rb +17 -23
  236. data/spec/models/group_spec.rb +21 -27
  237. data/spec/models/group_type_spec.rb +10 -16
  238. data/spec/models/license_mode_spec.rb +10 -16
  239. data/spec/models/license_sources_spec.rb +10 -16
  240. data/spec/models/lms_name_spec.rb +10 -16
  241. data/spec/models/lti_credentials_creation_spec.rb +12 -18
  242. data/spec/models/lti_credentials_spec.rb +19 -25
  243. data/spec/models/media_attachment_spec.rb +67 -37
  244. data/spec/models/media_score_sharing_mode_spec.rb +10 -16
  245. data/spec/models/microsoft_graph_assignment_spec.rb +54 -0
  246. data/spec/models/microsoft_graph_submission_spec.rb +42 -0
  247. data/spec/models/organization_invitation_creation_spec.rb +16 -18
  248. data/spec/models/organization_invitation_spec.rb +29 -23
  249. data/spec/models/organization_roles_spec.rb +10 -16
  250. data/spec/models/organization_user_access_token_creation_spec.rb +36 -0
  251. data/spec/models/resource_collaborator_creation_spec.rb +17 -23
  252. data/spec/models/resource_collaborator_spec.rb +47 -25
  253. data/spec/models/resource_rights_spec.rb +29 -19
  254. data/spec/models/score_comment_context_spec.rb +23 -23
  255. data/spec/models/score_comment_creation_spec.rb +16 -22
  256. data/spec/models/score_comment_moderation_spec.rb +46 -0
  257. data/spec/models/score_comment_spec.rb +35 -35
  258. data/spec/models/score_comment_update_spec.rb +14 -20
  259. data/spec/models/score_comments_counts_spec.rb +14 -20
  260. data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +82 -0
  261. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +60 -0
  262. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +66 -0
  263. data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +42 -0
  264. data/spec/models/score_creation_builder_data_spec.rb +60 -0
  265. data/spec/models/score_creation_common_spec.rb +54 -0
  266. data/spec/models/score_creation_file_import_spec.rb +76 -0
  267. data/spec/models/score_creation_google_drive_import_spec.rb +60 -0
  268. data/spec/models/score_creation_spec.rb +12 -58
  269. data/spec/models/score_creation_type_spec.rb +10 -16
  270. data/spec/models/score_details_spec.rb +75 -45
  271. data/spec/models/score_fork_spec.rb +23 -17
  272. data/spec/models/score_license_spec.rb +10 -16
  273. data/spec/models/score_likes_counts_spec.rb +13 -19
  274. data/spec/models/score_modification_spec.rb +47 -23
  275. data/spec/models/score_plays_counts_spec.rb +48 -0
  276. data/spec/models/score_privacy_spec.rb +10 -16
  277. data/spec/models/score_revision_creation_spec.rb +18 -20
  278. data/spec/models/score_revision_spec.rb +23 -23
  279. data/spec/models/score_revision_statistics_spec.rb +24 -18
  280. data/spec/models/score_source_spec.rb +11 -17
  281. data/spec/models/score_summary_spec.rb +16 -22
  282. data/spec/models/score_track_creation_spec.rb +21 -21
  283. data/spec/models/score_track_point_spec.rb +17 -23
  284. data/spec/models/score_track_purpose_spec.rb +30 -0
  285. data/spec/models/score_track_spec.rb +28 -28
  286. data/spec/models/score_track_state_spec.rb +10 -16
  287. data/spec/models/score_track_type_spec.rb +10 -16
  288. data/spec/models/score_track_update_spec.rb +14 -20
  289. data/spec/models/score_views_counts_spec.rb +13 -19
  290. data/spec/models/task_export_options_spec.rb +36 -0
  291. data/spec/models/task_progress_spec.rb +42 -0
  292. data/spec/models/task_result_spec.rb +42 -0
  293. data/spec/models/task_spec.rb +100 -0
  294. data/spec/models/tutteo_product_spec.rb +30 -0
  295. data/spec/models/user_admin_update_spec.rb +36 -18
  296. data/spec/models/user_azure_details_spec.rb +48 -0
  297. data/spec/models/user_basics_spec.rb +47 -25
  298. data/spec/models/user_community_profile_links_spec.rb +66 -0
  299. data/spec/models/user_creation_spec.rb +36 -20
  300. data/spec/models/user_details_admin_all_of_license_spec.rb +60 -0
  301. data/spec/models/user_details_admin_spec.rb +60 -32
  302. data/spec/models/user_details_spec.rb +93 -45
  303. data/spec/models/user_public_spec.rb +71 -37
  304. data/spec/models/user_public_summary_spec.rb +51 -29
  305. data/spec/models/user_signin_link_creation_spec.rb +36 -0
  306. data/spec/models/user_signin_link_spec.rb +42 -0
  307. data/spec/spec_helper.rb +4 -4
  308. metadata +279 -327
  309. data/CHANGELOG.md +0 -17
  310. data/Gemfile +0 -7
  311. data/README.md +0 -271
  312. data/Rakefile +0 -8
  313. data/docs/AccountApi.md +0 -55
  314. data/docs/Assignment.md +0 -18
  315. data/docs/AssignmentCopy.md +0 -8
  316. data/docs/AssignmentCreation.md +0 -12
  317. data/docs/AssignmentSubmission.md +0 -19
  318. data/docs/AssignmentSubmissionUpdate.md +0 -11
  319. data/docs/ClassApi.md +0 -1051
  320. data/docs/ClassAttachmentCreation.md +0 -10
  321. data/docs/ClassCreation.md +0 -9
  322. data/docs/ClassDetails.md +0 -25
  323. data/docs/ClassDetailsCanvas.md +0 -9
  324. data/docs/ClassDetailsClever.md +0 -14
  325. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  326. data/docs/ClassDetailsGoogleDrive.md +0 -9
  327. data/docs/ClassDetailsLti.md +0 -10
  328. data/docs/ClassRoles.md +0 -7
  329. data/docs/ClassState.md +0 -7
  330. data/docs/ClassUpdate.md +0 -9
  331. data/docs/Collection.md +0 -18
  332. data/docs/CollectionApi.md +0 -521
  333. data/docs/CollectionCapabilities.md +0 -12
  334. data/docs/CollectionCreation.md +0 -8
  335. data/docs/CollectionModification.md +0 -8
  336. data/docs/CollectionPrivacy.md +0 -7
  337. data/docs/CollectionTitle.md +0 -7
  338. data/docs/CollectionType.md +0 -7
  339. data/docs/FlatErrorResponse.md +0 -11
  340. data/docs/FlatLocales.md +0 -7
  341. data/docs/GoogleClassroomCoursework.md +0 -10
  342. data/docs/GoogleClassroomSubmission.md +0 -10
  343. data/docs/Group.md +0 -14
  344. data/docs/GroupApi.md +0 -167
  345. data/docs/GroupDetails.md +0 -14
  346. data/docs/GroupType.md +0 -7
  347. data/docs/LicenseMode.md +0 -7
  348. data/docs/LicenseSources.md +0 -7
  349. data/docs/LmsName.md +0 -7
  350. data/docs/LtiCredentials.md +0 -16
  351. data/docs/LtiCredentialsCreation.md +0 -9
  352. data/docs/MediaAttachment.md +0 -23
  353. data/docs/MediaScoreSharingMode.md +0 -7
  354. data/docs/OrganizationApi.md +0 -538
  355. data/docs/OrganizationInvitation.md +0 -14
  356. data/docs/OrganizationInvitationCreation.md +0 -9
  357. data/docs/OrganizationRoles.md +0 -7
  358. data/docs/ResourceCollaborator.md +0 -16
  359. data/docs/ResourceCollaboratorCreation.md +0 -14
  360. data/docs/ResourceRights.md +0 -10
  361. data/docs/ResourceSharingKey.md +0 -7
  362. data/docs/ScoreApi.md +0 -1658
  363. data/docs/ScoreComment.md +0 -22
  364. data/docs/ScoreCommentContext.md +0 -14
  365. data/docs/ScoreCommentCreation.md +0 -13
  366. data/docs/ScoreCommentUpdate.md +0 -11
  367. data/docs/ScoreCommentsCounts.md +0 -11
  368. data/docs/ScoreCreation.md +0 -14
  369. data/docs/ScoreCreationType.md +0 -7
  370. data/docs/ScoreData.md +0 -7
  371. data/docs/ScoreDataEncoding.md +0 -7
  372. data/docs/ScoreDetails.md +0 -36
  373. data/docs/ScoreFork.md +0 -8
  374. data/docs/ScoreLicense.md +0 -7
  375. data/docs/ScoreLikesCounts.md +0 -10
  376. data/docs/ScoreModification.md +0 -14
  377. data/docs/ScorePrivacy.md +0 -7
  378. data/docs/ScoreRevision.md +0 -14
  379. data/docs/ScoreRevisionCreation.md +0 -11
  380. data/docs/ScoreRevisionStatistics.md +0 -9
  381. data/docs/ScoreSource.md +0 -8
  382. data/docs/ScoreSummary.md +0 -13
  383. data/docs/ScoreTrack.md +0 -19
  384. data/docs/ScoreTrackCreation.md +0 -12
  385. data/docs/ScoreTrackPoint.md +0 -10
  386. data/docs/ScoreTrackState.md +0 -7
  387. data/docs/ScoreTrackType.md +0 -7
  388. data/docs/ScoreTrackUpdate.md +0 -11
  389. data/docs/ScoreViewsCounts.md +0 -10
  390. data/docs/UserAdminUpdate.md +0 -9
  391. data/docs/UserApi.md +0 -173
  392. data/docs/UserBasics.md +0 -13
  393. data/docs/UserCreation.md +0 -11
  394. data/docs/UserDetails.md +0 -28
  395. data/docs/UserDetailsAdmin.md +0 -20
  396. data/docs/UserDetailsAdminLicense.md +0 -12
  397. data/docs/UserInstruments.md +0 -7
  398. data/docs/UserPublic.md +0 -25
  399. data/docs/UserPublicSummary.md +0 -17
  400. data/flat_api.gemspec +0 -48
  401. data/lib/flat_api/models/assignment_creation.rb +0 -230
  402. data/lib/flat_api/models/collection_title.rb +0 -179
  403. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  404. data/lib/flat_api/models/score_data.rb +0 -179
  405. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  406. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  407. data/lib/flat_api/models/user_instruments.rb +0 -179
  408. data/spec/api_client_spec.rb +0 -226
  409. data/spec/configuration_spec.rb +0 -42
  410. data/spec/models/assignment_creation_spec.rb +0 -66
  411. data/spec/models/collection_title_spec.rb +0 -36
  412. data/spec/models/resource_sharing_key_spec.rb +0 -36
  413. data/spec/models/score_data_encoding_spec.rb +0 -36
  414. data/spec/models/score_data_spec.rb +0 -36
  415. data/spec/models/user_details_admin_license_spec.rb +0 -66
  416. data/spec/models/user_instruments_spec.rb +0 -36
@@ -1,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 (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.20.0
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.3.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # User details
17
18
  class UserDetails
18
- # Identifier of the user
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,33 @@ module FlatApi
61
73
  # Number of public scores the user have
62
74
  attr_accessor :owned_public_scores_count
63
75
 
76
+ # Cover picture (backgroud) for the profile
77
+ attr_accessor :cover_picture
78
+
64
79
  # Theme (background) for the profile
65
80
  attr_accessor :profile_theme
66
81
 
82
+ # An array of the instrument identifiers. The format of the strings is `{instrument-group}.{instrument-id}`.
67
83
  attr_accessor :instruments
68
84
 
69
- # The type of account
70
- attr_accessor :type
85
+ attr_accessor :links
86
+
87
+ attr_accessor :azure_details
71
88
 
72
89
  # Tell either this user profile is private or not (individual accounts only)
73
90
  attr_accessor :private_profile
74
91
 
75
92
  attr_accessor :locale
76
93
 
94
+ # For Flat for Education accounts, list of Group identifiers the user is part of.
95
+ attr_accessor :groups
96
+
97
+ # The ID of the user profile picture
98
+ attr_accessor :picture_file
99
+
100
+ # The ID of the user profile cover picture
101
+ attr_accessor :cover_picture_file
102
+
77
103
  class EnumAttributeValidator
78
104
  attr_reader :datatype
79
105
  attr_reader :allowable_values
@@ -100,11 +126,15 @@ module FlatApi
100
126
  def self.attribute_map
101
127
  {
102
128
  :'id' => :'id',
129
+ :'type' => :'type',
130
+ :'product' => :'product',
103
131
  :'username' => :'username',
104
- :'name' => :'name',
105
132
  :'printable_name' => :'printableName',
133
+ :'firstname' => :'firstname',
134
+ :'lastname' => :'lastname',
135
+ :'name' => :'name',
106
136
  :'picture' => :'picture',
107
- :'is_power_user' => :'isPowerUser',
137
+ :'badges' => :'badges',
108
138
  :'organization' => :'organization',
109
139
  :'organization_role' => :'organizationRole',
110
140
  :'class_role' => :'classRole',
@@ -115,148 +145,266 @@ module FlatApi
115
145
  :'followers_count' => :'followersCount',
116
146
  :'following_count' => :'followingCount',
117
147
  :'owned_public_scores_count' => :'ownedPublicScoresCount',
148
+ :'cover_picture' => :'coverPicture',
118
149
  :'profile_theme' => :'profileTheme',
119
150
  :'instruments' => :'instruments',
120
- :'type' => :'type',
151
+ :'links' => :'links',
152
+ :'azure_details' => :'azureDetails',
121
153
  :'private_profile' => :'privateProfile',
122
- :'locale' => :'locale'
154
+ :'locale' => :'locale',
155
+ :'groups' => :'groups',
156
+ :'picture_file' => :'pictureFile',
157
+ :'cover_picture_file' => :'coverPictureFile'
123
158
  }
124
159
  end
125
160
 
161
+ # Returns all the JSON keys this model knows about
162
+ def self.acceptable_attributes
163
+ attribute_map.values
164
+ end
165
+
126
166
  # Attribute type mapping.
127
- def self.swagger_types
167
+ def self.openapi_types
128
168
  {
129
169
  :'id' => :'String',
170
+ :'type' => :'String',
171
+ :'product' => :'TutteoProduct',
130
172
  :'username' => :'String',
131
- :'name' => :'String',
132
173
  :'printable_name' => :'String',
174
+ :'firstname' => :'String',
175
+ :'lastname' => :'String',
176
+ :'name' => :'String',
133
177
  :'picture' => :'String',
134
- :'is_power_user' => :'BOOLEAN',
178
+ :'badges' => :'Array<String>',
135
179
  :'organization' => :'String',
136
180
  :'organization_role' => :'OrganizationRoles',
137
181
  :'class_role' => :'ClassRoles',
138
182
  :'html_url' => :'String',
139
183
  :'bio' => :'String',
140
- :'registration_date' => :'DateTime',
184
+ :'registration_date' => :'Time',
141
185
  :'liked_scores_count' => :'Integer',
142
186
  :'followers_count' => :'Integer',
143
187
  :'following_count' => :'Integer',
144
188
  :'owned_public_scores_count' => :'Integer',
189
+ :'cover_picture' => :'String',
145
190
  :'profile_theme' => :'String',
146
- :'instruments' => :'UserInstruments',
147
- :'type' => :'String',
148
- :'private_profile' => :'BOOLEAN',
149
- :'locale' => :'FlatLocales'
191
+ :'instruments' => :'Array<String>',
192
+ :'links' => :'UserCommunityProfileLinks',
193
+ :'azure_details' => :'UserAzureDetails',
194
+ :'private_profile' => :'Boolean',
195
+ :'locale' => :'FlatLocales',
196
+ :'groups' => :'Array<String>',
197
+ :'picture_file' => :'String',
198
+ :'cover_picture_file' => :'String'
150
199
  }
151
200
  end
152
201
 
202
+ # List of attributes with nullable: true
203
+ def self.openapi_nullable
204
+ Set.new([
205
+ :'picture',
206
+ :'cover_picture',
207
+ :'picture_file',
208
+ :'cover_picture_file'
209
+ ])
210
+ end
211
+
212
+ # List of class defined in allOf (OpenAPI v3)
213
+ def self.openapi_all_of
214
+ [
215
+ :'UserPublic'
216
+ ]
217
+ end
218
+
153
219
  # Initializes the object
154
220
  # @param [Hash] attributes Model attributes in the form of hash
155
221
  def initialize(attributes = {})
156
- return unless attributes.is_a?(Hash)
222
+ if (!attributes.is_a?(Hash))
223
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::UserDetails` initialize method"
224
+ end
157
225
 
158
- # convert string to symbol for hash key
159
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
226
+ # check to see if the attribute exists and convert string to symbol for hash key
227
+ attributes = attributes.each_with_object({}) { |(k, v), h|
228
+ if (!self.class.attribute_map.key?(k.to_sym))
229
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::UserDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
230
+ end
231
+ h[k.to_sym] = v
232
+ }
160
233
 
161
- if attributes.has_key?(:'id')
234
+ if attributes.key?(:'id')
162
235
  self.id = attributes[:'id']
236
+ else
237
+ self.id = nil
238
+ end
239
+
240
+ if attributes.key?(:'type')
241
+ self.type = attributes[:'type']
242
+ else
243
+ self.type = nil
244
+ end
245
+
246
+ if attributes.key?(:'product')
247
+ self.product = attributes[:'product']
248
+ else
249
+ self.product = 'flat'
163
250
  end
164
251
 
165
- if attributes.has_key?(:'username')
252
+ if attributes.key?(:'username')
166
253
  self.username = attributes[:'username']
254
+ else
255
+ self.username = nil
167
256
  end
168
257
 
169
- if attributes.has_key?(:'name')
170
- self.name = attributes[:'name']
258
+ if attributes.key?(:'printable_name')
259
+ self.printable_name = attributes[:'printable_name']
260
+ end
261
+
262
+ if attributes.key?(:'firstname')
263
+ self.firstname = attributes[:'firstname']
171
264
  end
172
265
 
173
- if attributes.has_key?(:'printableName')
174
- self.printable_name = attributes[:'printableName']
266
+ if attributes.key?(:'lastname')
267
+ self.lastname = attributes[:'lastname']
175
268
  end
176
269
 
177
- if attributes.has_key?(:'picture')
270
+ if attributes.key?(:'name')
271
+ self.name = attributes[:'name']
272
+ end
273
+
274
+ if attributes.key?(:'picture')
178
275
  self.picture = attributes[:'picture']
276
+ else
277
+ self.picture = nil
179
278
  end
180
279
 
181
- if attributes.has_key?(:'isPowerUser')
182
- self.is_power_user = attributes[:'isPowerUser']
280
+ if attributes.key?(:'badges')
281
+ if (value = attributes[:'badges']).is_a?(Array)
282
+ self.badges = value
283
+ end
183
284
  end
184
285
 
185
- if attributes.has_key?(:'organization')
286
+ if attributes.key?(:'organization')
186
287
  self.organization = attributes[:'organization']
187
288
  end
188
289
 
189
- if attributes.has_key?(:'organizationRole')
190
- self.organization_role = attributes[:'organizationRole']
290
+ if attributes.key?(:'organization_role')
291
+ self.organization_role = attributes[:'organization_role']
191
292
  end
192
293
 
193
- if attributes.has_key?(:'classRole')
194
- self.class_role = attributes[:'classRole']
294
+ if attributes.key?(:'class_role')
295
+ self.class_role = attributes[:'class_role']
195
296
  end
196
297
 
197
- if attributes.has_key?(:'htmlUrl')
198
- self.html_url = attributes[:'htmlUrl']
298
+ if attributes.key?(:'html_url')
299
+ self.html_url = attributes[:'html_url']
199
300
  end
200
301
 
201
- if attributes.has_key?(:'bio')
302
+ if attributes.key?(:'bio')
202
303
  self.bio = attributes[:'bio']
203
304
  end
204
305
 
205
- if attributes.has_key?(:'registrationDate')
206
- self.registration_date = attributes[:'registrationDate']
306
+ if attributes.key?(:'registration_date')
307
+ self.registration_date = attributes[:'registration_date']
207
308
  end
208
309
 
209
- if attributes.has_key?(:'likedScoresCount')
210
- self.liked_scores_count = attributes[:'likedScoresCount']
310
+ if attributes.key?(:'liked_scores_count')
311
+ self.liked_scores_count = attributes[:'liked_scores_count']
211
312
  end
212
313
 
213
- if attributes.has_key?(:'followersCount')
214
- self.followers_count = attributes[:'followersCount']
314
+ if attributes.key?(:'followers_count')
315
+ self.followers_count = attributes[:'followers_count']
215
316
  end
216
317
 
217
- if attributes.has_key?(:'followingCount')
218
- self.following_count = attributes[:'followingCount']
318
+ if attributes.key?(:'following_count')
319
+ self.following_count = attributes[:'following_count']
219
320
  end
220
321
 
221
- if attributes.has_key?(:'ownedPublicScoresCount')
222
- self.owned_public_scores_count = attributes[:'ownedPublicScoresCount']
322
+ if attributes.key?(:'owned_public_scores_count')
323
+ self.owned_public_scores_count = attributes[:'owned_public_scores_count']
223
324
  end
224
325
 
225
- if attributes.has_key?(:'profileTheme')
226
- self.profile_theme = attributes[:'profileTheme']
326
+ if attributes.key?(:'cover_picture')
327
+ self.cover_picture = attributes[:'cover_picture']
227
328
  end
228
329
 
229
- if attributes.has_key?(:'instruments')
230
- self.instruments = attributes[:'instruments']
330
+ if attributes.key?(:'profile_theme')
331
+ self.profile_theme = attributes[:'profile_theme']
231
332
  end
232
333
 
233
- if attributes.has_key?(:'type')
234
- self.type = attributes[:'type']
334
+ if attributes.key?(:'instruments')
335
+ if (value = attributes[:'instruments']).is_a?(Array)
336
+ self.instruments = value
337
+ end
338
+ end
339
+
340
+ if attributes.key?(:'links')
341
+ self.links = attributes[:'links']
342
+ end
343
+
344
+ if attributes.key?(:'azure_details')
345
+ self.azure_details = attributes[:'azure_details']
235
346
  end
236
347
 
237
- if attributes.has_key?(:'privateProfile')
238
- self.private_profile = attributes[:'privateProfile']
348
+ if attributes.key?(:'private_profile')
349
+ self.private_profile = attributes[:'private_profile']
239
350
  end
240
351
 
241
- if attributes.has_key?(:'locale')
352
+ if attributes.key?(:'locale')
242
353
  self.locale = attributes[:'locale']
354
+ else
355
+ self.locale = 'en'
356
+ end
357
+
358
+ if attributes.key?(:'groups')
359
+ if (value = attributes[:'groups']).is_a?(Array)
360
+ self.groups = value
361
+ end
243
362
  end
244
363
 
364
+ if attributes.key?(:'picture_file')
365
+ self.picture_file = attributes[:'picture_file']
366
+ end
367
+
368
+ if attributes.key?(:'cover_picture_file')
369
+ self.cover_picture_file = attributes[:'cover_picture_file']
370
+ end
245
371
  end
246
372
 
247
373
  # Show invalid properties with the reasons. Usually used together with valid?
248
374
  # @return Array for valid properties with the reasons
249
375
  def list_invalid_properties
376
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
250
377
  invalid_properties = Array.new
251
- return invalid_properties
378
+ if @id.nil?
379
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
380
+ end
381
+
382
+ if @type.nil?
383
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
384
+ end
385
+
386
+ if @product.nil?
387
+ invalid_properties.push('invalid value for "product", product cannot be nil.')
388
+ end
389
+
390
+ if @username.nil?
391
+ invalid_properties.push('invalid value for "username", username cannot be nil.')
392
+ end
393
+
394
+ invalid_properties
252
395
  end
253
396
 
254
397
  # Check to see if the all the properties in the model are valid
255
398
  # @return true if the model is valid
256
399
  def valid?
400
+ warn '[DEPRECATED] the `valid?` method is obsolete'
401
+ return false if @id.nil?
402
+ return false if @type.nil?
257
403
  type_validator = EnumAttributeValidator.new('String', ["user", "guest"])
258
404
  return false unless type_validator.valid?(@type)
259
- return true
405
+ return false if @product.nil?
406
+ return false if @username.nil?
407
+ true
260
408
  end
261
409
 
262
410
  # Custom attribute writer method checking allowed values (enum).
@@ -264,7 +412,7 @@ module FlatApi
264
412
  def type=(type)
265
413
  validator = EnumAttributeValidator.new('String', ["user", "guest"])
266
414
  unless validator.valid?(type)
267
- fail ArgumentError, "invalid value for 'type', must be one of #{validator.allowable_values}."
415
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
268
416
  end
269
417
  @type = type
270
418
  end
@@ -275,11 +423,15 @@ module FlatApi
275
423
  return true if self.equal?(o)
276
424
  self.class == o.class &&
277
425
  id == o.id &&
426
+ type == o.type &&
427
+ product == o.product &&
278
428
  username == o.username &&
279
- name == o.name &&
280
429
  printable_name == o.printable_name &&
430
+ firstname == o.firstname &&
431
+ lastname == o.lastname &&
432
+ name == o.name &&
281
433
  picture == o.picture &&
282
- is_power_user == o.is_power_user &&
434
+ badges == o.badges &&
283
435
  organization == o.organization &&
284
436
  organization_role == o.organization_role &&
285
437
  class_role == o.class_role &&
@@ -290,11 +442,16 @@ module FlatApi
290
442
  followers_count == o.followers_count &&
291
443
  following_count == o.following_count &&
292
444
  owned_public_scores_count == o.owned_public_scores_count &&
445
+ cover_picture == o.cover_picture &&
293
446
  profile_theme == o.profile_theme &&
294
447
  instruments == o.instruments &&
295
- type == o.type &&
448
+ links == o.links &&
449
+ azure_details == o.azure_details &&
296
450
  private_profile == o.private_profile &&
297
- locale == o.locale
451
+ locale == o.locale &&
452
+ groups == o.groups &&
453
+ picture_file == o.picture_file &&
454
+ cover_picture_file == o.cover_picture_file
298
455
  end
299
456
 
300
457
  # @see the `==` method
@@ -304,39 +461,42 @@ module FlatApi
304
461
  end
305
462
 
306
463
  # Calculates hash code according to all attributes.
307
- # @return [Fixnum] Hash code
464
+ # @return [Integer] Hash code
308
465
  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
466
+ [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, cover_picture, profile_theme, instruments, links, azure_details, private_profile, locale, groups, picture_file, cover_picture_file].hash
310
467
  end
311
468
 
312
469
  # Builds the object from hash
313
470
  # @param [Hash] attributes Model attributes in the form of hash
314
471
  # @return [Object] Returns the model itself
315
- def build_from_hash(attributes)
472
+ def self.build_from_hash(attributes)
316
473
  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
474
+ attributes = attributes.transform_keys(&:to_sym)
475
+ transformed_hash = {}
476
+ openapi_types.each_pair do |key, type|
477
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
478
+ transformed_hash["#{key}"] = nil
479
+ elsif type =~ /\AArray<(.*)>/i
480
+ # check to ensure the input is an array given that the attribute
320
481
  # 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) } )
482
+ if attributes[attribute_map[key]].is_a?(Array)
483
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
323
484
  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
485
+ elsif !attributes[attribute_map[key]].nil?
486
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
487
+ end
327
488
  end
328
-
329
- self
489
+ new(transformed_hash)
330
490
  end
331
491
 
332
492
  # Deserializes the data based on type
333
493
  # @param string type Data type
334
494
  # @param string value Value to be deserialized
335
495
  # @return [Object] Deserialized data
336
- def _deserialize(type, value)
496
+ def self._deserialize(type, value)
337
497
  case type.to_sym
338
- when :DateTime
339
- DateTime.parse(value)
498
+ when :Time
499
+ Time.parse(value)
340
500
  when :Date
341
501
  Date.parse(value)
342
502
  when :String
@@ -345,7 +505,7 @@ module FlatApi
345
505
  value.to_i
346
506
  when :Float
347
507
  value.to_f
348
- when :BOOLEAN
508
+ when :Boolean
349
509
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
350
510
  true
351
511
  else
@@ -366,8 +526,9 @@ module FlatApi
366
526
  end
367
527
  end
368
528
  else # model
369
- temp_model = FlatApi.const_get(type).new
370
- temp_model.build_from_hash(value)
529
+ # models (e.g. Pet) or oneOf
530
+ klass = FlatApi.const_get(type)
531
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
371
532
  end
372
533
  end
373
534
 
@@ -389,7 +550,11 @@ module FlatApi
389
550
  hash = {}
390
551
  self.class.attribute_map.each_pair do |attr, param|
391
552
  value = self.send(attr)
392
- next if value.nil?
553
+ if value.nil?
554
+ is_nullable = self.class.openapi_nullable.include?(attr)
555
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
556
+ end
557
+
393
558
  hash[param] = _to_hash(value)
394
559
  end
395
560
  hash
@@ -401,7 +566,7 @@ module FlatApi
401
566
  # @return [Hash] Returns the value in the form of hash
402
567
  def _to_hash(value)
403
568
  if value.is_a?(Array)
404
- value.compact.map{ |v| _to_hash(v) }
569
+ value.compact.map { |v| _to_hash(v) }
405
570
  elsif value.is_a?(Hash)
406
571
  {}.tap do |hash|
407
572
  value.each { |k, v| hash[k] = _to_hash(v) }