flat_api 0.3.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +69 -0
  3. data/LICENSE +201 -0
  4. data/README.md +92 -0
  5. data/lib/flat_api/api/account_api.rb +4 -4
  6. data/lib/flat_api/api/class_api.rb +281 -63
  7. data/lib/flat_api/api/collection_api.rb +63 -50
  8. data/lib/flat_api/api/edu_resources_api.rb +38 -26
  9. data/lib/flat_api/api/group_api.rb +432 -9
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +307 -35
  12. data/lib/flat_api/api/score_api.rb +129 -80
  13. data/lib/flat_api/api/task_api.rb +5 -5
  14. data/lib/flat_api/api/user_api.rb +45 -14
  15. data/lib/flat_api/api_client.rb +169 -96
  16. data/lib/flat_api/api_error.rb +3 -3
  17. data/lib/flat_api/api_model_base.rb +88 -0
  18. data/lib/flat_api/client.rb +69 -0
  19. data/lib/flat_api/configuration.rb +124 -25
  20. data/lib/flat_api/errors.rb +86 -0
  21. data/lib/flat_api/models/add_group_user200_response.rb +148 -0
  22. data/lib/flat_api/models/add_group_user_request.rb +165 -0
  23. data/lib/flat_api/models/api_access_token.rb +13 -80
  24. data/lib/flat_api/models/app_scopes.rb +6 -4
  25. data/lib/flat_api/models/assignment.rb +190 -85
  26. data/lib/flat_api/models/assignment_capabilities.rb +53 -80
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +33 -80
  28. data/lib/flat_api/models/assignment_copy.rb +5 -6
  29. data/lib/flat_api/models/assignment_copy_response.rb +187 -82
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +23 -80
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +23 -80
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +104 -81
  34. data/lib/flat_api/models/assignment_submission_comment.rb +13 -80
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +23 -80
  36. data/lib/flat_api/models/assignment_submission_comments.rb +13 -80
  37. data/lib/flat_api/models/assignment_submission_history.rb +33 -80
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +13 -80
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +3 -3
  40. data/lib/flat_api/models/assignment_submission_lti.rb +64 -86
  41. data/lib/flat_api/models/{assignment_submission_playback_inner.rb → assignment_submission_playback.rb} +36 -83
  42. data/lib/flat_api/models/assignment_submission_state.rb +3 -3
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +25 -81
  45. data/lib/flat_api/models/assignment_type.rb +5 -4
  46. data/lib/flat_api/models/assignment_update.rb +218 -87
  47. data/lib/flat_api/models/class_assignment.rb +219 -82
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +13 -80
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +13 -80
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +13 -80
  51. data/lib/flat_api/models/class_assignment_update.rb +237 -94
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +13 -80
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +13 -80
  54. data/lib/flat_api/models/class_attachment_creation.rb +51 -86
  55. data/lib/flat_api/models/class_creation.rb +13 -80
  56. data/lib/flat_api/models/class_details.rb +85 -81
  57. data/lib/flat_api/models/class_details_canvas.rb +13 -80
  58. data/lib/flat_api/models/class_details_clever.rb +13 -80
  59. data/lib/flat_api/models/class_details_google_classroom.rb +13 -80
  60. data/lib/flat_api/models/class_details_google_drive.rb +13 -80
  61. data/lib/flat_api/models/class_details_issues.rb +13 -80
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +15 -82
  63. data/lib/flat_api/models/class_details_lti.rb +28 -85
  64. data/lib/flat_api/models/class_details_mfc.rb +13 -80
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +13 -80
  66. data/lib/flat_api/models/class_grade_level.rb +3 -3
  67. data/lib/flat_api/models/class_roles.rb +3 -3
  68. data/lib/flat_api/models/class_state.rb +5 -4
  69. data/lib/flat_api/models/class_update.rb +13 -80
  70. data/lib/flat_api/models/collection.rb +182 -81
  71. data/lib/flat_api/models/collection_app.rb +13 -80
  72. data/lib/flat_api/models/collection_capabilities.rb +63 -80
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +20 -99
  75. data/lib/flat_api/models/collection_modification.rb +17 -82
  76. data/lib/flat_api/models/collection_privacy.rb +3 -3
  77. data/lib/flat_api/models/collection_type.rb +7 -6
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +63 -82
  80. data/lib/flat_api/models/edu_resource.rb +101 -84
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +27 -84
  83. data/lib/flat_api/models/edu_resource_copy.rb +23 -80
  84. data/lib/flat_api/models/edu_resource_creation.rb +96 -86
  85. data/lib/flat_api/models/edu_resource_folder.rb +39 -84
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +23 -80
  87. data/lib/flat_api/models/edu_resource_move.rb +23 -80
  88. data/lib/flat_api/models/edu_resource_privacy.rb +3 -3
  89. data/lib/flat_api/models/edu_resource_resource.rb +5 -6
  90. data/lib/flat_api/models/edu_resource_type.rb +3 -3
  91. data/lib/flat_api/models/edu_resource_update.rb +101 -86
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +23 -80
  93. data/lib/flat_api/models/flat_error_response.rb +47 -84
  94. data/lib/flat_api/models/google_classroom_coursework.rb +13 -80
  95. data/lib/flat_api/models/google_classroom_submission.rb +43 -80
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +14 -94
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +178 -84
  100. data/lib/flat_api/models/group_type.rb +6 -4
  101. data/lib/flat_api/models/license_mode.rb +3 -3
  102. data/lib/flat_api/models/license_sources.rb +3 -3
  103. data/lib/flat_api/models/lms_name.rb +3 -3
  104. data/lib/flat_api/models/lti_configuration.rb +56 -0
  105. data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
  106. data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
  107. data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
  108. data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
  109. data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
  110. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
  111. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
  112. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
  113. data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
  114. data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
  115. data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
  116. data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
  117. data/lib/flat_api/models/lti_configuration_base.rb +306 -0
  118. data/lib/flat_api/models/lti_configuration_create.rb +60 -0
  119. data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
  120. data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
  121. data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
  122. data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
  123. data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
  124. data/lib/flat_api/models/lti_configuration_update.rb +104 -0
  125. data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
  126. data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
  127. data/lib/flat_api/models/lti_credentials.rb +29 -84
  128. data/lib/flat_api/models/lti_credentials_creation.rb +23 -80
  129. data/lib/flat_api/models/media_attachment.rb +43 -88
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +3 -3
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +99 -88
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +33 -80
  133. data/lib/flat_api/models/omr_capabilities.rb +480 -0
  134. data/lib/flat_api/models/omr_details_step_data.rb +228 -0
  135. data/lib/flat_api/models/omr_details_submission.rb +288 -0
  136. data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
  137. data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
  138. data/lib/flat_api/models/omr_instrument_override.rb +311 -0
  139. data/lib/flat_api/models/omr_job.rb +394 -0
  140. data/lib/flat_api/models/omr_job_creation.rb +238 -0
  141. data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
  142. data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
  143. data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
  144. data/lib/flat_api/models/omr_job_input_file.rb +176 -0
  145. data/lib/flat_api/models/omr_job_output.rb +40 -0
  146. data/lib/flat_api/models/omr_job_progress.rb +169 -0
  147. data/lib/flat_api/models/omr_job_result.rb +161 -0
  148. data/lib/flat_api/models/omr_job_retention.rb +176 -0
  149. data/lib/flat_api/models/omr_job_status.rb +44 -0
  150. data/lib/flat_api/models/omr_locale_details.rb +193 -0
  151. data/lib/flat_api/models/omr_pending_step.rb +213 -0
  152. data/lib/flat_api/models/omr_step_name.rb +39 -0
  153. data/lib/flat_api/models/organization_invitation.rb +54 -81
  154. data/lib/flat_api/models/organization_invitation_creation.rb +15 -82
  155. data/lib/flat_api/models/organization_roles.rb +5 -5
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +23 -80
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +43 -85
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +13 -80
  160. data/lib/flat_api/models/resource_rights.rb +43 -85
  161. data/lib/flat_api/models/score_comment.rb +122 -80
  162. data/lib/flat_api/models/score_comment_context.rb +73 -80
  163. data/lib/flat_api/models/score_comment_creation.rb +24 -81
  164. data/lib/flat_api/models/score_comment_moderation.rb +13 -80
  165. data/lib/flat_api/models/score_comment_update.rb +18 -85
  166. data/lib/flat_api/models/score_comments_counts.rb +28 -85
  167. data/lib/flat_api/models/score_creation.rb +5 -6
  168. data/lib/flat_api/models/score_creation_builder_data.rb +24 -88
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +23 -80
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +13 -80
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +24 -81
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +33 -80
  173. data/lib/flat_api/models/score_creation_common.rb +14 -81
  174. data/lib/flat_api/models/score_creation_file_import.rb +39 -86
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +24 -81
  176. data/lib/flat_api/models/score_creation_type.rb +4 -5
  177. data/lib/flat_api/models/score_details.rb +180 -89
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +14 -83
  180. data/lib/flat_api/models/score_license.rb +4 -5
  181. data/lib/flat_api/models/score_likes_counts.rb +28 -106
  182. data/lib/flat_api/models/score_modification.rb +13 -80
  183. data/lib/flat_api/models/score_plays_counts.rb +28 -85
  184. data/lib/flat_api/models/score_privacy.rb +3 -3
  185. data/lib/flat_api/models/score_revision.rb +81 -87
  186. data/lib/flat_api/models/score_revision_creation.rb +23 -80
  187. data/lib/flat_api/models/score_revision_statistics.rb +13 -80
  188. data/lib/flat_api/models/score_source.rb +13 -80
  189. data/lib/flat_api/models/score_summary.rb +63 -80
  190. data/lib/flat_api/models/score_track.rb +94 -88
  191. data/lib/flat_api/models/score_track_creation.rb +13 -80
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +23 -80
  194. data/lib/flat_api/models/score_track_purpose.rb +3 -3
  195. data/lib/flat_api/models/score_track_state.rb +3 -3
  196. data/lib/flat_api/models/score_track_type.rb +3 -3
  197. data/lib/flat_api/models/score_track_update.rb +25 -81
  198. data/lib/flat_api/models/score_views_counts.rb +28 -85
  199. data/lib/flat_api/models/task.rb +62 -87
  200. data/lib/flat_api/models/task_export_options.rb +13 -80
  201. data/lib/flat_api/models/task_progress.rb +13 -80
  202. data/lib/flat_api/models/task_result.rb +13 -80
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +3 -3
  205. data/lib/flat_api/models/user_admin_update.rb +17 -95
  206. data/lib/flat_api/models/user_azure_details.rb +13 -80
  207. data/lib/flat_api/models/user_basics.rb +43 -80
  208. data/lib/flat_api/models/user_community_profile_links.rb +13 -80
  209. data/lib/flat_api/models/user_creation.rb +21 -98
  210. data/lib/flat_api/models/user_details.rb +101 -96
  211. data/lib/flat_api/models/user_details_admin.rb +72 -85
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +13 -80
  213. data/lib/flat_api/models/user_public.rb +89 -94
  214. data/lib/flat_api/models/user_public_summary.rb +58 -81
  215. data/lib/flat_api/models/user_signin_link.rb +24 -81
  216. data/lib/flat_api/models/user_signin_link_creation.rb +13 -80
  217. data/lib/flat_api/oauth.rb +128 -0
  218. data/lib/flat_api/pagination.rb +88 -0
  219. data/lib/flat_api/retry.rb +56 -0
  220. data/lib/flat_api/version.rb +4 -4
  221. data/lib/flat_api.rb +70 -5
  222. metadata +98 -330
  223. data/lib/flat_api/models/flat_locales.rb +0 -56
  224. data/spec/api/account_api_spec.rb +0 -47
  225. data/spec/api/class_api_spec.rb +0 -422
  226. data/spec/api/collection_api_spec.rb +0 -158
  227. data/spec/api/edu_resources_api_spec.rb +0 -181
  228. data/spec/api/group_api_spec.rb +0 -71
  229. data/spec/api/organization_api_spec.rb +0 -201
  230. data/spec/api/score_api_spec.rb +0 -440
  231. data/spec/api/task_api_spec.rb +0 -47
  232. data/spec/api/user_api_spec.rb +0 -75
  233. data/spec/models/api_access_token_spec.rb +0 -66
  234. data/spec/models/app_scopes_spec.rb +0 -30
  235. data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +0 -42
  236. data/spec/models/assignment_capabilities_spec.rb +0 -60
  237. data/spec/models/assignment_copy_response_spec.rb +0 -124
  238. data/spec/models/assignment_copy_spec.rb +0 -32
  239. data/spec/models/assignment_copy_to_class_spec.rb +0 -48
  240. data/spec/models/assignment_copy_to_resource_library_spec.rb +0 -42
  241. data/spec/models/assignment_spec.rb +0 -118
  242. data/spec/models/assignment_submission_comment_creation_spec.rb +0 -36
  243. data/spec/models/assignment_submission_comment_spec.rb +0 -72
  244. data/spec/models/assignment_submission_comments_spec.rb +0 -42
  245. data/spec/models/assignment_submission_history_attachment_spec.rb +0 -48
  246. data/spec/models/assignment_submission_history_spec.rb +0 -112
  247. data/spec/models/assignment_submission_history_state_spec.rb +0 -30
  248. data/spec/models/assignment_submission_lti_spec.rb +0 -36
  249. data/spec/models/assignment_submission_playback_inner_spec.rb +0 -42
  250. data/spec/models/assignment_submission_spec.rb +0 -144
  251. data/spec/models/assignment_submission_state_spec.rb +0 -30
  252. data/spec/models/assignment_submission_update_spec.rb +0 -66
  253. data/spec/models/assignment_type_spec.rb +0 -30
  254. data/spec/models/assignment_update_spec.rb +0 -100
  255. data/spec/models/class_assignment_all_of_canvas_spec.rb +0 -42
  256. data/spec/models/class_assignment_all_of_lti_spec.rb +0 -36
  257. data/spec/models/class_assignment_all_of_mfc_spec.rb +0 -42
  258. data/spec/models/class_assignment_spec.rb +0 -216
  259. data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +0 -36
  260. data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +0 -36
  261. data/spec/models/class_assignment_update_spec.rb +0 -150
  262. data/spec/models/class_attachment_creation_spec.rb +0 -76
  263. data/spec/models/class_creation_spec.rb +0 -64
  264. data/spec/models/class_details_canvas_spec.rb +0 -42
  265. data/spec/models/class_details_clever_spec.rb +0 -76
  266. data/spec/models/class_details_google_classroom_spec.rb +0 -42
  267. data/spec/models/class_details_google_drive_spec.rb +0 -42
  268. data/spec/models/class_details_issues_spec.rb +0 -36
  269. data/spec/models/class_details_issues_sync_inner_spec.rb +0 -52
  270. data/spec/models/class_details_lti_spec.rb +0 -48
  271. data/spec/models/class_details_mfc_spec.rb +0 -42
  272. data/spec/models/class_details_microsoft_graph_spec.rb +0 -36
  273. data/spec/models/class_details_spec.rb +0 -178
  274. data/spec/models/class_grade_level_spec.rb +0 -30
  275. data/spec/models/class_roles_spec.rb +0 -30
  276. data/spec/models/class_state_spec.rb +0 -30
  277. data/spec/models/class_update_spec.rb +0 -64
  278. data/spec/models/collection_app_spec.rb +0 -48
  279. data/spec/models/collection_capabilities_spec.rb +0 -60
  280. data/spec/models/collection_creation_spec.rb +0 -42
  281. data/spec/models/collection_modification_spec.rb +0 -42
  282. data/spec/models/collection_privacy_spec.rb +0 -30
  283. data/spec/models/collection_spec.rb +0 -114
  284. data/spec/models/collection_type_spec.rb +0 -30
  285. data/spec/models/edu_library_spec.rb +0 -62
  286. data/spec/models/edu_resource_capabilities_spec.rb +0 -48
  287. data/spec/models/edu_resource_copy_spec.rb +0 -36
  288. data/spec/models/edu_resource_creation_spec.rb +0 -48
  289. data/spec/models/edu_resource_folder_spec.rb +0 -36
  290. data/spec/models/edu_resource_lti_link_spec.rb +0 -36
  291. data/spec/models/edu_resource_move_spec.rb +0 -36
  292. data/spec/models/edu_resource_privacy_spec.rb +0 -30
  293. data/spec/models/edu_resource_resource_spec.rb +0 -32
  294. data/spec/models/edu_resource_spec.rb +0 -96
  295. data/spec/models/edu_resource_type_spec.rb +0 -30
  296. data/spec/models/edu_resource_update_spec.rb +0 -42
  297. data/spec/models/edu_resource_use_in_class_spec.rb +0 -42
  298. data/spec/models/flat_error_response_spec.rb +0 -54
  299. data/spec/models/flat_locales_spec.rb +0 -30
  300. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  301. data/spec/models/google_classroom_submission_spec.rb +0 -48
  302. data/spec/models/group_details_spec.rb +0 -72
  303. data/spec/models/group_spec.rb +0 -76
  304. data/spec/models/group_type_spec.rb +0 -30
  305. data/spec/models/license_mode_spec.rb +0 -30
  306. data/spec/models/license_sources_spec.rb +0 -30
  307. data/spec/models/lms_name_spec.rb +0 -30
  308. data/spec/models/lti_credentials_creation_spec.rb +0 -42
  309. data/spec/models/lti_credentials_spec.rb +0 -84
  310. data/spec/models/media_attachment_spec.rb +0 -166
  311. data/spec/models/media_score_sharing_mode_spec.rb +0 -30
  312. data/spec/models/microsoft_graph_assignment_spec.rb +0 -54
  313. data/spec/models/microsoft_graph_submission_spec.rb +0 -42
  314. data/spec/models/organization_invitation_creation_spec.rb +0 -46
  315. data/spec/models/organization_invitation_spec.rb +0 -84
  316. data/spec/models/organization_roles_spec.rb +0 -30
  317. data/spec/models/organization_user_access_token_creation_spec.rb +0 -36
  318. data/spec/models/resource_collaborator_creation_spec.rb +0 -72
  319. data/spec/models/resource_collaborator_spec.rb +0 -112
  320. data/spec/models/resource_rights_spec.rb +0 -64
  321. data/spec/models/score_comment_context_spec.rb +0 -78
  322. data/spec/models/score_comment_creation_spec.rb +0 -66
  323. data/spec/models/score_comment_moderation_spec.rb +0 -46
  324. data/spec/models/score_comment_spec.rb +0 -130
  325. data/spec/models/score_comment_update_spec.rb +0 -54
  326. data/spec/models/score_comments_counts_spec.rb +0 -54
  327. data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +0 -82
  328. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +0 -60
  329. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +0 -66
  330. data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +0 -42
  331. data/spec/models/score_creation_builder_data_spec.rb +0 -60
  332. data/spec/models/score_creation_common_spec.rb +0 -54
  333. data/spec/models/score_creation_file_import_spec.rb +0 -76
  334. data/spec/models/score_creation_google_drive_import_spec.rb +0 -60
  335. data/spec/models/score_creation_spec.rb +0 -32
  336. data/spec/models/score_creation_type_spec.rb +0 -30
  337. data/spec/models/score_details_spec.rb +0 -240
  338. data/spec/models/score_fork_spec.rb +0 -48
  339. data/spec/models/score_license_spec.rb +0 -30
  340. data/spec/models/score_likes_counts_spec.rb +0 -48
  341. data/spec/models/score_modification_spec.rb +0 -102
  342. data/spec/models/score_plays_counts_spec.rb +0 -48
  343. data/spec/models/score_privacy_spec.rb +0 -30
  344. data/spec/models/score_revision_creation_spec.rb +0 -58
  345. data/spec/models/score_revision_spec.rb +0 -78
  346. data/spec/models/score_revision_statistics_spec.rb +0 -54
  347. data/spec/models/score_source_spec.rb +0 -36
  348. data/spec/models/score_summary_spec.rb +0 -66
  349. data/spec/models/score_track_creation_spec.rb +0 -66
  350. data/spec/models/score_track_point_spec.rb +0 -52
  351. data/spec/models/score_track_purpose_spec.rb +0 -30
  352. data/spec/models/score_track_spec.rb +0 -108
  353. data/spec/models/score_track_state_spec.rb +0 -30
  354. data/spec/models/score_track_type_spec.rb +0 -30
  355. data/spec/models/score_track_update_spec.rb +0 -54
  356. data/spec/models/score_views_counts_spec.rb +0 -48
  357. data/spec/models/task_export_options_spec.rb +0 -36
  358. data/spec/models/task_progress_spec.rb +0 -42
  359. data/spec/models/task_result_spec.rb +0 -42
  360. data/spec/models/task_spec.rb +0 -100
  361. data/spec/models/tutteo_product_spec.rb +0 -30
  362. data/spec/models/user_admin_update_spec.rb +0 -66
  363. data/spec/models/user_azure_details_spec.rb +0 -48
  364. data/spec/models/user_basics_spec.rb +0 -94
  365. data/spec/models/user_community_profile_links_spec.rb +0 -66
  366. data/spec/models/user_creation_spec.rb +0 -76
  367. data/spec/models/user_details_admin_all_of_license_spec.rb +0 -60
  368. data/spec/models/user_details_admin_spec.rb +0 -142
  369. data/spec/models/user_details_spec.rb +0 -214
  370. data/spec/models/user_public_spec.rb +0 -178
  371. data/spec/models/user_public_summary_spec.rb +0 -118
  372. data/spec/models/user_signin_link_creation_spec.rb +0 -36
  373. data/spec/models/user_signin_link_spec.rb +0 -42
  374. data/spec/spec_helper.rb +0 -111
@@ -1,12 +1,12 @@
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, 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)
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
5
 
6
- The version of the OpenAPI document: 2.20.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module FlatApi
17
17
  # Copy the assignment to a class
18
- class AssignmentCopyToClass
18
+ class AssignmentCopyToClass < ApiModelBase
19
19
  # The destination classroom where the assignment will be copied
20
20
  attr_accessor :classroom
21
21
 
@@ -34,9 +34,14 @@ module FlatApi
34
34
  }
35
35
  end
36
36
 
37
+ # Returns attribute mapping this model knows about
38
+ def self.acceptable_attribute_map
39
+ attribute_map
40
+ end
41
+
37
42
  # Returns all the JSON keys this model knows about
38
43
  def self.acceptable_attributes
39
- attribute_map.values
44
+ acceptable_attribute_map.values
40
45
  end
41
46
 
42
47
  # Attribute type mapping.
@@ -62,9 +67,10 @@ module FlatApi
62
67
  end
63
68
 
64
69
  # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
71
  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::AssignmentCopyToClass`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentCopyToClass`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
74
  end
69
75
  h[k.to_sym] = v
70
76
  }
@@ -104,6 +110,16 @@ module FlatApi
104
110
  true
105
111
  end
106
112
 
113
+ # Custom attribute writer method with validation
114
+ # @param [Object] classroom Value to be assigned
115
+ def classroom=(classroom)
116
+ if classroom.nil?
117
+ fail ArgumentError, 'classroom cannot be nil'
118
+ end
119
+
120
+ @classroom = classroom
121
+ end
122
+
107
123
  # Checks equality by comparing each attribute.
108
124
  # @param [Object] Object to be compared
109
125
  def ==(o)
@@ -149,61 +165,6 @@ module FlatApi
149
165
  new(transformed_hash)
150
166
  end
151
167
 
152
- # Deserializes the data based on type
153
- # @param string type Data type
154
- # @param string value Value to be deserialized
155
- # @return [Object] Deserialized data
156
- def self._deserialize(type, value)
157
- case type.to_sym
158
- when :Time
159
- Time.parse(value)
160
- when :Date
161
- Date.parse(value)
162
- when :String
163
- value.to_s
164
- when :Integer
165
- value.to_i
166
- when :Float
167
- value.to_f
168
- when :Boolean
169
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
170
- true
171
- else
172
- false
173
- end
174
- when :Object
175
- # generic object (usually a Hash), return directly
176
- value
177
- when /\AArray<(?<inner_type>.+)>\z/
178
- inner_type = Regexp.last_match[:inner_type]
179
- value.map { |v| _deserialize(inner_type, v) }
180
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
181
- k_type = Regexp.last_match[:k_type]
182
- v_type = Regexp.last_match[:v_type]
183
- {}.tap do |hash|
184
- value.each do |k, v|
185
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
186
- end
187
- end
188
- else # model
189
- # models (e.g. Pet) or oneOf
190
- klass = FlatApi.const_get(type)
191
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
192
- end
193
- end
194
-
195
- # Returns the string representation of the object
196
- # @return [String] String presentation of the object
197
- def to_s
198
- to_hash.to_s
199
- end
200
-
201
- # to_body is an alias to to_hash (backward compatibility)
202
- # @return [Hash] Returns the object in the form of hash
203
- def to_body
204
- to_hash
205
- end
206
-
207
168
  # Returns the object in the form of hash
208
169
  # @return [Hash] Returns the object in the form of hash
209
170
  def to_hash
@@ -220,24 +181,6 @@ module FlatApi
220
181
  hash
221
182
  end
222
183
 
223
- # Outputs non-array value in the form of hash
224
- # For object, use to_hash. Otherwise, just return the value
225
- # @param [Object] value Any valid value
226
- # @return [Hash] Returns the value in the form of hash
227
- def _to_hash(value)
228
- if value.is_a?(Array)
229
- value.compact.map { |v| _to_hash(v) }
230
- elsif value.is_a?(Hash)
231
- {}.tap do |hash|
232
- value.each { |k, v| hash[k] = _to_hash(v) }
233
- end
234
- elsif value.respond_to? :to_hash
235
- value.to_hash
236
- else
237
- value
238
- end
239
- end
240
-
241
184
  end
242
185
 
243
186
  end
@@ -1,12 +1,12 @@
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, 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)
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
5
 
6
- The version of the OpenAPI document: 2.20.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module FlatApi
17
17
  # Copy the assignment to the EDU Resource Library
18
- class AssignmentCopyToResourceLibrary
18
+ class AssignmentCopyToResourceLibrary < ApiModelBase
19
19
  # Identifier of the parent resource where the new one will created, e.g. a folder id or `root`
20
20
  attr_accessor :library_parent
21
21
 
@@ -30,9 +30,14 @@ module FlatApi
30
30
  }
31
31
  end
32
32
 
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
33
38
  # Returns all the JSON keys this model knows about
34
39
  def self.acceptable_attributes
35
- attribute_map.values
40
+ acceptable_attribute_map.values
36
41
  end
37
42
 
38
43
  # Attribute type mapping.
@@ -57,9 +62,10 @@ module FlatApi
57
62
  end
58
63
 
59
64
  # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
66
  attributes = attributes.each_with_object({}) { |(k, v), h|
61
- if (!self.class.attribute_map.key?(k.to_sym))
62
- fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentCopyToResourceLibrary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentCopyToResourceLibrary`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
69
  end
64
70
  h[k.to_sym] = v
65
71
  }
@@ -95,6 +101,16 @@ module FlatApi
95
101
  true
96
102
  end
97
103
 
104
+ # Custom attribute writer method with validation
105
+ # @param [Object] library_parent Value to be assigned
106
+ def library_parent=(library_parent)
107
+ if library_parent.nil?
108
+ fail ArgumentError, 'library_parent cannot be nil'
109
+ end
110
+
111
+ @library_parent = library_parent
112
+ end
113
+
98
114
  # Checks equality by comparing each attribute.
99
115
  # @param [Object] Object to be compared
100
116
  def ==(o)
@@ -139,61 +155,6 @@ module FlatApi
139
155
  new(transformed_hash)
140
156
  end
141
157
 
142
- # Deserializes the data based on type
143
- # @param string type Data type
144
- # @param string value Value to be deserialized
145
- # @return [Object] Deserialized data
146
- def self._deserialize(type, value)
147
- case type.to_sym
148
- when :Time
149
- Time.parse(value)
150
- when :Date
151
- Date.parse(value)
152
- when :String
153
- value.to_s
154
- when :Integer
155
- value.to_i
156
- when :Float
157
- value.to_f
158
- when :Boolean
159
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
160
- true
161
- else
162
- false
163
- end
164
- when :Object
165
- # generic object (usually a Hash), return directly
166
- value
167
- when /\AArray<(?<inner_type>.+)>\z/
168
- inner_type = Regexp.last_match[:inner_type]
169
- value.map { |v| _deserialize(inner_type, v) }
170
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
171
- k_type = Regexp.last_match[:k_type]
172
- v_type = Regexp.last_match[:v_type]
173
- {}.tap do |hash|
174
- value.each do |k, v|
175
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
176
- end
177
- end
178
- else # model
179
- # models (e.g. Pet) or oneOf
180
- klass = FlatApi.const_get(type)
181
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
182
- end
183
- end
184
-
185
- # Returns the string representation of the object
186
- # @return [String] String presentation of the object
187
- def to_s
188
- to_hash.to_s
189
- end
190
-
191
- # to_body is an alias to to_hash (backward compatibility)
192
- # @return [Hash] Returns the object in the form of hash
193
- def to_body
194
- to_hash
195
- end
196
-
197
158
  # Returns the object in the form of hash
198
159
  # @return [Hash] Returns the object in the form of hash
199
160
  def to_hash
@@ -210,24 +171,6 @@ module FlatApi
210
171
  hash
211
172
  end
212
173
 
213
- # Outputs non-array value in the form of hash
214
- # For object, use to_hash. Otherwise, just return the value
215
- # @param [Object] value Any valid value
216
- # @return [Hash] Returns the value in the form of hash
217
- def _to_hash(value)
218
- if value.is_a?(Array)
219
- value.compact.map { |v| _to_hash(v) }
220
- elsif value.is_a?(Hash)
221
- {}.tap do |hash|
222
- value.each { |k, v| hash[k] = _to_hash(v) }
223
- end
224
- elsif value.respond_to? :to_hash
225
- value.to_hash
226
- else
227
- value
228
- end
229
- end
230
-
231
174
  end
232
175
 
233
176
  end
@@ -0,0 +1,232 @@
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, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
+
6
+ The version of the OpenAPI document: 2.26.1
7
+ Contact: developers@flat.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FlatApi
17
+ # A group assigned to an assignment for shared writing assignments
18
+ class AssignmentGroup < ApiModelBase
19
+ # The unique identifier of the group
20
+ attr_accessor :id
21
+
22
+ # The display name of the group
23
+ attr_accessor :name
24
+
25
+ # The unique identifier of the parent class group. Only available for groups of type 'assignmentStudentsSubGroup'. May be null if the parent class group was deleted.
26
+ attr_accessor :parent
27
+
28
+ # Array of user IDs that are members of this group
29
+ attr_accessor :members
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'id' => :'id',
35
+ :'name' => :'name',
36
+ :'parent' => :'parent',
37
+ :'members' => :'members'
38
+ }
39
+ end
40
+
41
+ # Returns attribute mapping this model knows about
42
+ def self.acceptable_attribute_map
43
+ attribute_map
44
+ end
45
+
46
+ # Returns all the JSON keys this model knows about
47
+ def self.acceptable_attributes
48
+ acceptable_attribute_map.values
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.openapi_types
53
+ {
54
+ :'id' => :'String',
55
+ :'name' => :'String',
56
+ :'parent' => :'String',
57
+ :'members' => :'Array<String>'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::AssignmentGroup` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ acceptable_attribute_map = self.class.acceptable_attribute_map
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!acceptable_attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::AssignmentGroup`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'id')
84
+ self.id = attributes[:'id']
85
+ else
86
+ self.id = nil
87
+ end
88
+
89
+ if attributes.key?(:'name')
90
+ self.name = attributes[:'name']
91
+ else
92
+ self.name = nil
93
+ end
94
+
95
+ if attributes.key?(:'parent')
96
+ self.parent = attributes[:'parent']
97
+ end
98
+
99
+ if attributes.key?(:'members')
100
+ if (value = attributes[:'members']).is_a?(Array)
101
+ self.members = value
102
+ end
103
+ else
104
+ self.members = nil
105
+ end
106
+ end
107
+
108
+ # Show invalid properties with the reasons. Usually used together with valid?
109
+ # @return Array for valid properties with the reasons
110
+ def list_invalid_properties
111
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
112
+ invalid_properties = Array.new
113
+ if @id.nil?
114
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
115
+ end
116
+
117
+ if @name.nil?
118
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
119
+ end
120
+
121
+ if @members.nil?
122
+ invalid_properties.push('invalid value for "members", members cannot be nil.')
123
+ end
124
+
125
+ invalid_properties
126
+ end
127
+
128
+ # Check to see if the all the properties in the model are valid
129
+ # @return true if the model is valid
130
+ def valid?
131
+ warn '[DEPRECATED] the `valid?` method is obsolete'
132
+ return false if @id.nil?
133
+ return false if @name.nil?
134
+ return false if @members.nil?
135
+ true
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param [Object] id Value to be assigned
140
+ def id=(id)
141
+ if id.nil?
142
+ fail ArgumentError, 'id cannot be nil'
143
+ end
144
+
145
+ @id = id
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param [Object] name Value to be assigned
150
+ def name=(name)
151
+ if name.nil?
152
+ fail ArgumentError, 'name cannot be nil'
153
+ end
154
+
155
+ @name = name
156
+ end
157
+
158
+ # Custom attribute writer method with validation
159
+ # @param [Object] members Value to be assigned
160
+ def members=(members)
161
+ if members.nil?
162
+ fail ArgumentError, 'members cannot be nil'
163
+ end
164
+
165
+ @members = members
166
+ end
167
+
168
+ # Checks equality by comparing each attribute.
169
+ # @param [Object] Object to be compared
170
+ def ==(o)
171
+ return true if self.equal?(o)
172
+ self.class == o.class &&
173
+ id == o.id &&
174
+ name == o.name &&
175
+ parent == o.parent &&
176
+ members == o.members
177
+ end
178
+
179
+ # @see the `==` method
180
+ # @param [Object] Object to be compared
181
+ def eql?(o)
182
+ self == o
183
+ end
184
+
185
+ # Calculates hash code according to all attributes.
186
+ # @return [Integer] Hash code
187
+ def hash
188
+ [id, name, parent, members].hash
189
+ end
190
+
191
+ # Builds the object from hash
192
+ # @param [Hash] attributes Model attributes in the form of hash
193
+ # @return [Object] Returns the model itself
194
+ def self.build_from_hash(attributes)
195
+ return nil unless attributes.is_a?(Hash)
196
+ attributes = attributes.transform_keys(&:to_sym)
197
+ transformed_hash = {}
198
+ openapi_types.each_pair do |key, type|
199
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
200
+ transformed_hash["#{key}"] = nil
201
+ elsif type =~ /\AArray<(.*)>/i
202
+ # check to ensure the input is an array given that the attribute
203
+ # is documented as an array but the input is not
204
+ if attributes[attribute_map[key]].is_a?(Array)
205
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
206
+ end
207
+ elsif !attributes[attribute_map[key]].nil?
208
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
209
+ end
210
+ end
211
+ new(transformed_hash)
212
+ end
213
+
214
+ # Returns the object in the form of hash
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_hash
217
+ hash = {}
218
+ self.class.attribute_map.each_pair do |attr, param|
219
+ value = self.send(attr)
220
+ if value.nil?
221
+ is_nullable = self.class.openapi_nullable.include?(attr)
222
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
223
+ end
224
+
225
+ hash[param] = _to_hash(value)
226
+ end
227
+ hash
228
+ end
229
+
230
+ end
231
+
232
+ end