flat_api 0.1.2 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) 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 +684 -0
  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 +1034 -570
  9. data/lib/flat_api/api/task_api.rb +85 -0
  10. data/lib/flat_api/api/user_api.rb +114 -76
  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 +373 -0
  60. data/lib/flat_api/models/collection_app.rb +236 -0
  61. data/lib/flat_api/models/collection_capabilities.rb +291 -0
  62. data/lib/flat_api/models/collection_creation.rb +288 -0
  63. data/lib/flat_api/models/collection_modification.rb +275 -0
  64. data/lib/flat_api/models/collection_privacy.rb +39 -0
  65. data/lib/flat_api/models/collection_type.rb +44 -0
  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 +403 -0
  100. data/lib/flat_api/models/{score_collaborator_creation.rb → resource_collaborator_creation.rb} +85 -48
  101. data/lib/flat_api/models/resource_rights.rb +318 -0
  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 -215
  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 +274 -83
  119. data/lib/flat_api/models/score_fork.rb +94 -32
  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 +175 -52
  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 +87 -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 +158 -0
  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 +139 -110
  164. data/spec/api/task_api_spec.rb +47 -0
  165. data/spec/api/user_api_spec.rb +28 -26
  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 +60 -0
  213. data/spec/models/collection_creation_spec.rb +42 -0
  214. data/spec/models/collection_modification_spec.rb +42 -0
  215. data/spec/models/collection_privacy_spec.rb +30 -0
  216. data/spec/models/collection_spec.rb +114 -0
  217. data/spec/models/collection_type_spec.rb +30 -0
  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 +72 -0
  252. data/spec/models/resource_collaborator_spec.rb +112 -0
  253. data/spec/models/resource_rights_spec.rb +64 -0
  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 -52
  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 +27 -15
  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 +51 -21
  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 +299 -312
  309. data/CHANGELOG.md +0 -13
  310. data/Gemfile +0 -7
  311. data/README.md +0 -249
  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/FlatErrorResponse.md +0 -11
  332. data/docs/FlatLocales.md +0 -7
  333. data/docs/GoogleClassroomCoursework.md +0 -10
  334. data/docs/GoogleClassroomSubmission.md +0 -10
  335. data/docs/Group.md +0 -14
  336. data/docs/GroupApi.md +0 -167
  337. data/docs/GroupDetails.md +0 -14
  338. data/docs/GroupType.md +0 -7
  339. data/docs/LicenseMode.md +0 -7
  340. data/docs/LicenseSources.md +0 -7
  341. data/docs/LmsName.md +0 -7
  342. data/docs/LtiCredentials.md +0 -16
  343. data/docs/LtiCredentialsCreation.md +0 -9
  344. data/docs/MediaAttachment.md +0 -23
  345. data/docs/MediaScoreSharingMode.md +0 -7
  346. data/docs/OrganizationApi.md +0 -538
  347. data/docs/OrganizationInvitation.md +0 -14
  348. data/docs/OrganizationInvitationCreation.md +0 -9
  349. data/docs/OrganizationRoles.md +0 -7
  350. data/docs/ScoreApi.md +0 -1605
  351. data/docs/ScoreCollaborator.md +0 -15
  352. data/docs/ScoreCollaboratorCreation.md +0 -13
  353. data/docs/ScoreComment.md +0 -22
  354. data/docs/ScoreCommentContext.md +0 -14
  355. data/docs/ScoreCommentCreation.md +0 -13
  356. data/docs/ScoreCommentUpdate.md +0 -11
  357. data/docs/ScoreCommentsCounts.md +0 -11
  358. data/docs/ScoreCreation.md +0 -13
  359. data/docs/ScoreCreationType.md +0 -7
  360. data/docs/ScoreData.md +0 -7
  361. data/docs/ScoreDataEncoding.md +0 -7
  362. data/docs/ScoreDetails.md +0 -36
  363. data/docs/ScoreFork.md +0 -7
  364. data/docs/ScoreLicense.md +0 -7
  365. data/docs/ScoreLikesCounts.md +0 -10
  366. data/docs/ScoreModification.md +0 -13
  367. data/docs/ScorePrivacy.md +0 -7
  368. data/docs/ScoreRevision.md +0 -14
  369. data/docs/ScoreRevisionCreation.md +0 -11
  370. data/docs/ScoreRevisionStatistics.md +0 -9
  371. data/docs/ScoreRights.md +0 -10
  372. data/docs/ScoreSource.md +0 -8
  373. data/docs/ScoreSummary.md +0 -13
  374. data/docs/ScoreTrack.md +0 -19
  375. data/docs/ScoreTrackCreation.md +0 -12
  376. data/docs/ScoreTrackPoint.md +0 -10
  377. data/docs/ScoreTrackState.md +0 -7
  378. data/docs/ScoreTrackType.md +0 -7
  379. data/docs/ScoreTrackUpdate.md +0 -11
  380. data/docs/ScoreViewsCounts.md +0 -10
  381. data/docs/UserAdminUpdate.md +0 -9
  382. data/docs/UserApi.md +0 -173
  383. data/docs/UserBasics.md +0 -13
  384. data/docs/UserCreation.md +0 -11
  385. data/docs/UserDetails.md +0 -28
  386. data/docs/UserDetailsAdmin.md +0 -20
  387. data/docs/UserDetailsAdminLicense.md +0 -12
  388. data/docs/UserInstruments.md +0 -7
  389. data/docs/UserPublic.md +0 -25
  390. data/docs/UserPublicSummary.md +0 -17
  391. data/flat_api.gemspec +0 -48
  392. data/git_push.sh +0 -55
  393. data/lib/flat_api/models/assignment_creation.rb +0 -230
  394. data/lib/flat_api/models/score_collaborator.rb +0 -263
  395. data/lib/flat_api/models/score_data.rb +0 -179
  396. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  397. data/lib/flat_api/models/score_rights.rb +0 -215
  398. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  399. data/lib/flat_api/models/user_instruments.rb +0 -179
  400. data/spec/api_client_spec.rb +0 -226
  401. data/spec/configuration_spec.rb +0 -42
  402. data/spec/models/assignment_creation_spec.rb +0 -66
  403. data/spec/models/score_collaborator_creation_spec.rb +0 -72
  404. data/spec/models/score_collaborator_spec.rb +0 -84
  405. data/spec/models/score_data_encoding_spec.rb +0 -36
  406. data/spec/models/score_data_spec.rb +0 -36
  407. data/spec/models/score_rights_spec.rb +0 -48
  408. data/spec/models/user_details_admin_license_spec.rb +0 -66
  409. 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.5.2
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
  # Public User details
@@ -18,20 +19,31 @@ module FlatApi
18
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,21 +73,52 @@ 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
 
85
+ attr_accessor :links
86
+
87
+ class EnumAttributeValidator
88
+ attr_reader :datatype
89
+ attr_reader :allowable_values
90
+
91
+ def initialize(datatype, allowable_values)
92
+ @allowable_values = allowable_values.map do |value|
93
+ case datatype.to_s
94
+ when /Integer/i
95
+ value.to_i
96
+ when /Float/i
97
+ value.to_f
98
+ else
99
+ value
100
+ end
101
+ end
102
+ end
103
+
104
+ def valid?(value)
105
+ !value || allowable_values.include?(value)
106
+ end
107
+ end
69
108
 
70
109
  # Attribute mapping from ruby-style variable name to JSON key.
71
110
  def self.attribute_map
72
111
  {
73
112
  :'id' => :'id',
113
+ :'type' => :'type',
114
+ :'product' => :'product',
74
115
  :'username' => :'username',
75
- :'name' => :'name',
76
116
  :'printable_name' => :'printableName',
117
+ :'firstname' => :'firstname',
118
+ :'lastname' => :'lastname',
119
+ :'name' => :'name',
77
120
  :'picture' => :'picture',
78
- :'is_power_user' => :'isPowerUser',
121
+ :'badges' => :'badges',
79
122
  :'organization' => :'organization',
80
123
  :'organization_role' => :'organizationRole',
81
124
  :'class_role' => :'classRole',
@@ -86,128 +129,234 @@ module FlatApi
86
129
  :'followers_count' => :'followersCount',
87
130
  :'following_count' => :'followingCount',
88
131
  :'owned_public_scores_count' => :'ownedPublicScoresCount',
132
+ :'cover_picture' => :'coverPicture',
89
133
  :'profile_theme' => :'profileTheme',
90
- :'instruments' => :'instruments'
134
+ :'instruments' => :'instruments',
135
+ :'links' => :'links'
91
136
  }
92
137
  end
93
138
 
139
+ # Returns all the JSON keys this model knows about
140
+ def self.acceptable_attributes
141
+ attribute_map.values
142
+ end
143
+
94
144
  # Attribute type mapping.
95
- def self.swagger_types
145
+ def self.openapi_types
96
146
  {
97
147
  :'id' => :'String',
148
+ :'type' => :'String',
149
+ :'product' => :'TutteoProduct',
98
150
  :'username' => :'String',
99
- :'name' => :'String',
100
151
  :'printable_name' => :'String',
152
+ :'firstname' => :'String',
153
+ :'lastname' => :'String',
154
+ :'name' => :'String',
101
155
  :'picture' => :'String',
102
- :'is_power_user' => :'BOOLEAN',
156
+ :'badges' => :'Array<String>',
103
157
  :'organization' => :'String',
104
158
  :'organization_role' => :'OrganizationRoles',
105
159
  :'class_role' => :'ClassRoles',
106
160
  :'html_url' => :'String',
107
161
  :'bio' => :'String',
108
- :'registration_date' => :'DateTime',
162
+ :'registration_date' => :'Time',
109
163
  :'liked_scores_count' => :'Integer',
110
164
  :'followers_count' => :'Integer',
111
165
  :'following_count' => :'Integer',
112
166
  :'owned_public_scores_count' => :'Integer',
167
+ :'cover_picture' => :'String',
113
168
  :'profile_theme' => :'String',
114
- :'instruments' => :'UserInstruments'
169
+ :'instruments' => :'Array<String>',
170
+ :'links' => :'UserCommunityProfileLinks'
115
171
  }
116
172
  end
117
173
 
174
+ # List of attributes with nullable: true
175
+ def self.openapi_nullable
176
+ Set.new([
177
+ :'picture',
178
+ :'cover_picture',
179
+ ])
180
+ end
181
+
182
+ # List of class defined in allOf (OpenAPI v3)
183
+ def self.openapi_all_of
184
+ [
185
+ :'UserPublicSummary'
186
+ ]
187
+ end
188
+
118
189
  # Initializes the object
119
190
  # @param [Hash] attributes Model attributes in the form of hash
120
191
  def initialize(attributes = {})
121
- return unless attributes.is_a?(Hash)
192
+ if (!attributes.is_a?(Hash))
193
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::UserPublic` initialize method"
194
+ end
122
195
 
123
- # convert string to symbol for hash key
124
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
196
+ # check to see if the attribute exists and convert string to symbol for hash key
197
+ attributes = attributes.each_with_object({}) { |(k, v), h|
198
+ if (!self.class.attribute_map.key?(k.to_sym))
199
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::UserPublic`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
200
+ end
201
+ h[k.to_sym] = v
202
+ }
125
203
 
126
- if attributes.has_key?(:'id')
204
+ if attributes.key?(:'id')
127
205
  self.id = attributes[:'id']
206
+ else
207
+ self.id = nil
128
208
  end
129
209
 
130
- if attributes.has_key?(:'username')
210
+ if attributes.key?(:'type')
211
+ self.type = attributes[:'type']
212
+ else
213
+ self.type = nil
214
+ end
215
+
216
+ if attributes.key?(:'product')
217
+ self.product = attributes[:'product']
218
+ else
219
+ self.product = 'flat'
220
+ end
221
+
222
+ if attributes.key?(:'username')
131
223
  self.username = attributes[:'username']
224
+ else
225
+ self.username = nil
132
226
  end
133
227
 
134
- if attributes.has_key?(:'name')
135
- self.name = attributes[:'name']
228
+ if attributes.key?(:'printable_name')
229
+ self.printable_name = attributes[:'printable_name']
230
+ end
231
+
232
+ if attributes.key?(:'firstname')
233
+ self.firstname = attributes[:'firstname']
234
+ end
235
+
236
+ if attributes.key?(:'lastname')
237
+ self.lastname = attributes[:'lastname']
136
238
  end
137
239
 
138
- if attributes.has_key?(:'printableName')
139
- self.printable_name = attributes[:'printableName']
240
+ if attributes.key?(:'name')
241
+ self.name = attributes[:'name']
140
242
  end
141
243
 
142
- if attributes.has_key?(:'picture')
244
+ if attributes.key?(:'picture')
143
245
  self.picture = attributes[:'picture']
246
+ else
247
+ self.picture = nil
144
248
  end
145
249
 
146
- if attributes.has_key?(:'isPowerUser')
147
- self.is_power_user = attributes[:'isPowerUser']
250
+ if attributes.key?(:'badges')
251
+ if (value = attributes[:'badges']).is_a?(Array)
252
+ self.badges = value
253
+ end
148
254
  end
149
255
 
150
- if attributes.has_key?(:'organization')
256
+ if attributes.key?(:'organization')
151
257
  self.organization = attributes[:'organization']
152
258
  end
153
259
 
154
- if attributes.has_key?(:'organizationRole')
155
- self.organization_role = attributes[:'organizationRole']
260
+ if attributes.key?(:'organization_role')
261
+ self.organization_role = attributes[:'organization_role']
156
262
  end
157
263
 
158
- if attributes.has_key?(:'classRole')
159
- self.class_role = attributes[:'classRole']
264
+ if attributes.key?(:'class_role')
265
+ self.class_role = attributes[:'class_role']
160
266
  end
161
267
 
162
- if attributes.has_key?(:'htmlUrl')
163
- self.html_url = attributes[:'htmlUrl']
268
+ if attributes.key?(:'html_url')
269
+ self.html_url = attributes[:'html_url']
164
270
  end
165
271
 
166
- if attributes.has_key?(:'bio')
272
+ if attributes.key?(:'bio')
167
273
  self.bio = attributes[:'bio']
168
274
  end
169
275
 
170
- if attributes.has_key?(:'registrationDate')
171
- self.registration_date = attributes[:'registrationDate']
276
+ if attributes.key?(:'registration_date')
277
+ self.registration_date = attributes[:'registration_date']
278
+ end
279
+
280
+ if attributes.key?(:'liked_scores_count')
281
+ self.liked_scores_count = attributes[:'liked_scores_count']
172
282
  end
173
283
 
174
- if attributes.has_key?(:'likedScoresCount')
175
- self.liked_scores_count = attributes[:'likedScoresCount']
284
+ if attributes.key?(:'followers_count')
285
+ self.followers_count = attributes[:'followers_count']
176
286
  end
177
287
 
178
- if attributes.has_key?(:'followersCount')
179
- self.followers_count = attributes[:'followersCount']
288
+ if attributes.key?(:'following_count')
289
+ self.following_count = attributes[:'following_count']
180
290
  end
181
291
 
182
- if attributes.has_key?(:'followingCount')
183
- self.following_count = attributes[:'followingCount']
292
+ if attributes.key?(:'owned_public_scores_count')
293
+ self.owned_public_scores_count = attributes[:'owned_public_scores_count']
184
294
  end
185
295
 
186
- if attributes.has_key?(:'ownedPublicScoresCount')
187
- self.owned_public_scores_count = attributes[:'ownedPublicScoresCount']
296
+ if attributes.key?(:'cover_picture')
297
+ self.cover_picture = attributes[:'cover_picture']
188
298
  end
189
299
 
190
- if attributes.has_key?(:'profileTheme')
191
- self.profile_theme = attributes[:'profileTheme']
300
+ if attributes.key?(:'profile_theme')
301
+ self.profile_theme = attributes[:'profile_theme']
192
302
  end
193
303
 
194
- if attributes.has_key?(:'instruments')
195
- self.instruments = attributes[:'instruments']
304
+ if attributes.key?(:'instruments')
305
+ if (value = attributes[:'instruments']).is_a?(Array)
306
+ self.instruments = value
307
+ end
196
308
  end
197
309
 
310
+ if attributes.key?(:'links')
311
+ self.links = attributes[:'links']
312
+ end
198
313
  end
199
314
 
200
315
  # Show invalid properties with the reasons. Usually used together with valid?
201
316
  # @return Array for valid properties with the reasons
202
317
  def list_invalid_properties
318
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
203
319
  invalid_properties = Array.new
204
- return invalid_properties
320
+ if @id.nil?
321
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
322
+ end
323
+
324
+ if @type.nil?
325
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
326
+ end
327
+
328
+ if @product.nil?
329
+ invalid_properties.push('invalid value for "product", product cannot be nil.')
330
+ end
331
+
332
+ if @username.nil?
333
+ invalid_properties.push('invalid value for "username", username cannot be nil.')
334
+ end
335
+
336
+ invalid_properties
205
337
  end
206
338
 
207
339
  # Check to see if the all the properties in the model are valid
208
340
  # @return true if the model is valid
209
341
  def valid?
210
- return true
342
+ warn '[DEPRECATED] the `valid?` method is obsolete'
343
+ return false if @id.nil?
344
+ return false if @type.nil?
345
+ type_validator = EnumAttributeValidator.new('String', ["user", "guest"])
346
+ return false unless type_validator.valid?(@type)
347
+ return false if @product.nil?
348
+ return false if @username.nil?
349
+ true
350
+ end
351
+
352
+ # Custom attribute writer method checking allowed values (enum).
353
+ # @param [Object] type Object to be assigned
354
+ def type=(type)
355
+ validator = EnumAttributeValidator.new('String', ["user", "guest"])
356
+ unless validator.valid?(type)
357
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
358
+ end
359
+ @type = type
211
360
  end
212
361
 
213
362
  # Checks equality by comparing each attribute.
@@ -216,11 +365,15 @@ module FlatApi
216
365
  return true if self.equal?(o)
217
366
  self.class == o.class &&
218
367
  id == o.id &&
368
+ type == o.type &&
369
+ product == o.product &&
219
370
  username == o.username &&
220
- name == o.name &&
221
371
  printable_name == o.printable_name &&
372
+ firstname == o.firstname &&
373
+ lastname == o.lastname &&
374
+ name == o.name &&
222
375
  picture == o.picture &&
223
- is_power_user == o.is_power_user &&
376
+ badges == o.badges &&
224
377
  organization == o.organization &&
225
378
  organization_role == o.organization_role &&
226
379
  class_role == o.class_role &&
@@ -231,8 +384,10 @@ module FlatApi
231
384
  followers_count == o.followers_count &&
232
385
  following_count == o.following_count &&
233
386
  owned_public_scores_count == o.owned_public_scores_count &&
387
+ cover_picture == o.cover_picture &&
234
388
  profile_theme == o.profile_theme &&
235
- instruments == o.instruments
389
+ instruments == o.instruments &&
390
+ links == o.links
236
391
  end
237
392
 
238
393
  # @see the `==` method
@@ -242,39 +397,42 @@ module FlatApi
242
397
  end
243
398
 
244
399
  # Calculates hash code according to all attributes.
245
- # @return [Fixnum] Hash code
400
+ # @return [Integer] Hash code
246
401
  def hash
247
- [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].hash
402
+ [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].hash
248
403
  end
249
404
 
250
405
  # Builds the object from hash
251
406
  # @param [Hash] attributes Model attributes in the form of hash
252
407
  # @return [Object] Returns the model itself
253
- def build_from_hash(attributes)
408
+ def self.build_from_hash(attributes)
254
409
  return nil unless attributes.is_a?(Hash)
255
- self.class.swagger_types.each_pair do |key, type|
256
- if type =~ /\AArray<(.*)>/i
257
- # check to ensure the input is an array given that the the attribute
410
+ attributes = attributes.transform_keys(&:to_sym)
411
+ transformed_hash = {}
412
+ openapi_types.each_pair do |key, type|
413
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
414
+ transformed_hash["#{key}"] = nil
415
+ elsif type =~ /\AArray<(.*)>/i
416
+ # check to ensure the input is an array given that the attribute
258
417
  # is documented as an array but the input is not
259
- if attributes[self.class.attribute_map[key]].is_a?(Array)
260
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
418
+ if attributes[attribute_map[key]].is_a?(Array)
419
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
261
420
  end
262
- elsif !attributes[self.class.attribute_map[key]].nil?
263
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
264
- end # or else data not found in attributes(hash), not an issue as the data can be optional
421
+ elsif !attributes[attribute_map[key]].nil?
422
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
423
+ end
265
424
  end
266
-
267
- self
425
+ new(transformed_hash)
268
426
  end
269
427
 
270
428
  # Deserializes the data based on type
271
429
  # @param string type Data type
272
430
  # @param string value Value to be deserialized
273
431
  # @return [Object] Deserialized data
274
- def _deserialize(type, value)
432
+ def self._deserialize(type, value)
275
433
  case type.to_sym
276
- when :DateTime
277
- DateTime.parse(value)
434
+ when :Time
435
+ Time.parse(value)
278
436
  when :Date
279
437
  Date.parse(value)
280
438
  when :String
@@ -283,7 +441,7 @@ module FlatApi
283
441
  value.to_i
284
442
  when :Float
285
443
  value.to_f
286
- when :BOOLEAN
444
+ when :Boolean
287
445
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
288
446
  true
289
447
  else
@@ -304,8 +462,9 @@ module FlatApi
304
462
  end
305
463
  end
306
464
  else # model
307
- temp_model = FlatApi.const_get(type).new
308
- temp_model.build_from_hash(value)
465
+ # models (e.g. Pet) or oneOf
466
+ klass = FlatApi.const_get(type)
467
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
309
468
  end
310
469
  end
311
470
 
@@ -327,7 +486,11 @@ module FlatApi
327
486
  hash = {}
328
487
  self.class.attribute_map.each_pair do |attr, param|
329
488
  value = self.send(attr)
330
- next if value.nil?
489
+ if value.nil?
490
+ is_nullable = self.class.openapi_nullable.include?(attr)
491
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
492
+ end
493
+
331
494
  hash[param] = _to_hash(value)
332
495
  end
333
496
  hash
@@ -339,7 +502,7 @@ module FlatApi
339
502
  # @return [Hash] Returns the value in the form of hash
340
503
  def _to_hash(value)
341
504
  if value.is_a?(Array)
342
- value.compact.map{ |v| _to_hash(v) }
505
+ value.compact.map { |v| _to_hash(v) }
343
506
  elsif value.is_a?(Hash)
344
507
  {}.tap do |hash|
345
508
  value.each { |k, v| hash[k] = _to_hash(v) }