flat_api 0.2.0 → 0.3.5

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 (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,16 +1,17 @@
1
1
  =begin
2
2
  #Flat API
3
3
 
4
- #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.20.0
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.3.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # Collection of scores
@@ -18,6 +19,7 @@ module FlatApi
18
19
  # Unique identifier of the collection
19
20
  attr_accessor :id
20
21
 
22
+ # The title of the collection
21
23
  attr_accessor :title
22
24
 
23
25
  # The url where the collection can be viewed in a web browser
@@ -30,11 +32,16 @@ module FlatApi
30
32
  # The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`)
31
33
  attr_accessor :sharing_key
32
34
 
33
- # If this directory is dedicated to an app, the unique idenfier of this app
34
35
  attr_accessor :app
35
36
 
37
+ # The date when the collection was created
38
+ attr_accessor :creation_date
39
+
36
40
  attr_accessor :user
37
41
 
42
+ # If the score has been created in an organization, the identifier of this organization.
43
+ attr_accessor :organization
44
+
38
45
  attr_accessor :rights
39
46
 
40
47
  # The list of the collaborators of the collection
@@ -42,6 +49,30 @@ module FlatApi
42
49
 
43
50
  attr_accessor :capabilities
44
51
 
52
+ # The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them.
53
+ attr_accessor :collections
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.include?(value)
74
+ end
75
+ end
45
76
 
46
77
  # Attribute mapping from ruby-style variable name to JSON key.
47
78
  def self.attribute_map
@@ -53,97 +84,143 @@ module FlatApi
53
84
  :'privacy' => :'privacy',
54
85
  :'sharing_key' => :'sharingKey',
55
86
  :'app' => :'app',
87
+ :'creation_date' => :'creationDate',
56
88
  :'user' => :'user',
89
+ :'organization' => :'organization',
57
90
  :'rights' => :'rights',
58
91
  :'collaborators' => :'collaborators',
59
- :'capabilities' => :'capabilities'
92
+ :'capabilities' => :'capabilities',
93
+ :'collections' => :'collections'
60
94
  }
61
95
  end
62
96
 
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ attribute_map.values
100
+ end
101
+
63
102
  # Attribute type mapping.
64
- def self.swagger_types
103
+ def self.openapi_types
65
104
  {
66
105
  :'id' => :'String',
67
- :'title' => :'CollectionTitle',
106
+ :'title' => :'String',
68
107
  :'html_url' => :'String',
69
108
  :'type' => :'CollectionType',
70
109
  :'privacy' => :'CollectionPrivacy',
71
110
  :'sharing_key' => :'String',
72
- :'app' => :'String',
111
+ :'app' => :'CollectionApp',
112
+ :'creation_date' => :'Time',
73
113
  :'user' => :'UserPublicSummary',
114
+ :'organization' => :'String',
74
115
  :'rights' => :'ResourceRights',
75
116
  :'collaborators' => :'Array<ResourceCollaborator>',
76
- :'capabilities' => :'CollectionCapabilities'
117
+ :'capabilities' => :'CollectionCapabilities',
118
+ :'collections' => :'Array<String>'
77
119
  }
78
120
  end
79
121
 
122
+ # List of attributes with nullable: true
123
+ def self.openapi_nullable
124
+ Set.new([
125
+ ])
126
+ end
127
+
80
128
  # Initializes the object
81
129
  # @param [Hash] attributes Model attributes in the form of hash
82
130
  def initialize(attributes = {})
83
- return unless attributes.is_a?(Hash)
131
+ if (!attributes.is_a?(Hash))
132
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::Collection` initialize method"
133
+ end
84
134
 
85
- # convert string to symbol for hash key
86
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
135
+ # check to see if the attribute exists and convert string to symbol for hash key
136
+ attributes = attributes.each_with_object({}) { |(k, v), h|
137
+ if (!self.class.attribute_map.key?(k.to_sym))
138
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::Collection`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
139
+ end
140
+ h[k.to_sym] = v
141
+ }
87
142
 
88
- if attributes.has_key?(:'id')
143
+ if attributes.key?(:'id')
89
144
  self.id = attributes[:'id']
90
145
  end
91
146
 
92
- if attributes.has_key?(:'title')
147
+ if attributes.key?(:'title')
93
148
  self.title = attributes[:'title']
94
149
  end
95
150
 
96
- if attributes.has_key?(:'htmlUrl')
97
- self.html_url = attributes[:'htmlUrl']
151
+ if attributes.key?(:'html_url')
152
+ self.html_url = attributes[:'html_url']
98
153
  end
99
154
 
100
- if attributes.has_key?(:'type')
155
+ if attributes.key?(:'type')
101
156
  self.type = attributes[:'type']
102
157
  end
103
158
 
104
- if attributes.has_key?(:'privacy')
159
+ if attributes.key?(:'privacy')
105
160
  self.privacy = attributes[:'privacy']
106
161
  end
107
162
 
108
- if attributes.has_key?(:'sharingKey')
109
- self.sharing_key = attributes[:'sharingKey']
163
+ if attributes.key?(:'sharing_key')
164
+ self.sharing_key = attributes[:'sharing_key']
110
165
  end
111
166
 
112
- if attributes.has_key?(:'app')
167
+ if attributes.key?(:'app')
113
168
  self.app = attributes[:'app']
114
169
  end
115
170
 
116
- if attributes.has_key?(:'user')
171
+ if attributes.key?(:'creation_date')
172
+ self.creation_date = attributes[:'creation_date']
173
+ end
174
+
175
+ if attributes.key?(:'user')
117
176
  self.user = attributes[:'user']
118
177
  end
119
178
 
120
- if attributes.has_key?(:'rights')
179
+ if attributes.key?(:'organization')
180
+ self.organization = attributes[:'organization']
181
+ end
182
+
183
+ if attributes.key?(:'rights')
121
184
  self.rights = attributes[:'rights']
122
185
  end
123
186
 
124
- if attributes.has_key?(:'collaborators')
187
+ if attributes.key?(:'collaborators')
125
188
  if (value = attributes[:'collaborators']).is_a?(Array)
126
189
  self.collaborators = value
127
190
  end
128
191
  end
129
192
 
130
- if attributes.has_key?(:'capabilities')
193
+ if attributes.key?(:'capabilities')
131
194
  self.capabilities = attributes[:'capabilities']
195
+ else
196
+ self.capabilities = nil
132
197
  end
133
198
 
199
+ if attributes.key?(:'collections')
200
+ if (value = attributes[:'collections']).is_a?(Array)
201
+ self.collections = value
202
+ end
203
+ end
134
204
  end
135
205
 
136
206
  # Show invalid properties with the reasons. Usually used together with valid?
137
207
  # @return Array for valid properties with the reasons
138
208
  def list_invalid_properties
209
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
139
210
  invalid_properties = Array.new
140
- return invalid_properties
211
+ if @capabilities.nil?
212
+ invalid_properties.push('invalid value for "capabilities", capabilities cannot be nil.')
213
+ end
214
+
215
+ invalid_properties
141
216
  end
142
217
 
143
218
  # Check to see if the all the properties in the model are valid
144
219
  # @return true if the model is valid
145
220
  def valid?
146
- return true
221
+ warn '[DEPRECATED] the `valid?` method is obsolete'
222
+ return false if @capabilities.nil?
223
+ true
147
224
  end
148
225
 
149
226
  # Checks equality by comparing each attribute.
@@ -158,10 +235,13 @@ module FlatApi
158
235
  privacy == o.privacy &&
159
236
  sharing_key == o.sharing_key &&
160
237
  app == o.app &&
238
+ creation_date == o.creation_date &&
161
239
  user == o.user &&
240
+ organization == o.organization &&
162
241
  rights == o.rights &&
163
242
  collaborators == o.collaborators &&
164
- capabilities == o.capabilities
243
+ capabilities == o.capabilities &&
244
+ collections == o.collections
165
245
  end
166
246
 
167
247
  # @see the `==` method
@@ -171,39 +251,42 @@ module FlatApi
171
251
  end
172
252
 
173
253
  # Calculates hash code according to all attributes.
174
- # @return [Fixnum] Hash code
254
+ # @return [Integer] Hash code
175
255
  def hash
176
- [id, title, html_url, type, privacy, sharing_key, app, user, rights, collaborators, capabilities].hash
256
+ [id, title, html_url, type, privacy, sharing_key, app, creation_date, user, organization, rights, collaborators, capabilities, collections].hash
177
257
  end
178
258
 
179
259
  # Builds the object from hash
180
260
  # @param [Hash] attributes Model attributes in the form of hash
181
261
  # @return [Object] Returns the model itself
182
- def build_from_hash(attributes)
262
+ def self.build_from_hash(attributes)
183
263
  return nil unless attributes.is_a?(Hash)
184
- self.class.swagger_types.each_pair do |key, type|
185
- if type =~ /\AArray<(.*)>/i
186
- # check to ensure the input is an array given that the the attribute
264
+ attributes = attributes.transform_keys(&:to_sym)
265
+ transformed_hash = {}
266
+ openapi_types.each_pair do |key, type|
267
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
268
+ transformed_hash["#{key}"] = nil
269
+ elsif type =~ /\AArray<(.*)>/i
270
+ # check to ensure the input is an array given that the attribute
187
271
  # is documented as an array but the input is not
188
- if attributes[self.class.attribute_map[key]].is_a?(Array)
189
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
272
+ if attributes[attribute_map[key]].is_a?(Array)
273
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
274
  end
191
- elsif !attributes[self.class.attribute_map[key]].nil?
192
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
193
- end # or else data not found in attributes(hash), not an issue as the data can be optional
275
+ elsif !attributes[attribute_map[key]].nil?
276
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
277
+ end
194
278
  end
195
-
196
- self
279
+ new(transformed_hash)
197
280
  end
198
281
 
199
282
  # Deserializes the data based on type
200
283
  # @param string type Data type
201
284
  # @param string value Value to be deserialized
202
285
  # @return [Object] Deserialized data
203
- def _deserialize(type, value)
286
+ def self._deserialize(type, value)
204
287
  case type.to_sym
205
- when :DateTime
206
- DateTime.parse(value)
288
+ when :Time
289
+ Time.parse(value)
207
290
  when :Date
208
291
  Date.parse(value)
209
292
  when :String
@@ -212,7 +295,7 @@ module FlatApi
212
295
  value.to_i
213
296
  when :Float
214
297
  value.to_f
215
- when :BOOLEAN
298
+ when :Boolean
216
299
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
217
300
  true
218
301
  else
@@ -233,8 +316,9 @@ module FlatApi
233
316
  end
234
317
  end
235
318
  else # model
236
- temp_model = FlatApi.const_get(type).new
237
- temp_model.build_from_hash(value)
319
+ # models (e.g. Pet) or oneOf
320
+ klass = FlatApi.const_get(type)
321
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
238
322
  end
239
323
  end
240
324
 
@@ -256,7 +340,11 @@ module FlatApi
256
340
  hash = {}
257
341
  self.class.attribute_map.each_pair do |attr, param|
258
342
  value = self.send(attr)
259
- next if value.nil?
343
+ if value.nil?
344
+ is_nullable = self.class.openapi_nullable.include?(attr)
345
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
346
+ end
347
+
260
348
  hash[param] = _to_hash(value)
261
349
  end
262
350
  hash
@@ -268,7 +356,7 @@ module FlatApi
268
356
  # @return [Hash] Returns the value in the form of hash
269
357
  def _to_hash(value)
270
358
  if value.is_a?(Array)
271
- value.compact.map{ |v| _to_hash(v) }
359
+ value.compact.map { |v| _to_hash(v) }
272
360
  elsif value.is_a?(Hash)
273
361
  {}.tap do |hash|
274
362
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -0,0 +1,236 @@
1
+ =begin
2
+ #Flat API
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, 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
+
6
+ The version of the OpenAPI document: 2.20.0
7
+ Contact: developers@flat.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.3.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FlatApi
17
+ # For App collections, the details of the app that created the collection
18
+ class CollectionApp
19
+ # The app unique identifier
20
+ attr_accessor :id
21
+
22
+ # The name of the app
23
+ attr_accessor :name
24
+
25
+ # The app logo url
26
+ attr_accessor :logo
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'id' => :'id',
32
+ :'name' => :'name',
33
+ :'logo' => :'logo'
34
+ }
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'id' => :'String',
46
+ :'name' => :'String',
47
+ :'logo' => :'String'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::CollectionApp` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::CollectionApp`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ end
75
+
76
+ if attributes.key?(:'name')
77
+ self.name = attributes[:'name']
78
+ end
79
+
80
+ if attributes.key?(:'logo')
81
+ self.logo = attributes[:'logo']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ warn '[DEPRECATED] the `valid?` method is obsolete'
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ id == o.id &&
106
+ name == o.name &&
107
+ logo == o.logo
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] Object to be compared
112
+ def eql?(o)
113
+ self == o
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ def hash
119
+ [id, name, logo].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def self.build_from_hash(attributes)
126
+ return nil unless attributes.is_a?(Hash)
127
+ attributes = attributes.transform_keys(&:to_sym)
128
+ transformed_hash = {}
129
+ openapi_types.each_pair do |key, type|
130
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
131
+ transformed_hash["#{key}"] = nil
132
+ elsif type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the attribute
134
+ # is documented as an array but the input is not
135
+ if attributes[attribute_map[key]].is_a?(Array)
136
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
137
+ end
138
+ elsif !attributes[attribute_map[key]].nil?
139
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
+ end
141
+ end
142
+ new(transformed_hash)
143
+ end
144
+
145
+ # Deserializes the data based on type
146
+ # @param string type Data type
147
+ # @param string value Value to be deserialized
148
+ # @return [Object] Deserialized data
149
+ def self._deserialize(type, value)
150
+ case type.to_sym
151
+ when :Time
152
+ Time.parse(value)
153
+ when :Date
154
+ Date.parse(value)
155
+ when :String
156
+ value.to_s
157
+ when :Integer
158
+ value.to_i
159
+ when :Float
160
+ value.to_f
161
+ when :Boolean
162
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
163
+ true
164
+ else
165
+ false
166
+ end
167
+ when :Object
168
+ # generic object (usually a Hash), return directly
169
+ value
170
+ when /\AArray<(?<inner_type>.+)>\z/
171
+ inner_type = Regexp.last_match[:inner_type]
172
+ value.map { |v| _deserialize(inner_type, v) }
173
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
174
+ k_type = Regexp.last_match[:k_type]
175
+ v_type = Regexp.last_match[:v_type]
176
+ {}.tap do |hash|
177
+ value.each do |k, v|
178
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
179
+ end
180
+ end
181
+ else # model
182
+ # models (e.g. Pet) or oneOf
183
+ klass = FlatApi.const_get(type)
184
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
185
+ end
186
+ end
187
+
188
+ # Returns the string representation of the object
189
+ # @return [String] String presentation of the object
190
+ def to_s
191
+ to_hash.to_s
192
+ end
193
+
194
+ # to_body is an alias to to_hash (backward compatibility)
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # Returns the object in the form of hash
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Outputs non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ # @param [Object] value Any valid value
219
+ # @return [Hash] Returns the value in the form of hash
220
+ def _to_hash(value)
221
+ if value.is_a?(Array)
222
+ value.compact.map { |v| _to_hash(v) }
223
+ elsif value.is_a?(Hash)
224
+ {}.tap do |hash|
225
+ value.each { |k, v| hash[k] = _to_hash(v) }
226
+ end
227
+ elsif value.respond_to? :to_hash
228
+ value.to_hash
229
+ else
230
+ value
231
+ end
232
+ end
233
+
234
+ end
235
+
236
+ end