flat_api 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +60 -8
  3. data/LICENSE +201 -0
  4. data/README.md +62 -241
  5. data/lib/flat_api/api/account_api.rb +32 -22
  6. data/lib/flat_api/api/class_api.rb +1671 -453
  7. data/lib/flat_api/api/collection_api.rb +286 -185
  8. data/lib/flat_api/api/edu_resources_api.rb +863 -0
  9. data/lib/flat_api/api/group_api.rb +506 -57
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +808 -192
  12. data/lib/flat_api/api/score_api.rb +1030 -589
  13. data/lib/flat_api/api/task_api.rb +85 -0
  14. data/lib/flat_api/api/user_api.rb +151 -82
  15. data/lib/flat_api/api_client.rb +223 -145
  16. data/lib/flat_api/api_error.rb +24 -4
  17. data/lib/flat_api/api_model_base.rb +88 -0
  18. data/lib/flat_api/client.rb +69 -0
  19. data/lib/flat_api/configuration.rb +224 -36
  20. data/lib/flat_api/errors.rb +86 -0
  21. data/lib/flat_api/models/add_group_user200_response.rb +148 -0
  22. data/lib/flat_api/models/add_group_user_request.rb +165 -0
  23. data/lib/flat_api/models/api_access_token.rb +201 -0
  24. data/lib/flat_api/models/app_scopes.rb +61 -0
  25. data/lib/flat_api/models/assignment.rb +362 -166
  26. data/lib/flat_api/models/assignment_capabilities.rb +256 -0
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +193 -0
  28. data/lib/flat_api/models/assignment_copy.rb +79 -169
  29. data/lib/flat_api/models/assignment_copy_response.rb +535 -0
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +186 -0
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +176 -0
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +337 -131
  34. data/lib/flat_api/models/assignment_submission_comment.rb +209 -0
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +166 -0
  36. data/lib/flat_api/models/assignment_submission_comments.rb +158 -0
  37. data/lib/flat_api/models/assignment_submission_history.rb +337 -0
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +168 -0
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  40. data/lib/flat_api/models/assignment_submission_lti.rb +200 -0
  41. data/lib/flat_api/models/assignment_submission_playback.rb +193 -0
  42. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +157 -113
  45. data/lib/flat_api/models/assignment_type.rb +45 -0
  46. data/lib/flat_api/models/assignment_update.rb +538 -0
  47. data/lib/flat_api/models/class_assignment.rb +750 -0
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +159 -0
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +149 -0
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +159 -0
  51. data/lib/flat_api/models/class_assignment_update.rb +652 -0
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +150 -0
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +152 -0
  54. data/lib/flat_api/models/class_attachment_creation.rb +140 -106
  55. data/lib/flat_api/models/class_creation.rb +142 -108
  56. data/lib/flat_api/models/class_details.rb +244 -125
  57. data/lib/flat_api/models/class_details_canvas.rb +59 -99
  58. data/lib/flat_api/models/class_details_clever.rb +74 -113
  59. data/lib/flat_api/models/class_details_google_classroom.rb +64 -124
  60. data/lib/flat_api/models/class_details_google_drive.rb +61 -101
  61. data/lib/flat_api/models/class_details_issues.rb +151 -0
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +203 -0
  63. data/lib/flat_api/models/class_details_lti.rb +76 -106
  64. data/lib/flat_api/models/class_details_mfc.rb +159 -0
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +148 -0
  66. data/lib/flat_api/models/class_grade_level.rb +43 -0
  67. data/lib/flat_api/models/class_roles.rb +18 -9
  68. data/lib/flat_api/models/class_state.rb +19 -9
  69. data/lib/flat_api/models/class_update.rb +142 -107
  70. data/lib/flat_api/models/collection.rb +304 -115
  71. data/lib/flat_api/models/collection_app.rb +169 -0
  72. data/lib/flat_api/models/collection_capabilities.rb +157 -112
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +120 -104
  75. data/lib/flat_api/models/collection_modification.rb +122 -100
  76. data/lib/flat_api/models/collection_privacy.rb +18 -9
  77. data/lib/flat_api/models/collection_type.rb +22 -11
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +273 -0
  80. data/lib/flat_api/models/edu_resource.rb +383 -0
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +179 -0
  83. data/lib/flat_api/models/edu_resource_copy.rb +166 -0
  84. data/lib/flat_api/models/edu_resource_creation.rb +311 -0
  85. data/lib/flat_api/models/edu_resource_folder.rb +171 -0
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +166 -0
  87. data/lib/flat_api/models/edu_resource_move.rb +166 -0
  88. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  89. data/lib/flat_api/models/edu_resource_resource.rb +104 -0
  90. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  91. data/lib/flat_api/models/edu_resource_update.rb +292 -0
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +176 -0
  93. data/lib/flat_api/models/flat_error_response.rb +109 -105
  94. data/lib/flat_api/models/google_classroom_coursework.rb +74 -103
  95. data/lib/flat_api/models/google_classroom_submission.rb +112 -101
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +70 -122
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +253 -110
  100. data/lib/flat_api/models/group_type.rb +20 -9
  101. data/lib/flat_api/models/license_mode.rb +18 -9
  102. data/lib/flat_api/models/license_sources.rb +21 -9
  103. data/lib/flat_api/models/lms_name.rb +19 -9
  104. data/lib/flat_api/models/lti_configuration.rb +56 -0
  105. data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
  106. data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
  107. data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
  108. data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
  109. data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
  110. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
  111. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
  112. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
  113. data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
  114. data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
  115. data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
  116. data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
  117. data/lib/flat_api/models/lti_configuration_base.rb +306 -0
  118. data/lib/flat_api/models/lti_configuration_create.rb +60 -0
  119. data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
  120. data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
  121. data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
  122. data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
  123. data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
  124. data/lib/flat_api/models/lti_configuration_update.rb +104 -0
  125. data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
  126. data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
  127. data/lib/flat_api/models/lti_credentials.rb +108 -114
  128. data/lib/flat_api/models/lti_credentials_creation.rb +99 -103
  129. data/lib/flat_api/models/media_attachment.rb +189 -137
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +259 -0
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +193 -0
  133. data/lib/flat_api/models/omr_capabilities.rb +480 -0
  134. data/lib/flat_api/models/omr_details_step_data.rb +228 -0
  135. data/lib/flat_api/models/omr_details_submission.rb +288 -0
  136. data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
  137. data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
  138. data/lib/flat_api/models/omr_instrument_override.rb +311 -0
  139. data/lib/flat_api/models/omr_job.rb +394 -0
  140. data/lib/flat_api/models/omr_job_creation.rb +238 -0
  141. data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
  142. data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
  143. data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
  144. data/lib/flat_api/models/omr_job_input_file.rb +176 -0
  145. data/lib/flat_api/models/omr_job_output.rb +40 -0
  146. data/lib/flat_api/models/omr_job_progress.rb +169 -0
  147. data/lib/flat_api/models/omr_job_result.rb +161 -0
  148. data/lib/flat_api/models/omr_job_retention.rb +176 -0
  149. data/lib/flat_api/models/omr_job_status.rb +44 -0
  150. data/lib/flat_api/models/omr_locale_details.rb +193 -0
  151. data/lib/flat_api/models/omr_pending_step.rb +213 -0
  152. data/lib/flat_api/models/omr_step_name.rb +39 -0
  153. data/lib/flat_api/models/organization_invitation.rb +177 -109
  154. data/lib/flat_api/models/organization_invitation_creation.rb +97 -100
  155. data/lib/flat_api/models/organization_roles.rb +19 -10
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +168 -0
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +204 -116
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +72 -112
  160. data/lib/flat_api/models/resource_rights.rb +168 -107
  161. data/lib/flat_api/models/score_comment.rb +200 -121
  162. data/lib/flat_api/models/score_comment_context.rb +161 -124
  163. data/lib/flat_api/models/score_comment_creation.rb +79 -107
  164. data/lib/flat_api/models/score_comment_moderation.rb +193 -0
  165. data/lib/flat_api/models/score_comment_update.rb +81 -115
  166. data/lib/flat_api/models/score_comments_counts.rb +78 -108
  167. data/lib/flat_api/models/score_creation.rb +80 -225
  168. data/lib/flat_api/models/score_creation_builder_data.rb +234 -0
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +173 -0
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +255 -0
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +217 -0
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +222 -0
  173. data/lib/flat_api/models/score_creation_common.rb +201 -0
  174. data/lib/flat_api/models/score_creation_file_import.rb +277 -0
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +234 -0
  176. data/lib/flat_api/models/score_creation_type.rb +18 -9
  177. data/lib/flat_api/models/score_details.rb +428 -146
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +84 -101
  180. data/lib/flat_api/models/score_license.rb +18 -9
  181. data/lib/flat_api/models/score_likes_counts.rb +73 -103
  182. data/lib/flat_api/models/score_modification.rb +178 -115
  183. data/lib/flat_api/models/score_plays_counts.rb +179 -0
  184. data/lib/flat_api/models/score_privacy.rb +18 -9
  185. data/lib/flat_api/models/score_revision.rb +142 -111
  186. data/lib/flat_api/models/score_revision_creation.rb +113 -105
  187. data/lib/flat_api/models/score_revision_statistics.rb +81 -101
  188. data/lib/flat_api/models/score_source.rb +59 -100
  189. data/lib/flat_api/models/score_summary.rb +172 -105
  190. data/lib/flat_api/models/score_track.rb +244 -117
  191. data/lib/flat_api/models/score_track_creation.rb +99 -104
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +78 -103
  194. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  195. data/lib/flat_api/models/score_track_state.rb +18 -9
  196. data/lib/flat_api/models/score_track_type.rb +18 -9
  197. data/lib/flat_api/models/score_track_update.rb +98 -103
  198. data/lib/flat_api/models/score_views_counts.rb +73 -103
  199. data/lib/flat_api/models/task.rb +339 -0
  200. data/lib/flat_api/models/task_export_options.rb +151 -0
  201. data/lib/flat_api/models/task_progress.rb +159 -0
  202. data/lib/flat_api/models/task_result.rb +159 -0
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +42 -0
  205. data/lib/flat_api/models/user_admin_update.rb +206 -106
  206. data/lib/flat_api/models/user_azure_details.rb +168 -0
  207. data/lib/flat_api/models/user_basics.rb +215 -120
  208. data/lib/flat_api/models/user_community_profile_links.rb +205 -0
  209. data/lib/flat_api/models/user_creation.rb +203 -114
  210. data/lib/flat_api/models/user_details.rb +331 -161
  211. data/lib/flat_api/models/user_details_admin.rb +272 -133
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +211 -0
  213. data/lib/flat_api/models/user_public.rb +303 -145
  214. data/lib/flat_api/models/user_public_summary.rb +243 -126
  215. data/lib/flat_api/models/user_signin_link.rb +168 -0
  216. data/lib/flat_api/models/user_signin_link_creation.rb +150 -0
  217. data/lib/flat_api/oauth.rb +128 -0
  218. data/lib/flat_api/pagination.rb +88 -0
  219. data/lib/flat_api/retry.rb +56 -0
  220. data/lib/flat_api/version.rb +5 -5
  221. data/lib/flat_api.rb +144 -16
  222. metadata +154 -434
  223. data/Gemfile +0 -7
  224. data/Rakefile +0 -8
  225. data/docs/AccountApi.md +0 -55
  226. data/docs/Assignment.md +0 -18
  227. data/docs/AssignmentCopy.md +0 -8
  228. data/docs/AssignmentCreation.md +0 -12
  229. data/docs/AssignmentSubmission.md +0 -19
  230. data/docs/AssignmentSubmissionUpdate.md +0 -11
  231. data/docs/ClassApi.md +0 -1051
  232. data/docs/ClassAttachmentCreation.md +0 -10
  233. data/docs/ClassCreation.md +0 -9
  234. data/docs/ClassDetails.md +0 -25
  235. data/docs/ClassDetailsCanvas.md +0 -9
  236. data/docs/ClassDetailsClever.md +0 -14
  237. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  238. data/docs/ClassDetailsGoogleDrive.md +0 -9
  239. data/docs/ClassDetailsLti.md +0 -10
  240. data/docs/ClassRoles.md +0 -7
  241. data/docs/ClassState.md +0 -7
  242. data/docs/ClassUpdate.md +0 -9
  243. data/docs/Collection.md +0 -18
  244. data/docs/CollectionApi.md +0 -521
  245. data/docs/CollectionCapabilities.md +0 -12
  246. data/docs/CollectionCreation.md +0 -8
  247. data/docs/CollectionModification.md +0 -8
  248. data/docs/CollectionPrivacy.md +0 -7
  249. data/docs/CollectionTitle.md +0 -7
  250. data/docs/CollectionType.md +0 -7
  251. data/docs/FlatErrorResponse.md +0 -11
  252. data/docs/FlatLocales.md +0 -7
  253. data/docs/GoogleClassroomCoursework.md +0 -10
  254. data/docs/GoogleClassroomSubmission.md +0 -10
  255. data/docs/Group.md +0 -14
  256. data/docs/GroupApi.md +0 -167
  257. data/docs/GroupDetails.md +0 -14
  258. data/docs/GroupType.md +0 -7
  259. data/docs/LicenseMode.md +0 -7
  260. data/docs/LicenseSources.md +0 -7
  261. data/docs/LmsName.md +0 -7
  262. data/docs/LtiCredentials.md +0 -16
  263. data/docs/LtiCredentialsCreation.md +0 -9
  264. data/docs/MediaAttachment.md +0 -23
  265. data/docs/MediaScoreSharingMode.md +0 -7
  266. data/docs/OrganizationApi.md +0 -538
  267. data/docs/OrganizationInvitation.md +0 -14
  268. data/docs/OrganizationInvitationCreation.md +0 -9
  269. data/docs/OrganizationRoles.md +0 -7
  270. data/docs/ResourceCollaborator.md +0 -16
  271. data/docs/ResourceCollaboratorCreation.md +0 -14
  272. data/docs/ResourceRights.md +0 -10
  273. data/docs/ResourceSharingKey.md +0 -7
  274. data/docs/ScoreApi.md +0 -1658
  275. data/docs/ScoreComment.md +0 -22
  276. data/docs/ScoreCommentContext.md +0 -14
  277. data/docs/ScoreCommentCreation.md +0 -13
  278. data/docs/ScoreCommentUpdate.md +0 -11
  279. data/docs/ScoreCommentsCounts.md +0 -11
  280. data/docs/ScoreCreation.md +0 -14
  281. data/docs/ScoreCreationType.md +0 -7
  282. data/docs/ScoreData.md +0 -7
  283. data/docs/ScoreDataEncoding.md +0 -7
  284. data/docs/ScoreDetails.md +0 -36
  285. data/docs/ScoreFork.md +0 -8
  286. data/docs/ScoreLicense.md +0 -7
  287. data/docs/ScoreLikesCounts.md +0 -10
  288. data/docs/ScoreModification.md +0 -14
  289. data/docs/ScorePrivacy.md +0 -7
  290. data/docs/ScoreRevision.md +0 -14
  291. data/docs/ScoreRevisionCreation.md +0 -11
  292. data/docs/ScoreRevisionStatistics.md +0 -9
  293. data/docs/ScoreSource.md +0 -8
  294. data/docs/ScoreSummary.md +0 -13
  295. data/docs/ScoreTrack.md +0 -19
  296. data/docs/ScoreTrackCreation.md +0 -12
  297. data/docs/ScoreTrackPoint.md +0 -10
  298. data/docs/ScoreTrackState.md +0 -7
  299. data/docs/ScoreTrackType.md +0 -7
  300. data/docs/ScoreTrackUpdate.md +0 -11
  301. data/docs/ScoreViewsCounts.md +0 -10
  302. data/docs/UserAdminUpdate.md +0 -9
  303. data/docs/UserApi.md +0 -173
  304. data/docs/UserBasics.md +0 -13
  305. data/docs/UserCreation.md +0 -11
  306. data/docs/UserDetails.md +0 -28
  307. data/docs/UserDetailsAdmin.md +0 -20
  308. data/docs/UserDetailsAdminLicense.md +0 -12
  309. data/docs/UserInstruments.md +0 -7
  310. data/docs/UserPublic.md +0 -25
  311. data/docs/UserPublicSummary.md +0 -17
  312. data/flat_api.gemspec +0 -48
  313. data/lib/flat_api/models/assignment_creation.rb +0 -230
  314. data/lib/flat_api/models/collection_title.rb +0 -179
  315. data/lib/flat_api/models/flat_locales.rb +0 -36
  316. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  317. data/lib/flat_api/models/score_data.rb +0 -179
  318. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  319. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  320. data/lib/flat_api/models/user_instruments.rb +0 -179
  321. data/spec/api/account_api_spec.rb +0 -46
  322. data/spec/api/class_api_spec.rb +0 -278
  323. data/spec/api/collection_api_spec.rb +0 -159
  324. data/spec/api/group_api_spec.rb +0 -72
  325. data/spec/api/organization_api_spec.rb +0 -162
  326. data/spec/api/score_api_spec.rb +0 -426
  327. data/spec/api/user_api_spec.rb +0 -73
  328. data/spec/api_client_spec.rb +0 -226
  329. data/spec/configuration_spec.rb +0 -42
  330. data/spec/models/assignment_copy_spec.rb +0 -42
  331. data/spec/models/assignment_creation_spec.rb +0 -66
  332. data/spec/models/assignment_spec.rb +0 -106
  333. data/spec/models/assignment_submission_spec.rb +0 -108
  334. data/spec/models/assignment_submission_update_spec.rb +0 -60
  335. data/spec/models/class_attachment_creation_spec.rb +0 -58
  336. data/spec/models/class_creation_spec.rb +0 -48
  337. data/spec/models/class_details_canvas_spec.rb +0 -48
  338. data/spec/models/class_details_clever_spec.rb +0 -82
  339. data/spec/models/class_details_google_classroom_spec.rb +0 -60
  340. data/spec/models/class_details_google_drive_spec.rb +0 -48
  341. data/spec/models/class_details_lti_spec.rb +0 -54
  342. data/spec/models/class_details_spec.rb +0 -144
  343. data/spec/models/class_roles_spec.rb +0 -36
  344. data/spec/models/class_state_spec.rb +0 -36
  345. data/spec/models/class_update_spec.rb +0 -48
  346. data/spec/models/collection_capabilities_spec.rb +0 -66
  347. data/spec/models/collection_creation_spec.rb +0 -42
  348. data/spec/models/collection_modification_spec.rb +0 -42
  349. data/spec/models/collection_privacy_spec.rb +0 -36
  350. data/spec/models/collection_spec.rb +0 -102
  351. data/spec/models/collection_title_spec.rb +0 -36
  352. data/spec/models/collection_type_spec.rb +0 -36
  353. data/spec/models/flat_error_response_spec.rb +0 -60
  354. data/spec/models/flat_locales_spec.rb +0 -36
  355. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  356. data/spec/models/google_classroom_submission_spec.rb +0 -54
  357. data/spec/models/group_details_spec.rb +0 -78
  358. data/spec/models/group_spec.rb +0 -82
  359. data/spec/models/group_type_spec.rb +0 -36
  360. data/spec/models/license_mode_spec.rb +0 -36
  361. data/spec/models/license_sources_spec.rb +0 -36
  362. data/spec/models/lms_name_spec.rb +0 -36
  363. data/spec/models/lti_credentials_creation_spec.rb +0 -48
  364. data/spec/models/lti_credentials_spec.rb +0 -90
  365. data/spec/models/media_attachment_spec.rb +0 -136
  366. data/spec/models/media_score_sharing_mode_spec.rb +0 -36
  367. data/spec/models/organization_invitation_creation_spec.rb +0 -48
  368. data/spec/models/organization_invitation_spec.rb +0 -78
  369. data/spec/models/organization_roles_spec.rb +0 -36
  370. data/spec/models/resource_collaborator_creation_spec.rb +0 -78
  371. data/spec/models/resource_collaborator_spec.rb +0 -90
  372. data/spec/models/resource_rights_spec.rb +0 -54
  373. data/spec/models/resource_sharing_key_spec.rb +0 -36
  374. data/spec/models/score_comment_context_spec.rb +0 -78
  375. data/spec/models/score_comment_creation_spec.rb +0 -72
  376. data/spec/models/score_comment_spec.rb +0 -130
  377. data/spec/models/score_comment_update_spec.rb +0 -60
  378. data/spec/models/score_comments_counts_spec.rb +0 -60
  379. data/spec/models/score_creation_spec.rb +0 -78
  380. data/spec/models/score_creation_type_spec.rb +0 -36
  381. data/spec/models/score_data_encoding_spec.rb +0 -36
  382. data/spec/models/score_data_spec.rb +0 -36
  383. data/spec/models/score_details_spec.rb +0 -210
  384. data/spec/models/score_fork_spec.rb +0 -42
  385. data/spec/models/score_license_spec.rb +0 -36
  386. data/spec/models/score_likes_counts_spec.rb +0 -54
  387. data/spec/models/score_modification_spec.rb +0 -78
  388. data/spec/models/score_privacy_spec.rb +0 -36
  389. data/spec/models/score_revision_creation_spec.rb +0 -60
  390. data/spec/models/score_revision_spec.rb +0 -78
  391. data/spec/models/score_revision_statistics_spec.rb +0 -48
  392. data/spec/models/score_source_spec.rb +0 -42
  393. data/spec/models/score_summary_spec.rb +0 -72
  394. data/spec/models/score_track_creation_spec.rb +0 -66
  395. data/spec/models/score_track_point_spec.rb +0 -58
  396. data/spec/models/score_track_spec.rb +0 -108
  397. data/spec/models/score_track_state_spec.rb +0 -36
  398. data/spec/models/score_track_type_spec.rb +0 -36
  399. data/spec/models/score_track_update_spec.rb +0 -60
  400. data/spec/models/score_views_counts_spec.rb +0 -54
  401. data/spec/models/user_admin_update_spec.rb +0 -48
  402. data/spec/models/user_basics_spec.rb +0 -72
  403. data/spec/models/user_creation_spec.rb +0 -60
  404. data/spec/models/user_details_admin_license_spec.rb +0 -66
  405. data/spec/models/user_details_admin_spec.rb +0 -114
  406. data/spec/models/user_details_spec.rb +0 -166
  407. data/spec/models/user_instruments_spec.rb +0 -36
  408. data/spec/models/user_public_spec.rb +0 -144
  409. data/spec/models/user_public_summary_spec.rb +0 -96
  410. data/spec/spec_helper.rb +0 -111
@@ -1,16 +1,16 @@
1
1
  =begin
2
2
  #Flat API
3
3
 
4
- #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML or MIDI files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and interoduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
13
- require "uri"
13
+ require 'cgi'
14
14
 
15
15
  module FlatApi
16
16
  class GroupApi
@@ -19,56 +19,266 @@ module FlatApi
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Add a student to a group
23
+ # Add a student to the specified group (must be in the same class)
24
+ # @param group [String] Unique identifier of a Flat group
25
+ # @param add_group_user_request [AddGroupUserRequest]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [AddGroupUser200Response]
28
+ def add_group_user(group, add_group_user_request, opts = {})
29
+ data, _status_code, _headers = add_group_user_with_http_info(group, add_group_user_request, opts)
30
+ data
31
+ end
32
+
33
+ # Add a student to a group
34
+ # Add a student to the specified group (must be in the same class)
35
+ # @param group [String] Unique identifier of a Flat group
36
+ # @param add_group_user_request [AddGroupUserRequest]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(AddGroupUser200Response, Integer, Hash)>] AddGroupUser200Response data, response status code and response headers
39
+ def add_group_user_with_http_info(group, add_group_user_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: GroupApi.add_group_user ...'
42
+ end
43
+ # verify the required parameter 'group' is set
44
+ if @api_client.config.client_side_validation && group.nil?
45
+ fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.add_group_user"
46
+ end
47
+ # verify the required parameter 'add_group_user_request' is set
48
+ if @api_client.config.client_side_validation && add_group_user_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'add_group_user_request' when calling GroupApi.add_group_user"
50
+ end
51
+ # resource path
52
+ local_var_path = '/groups/{group}/users'.sub('{group}', CGI.escape(group.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(add_group_user_request)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'AddGroupUser200Response'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"GroupApi.add_group_user",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: GroupApi#add_group_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Create a new group
97
+ # Create a group of the given type, tied to a classroom, optionally with initial members.
98
+ # @param group_creation [GroupCreation]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [GroupDetails]
101
+ def create_group(group_creation, opts = {})
102
+ data, _status_code, _headers = create_group_with_http_info(group_creation, opts)
103
+ data
104
+ end
105
+
106
+ # Create a new group
107
+ # Create a group of the given type, tied to a classroom, optionally with initial members.
108
+ # @param group_creation [GroupCreation]
109
+ # @param [Hash] opts the optional parameters
110
+ # @return [Array<(GroupDetails, Integer, Hash)>] GroupDetails data, response status code and response headers
111
+ def create_group_with_http_info(group_creation, opts = {})
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug 'Calling API: GroupApi.create_group ...'
114
+ end
115
+ # verify the required parameter 'group_creation' is set
116
+ if @api_client.config.client_side_validation && group_creation.nil?
117
+ fail ArgumentError, "Missing the required parameter 'group_creation' when calling GroupApi.create_group"
118
+ end
119
+ # resource path
120
+ local_var_path = '/groups'
121
+
122
+ # query parameters
123
+ query_params = opts[:query_params] || {}
124
+
125
+ # header parameters
126
+ header_params = opts[:header_params] || {}
127
+ # HTTP header 'Accept' (if needed)
128
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
129
+ # HTTP header 'Content-Type'
130
+ content_type = @api_client.select_header_content_type(['application/json'])
131
+ if !content_type.nil?
132
+ header_params['Content-Type'] = content_type
133
+ end
134
+
135
+ # form parameters
136
+ form_params = opts[:form_params] || {}
137
+
138
+ # http body (model)
139
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(group_creation)
140
+
141
+ # return_type
142
+ return_type = opts[:debug_return_type] || 'GroupDetails'
143
+
144
+ # auth_names
145
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
146
+
147
+ new_options = opts.merge(
148
+ :operation => :"GroupApi.create_group",
149
+ :header_params => header_params,
150
+ :query_params => query_params,
151
+ :form_params => form_params,
152
+ :body => post_body,
153
+ :auth_names => auth_names,
154
+ :return_type => return_type
155
+ )
156
+
157
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug "API called: GroupApi#create_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
160
+ end
161
+ return data, status_code, headers
162
+ end
163
+
164
+ # Delete a group
165
+ # Delete a group. Only available to teachers of the classroom.
166
+ # @param group [String] Unique identifier of a Flat group
167
+ # @param [Hash] opts the optional parameters
168
+ # @return [nil]
169
+ def delete_group(group, opts = {})
170
+ delete_group_with_http_info(group, opts)
171
+ nil
172
+ end
173
+
174
+ # Delete a group
175
+ # Delete a group. Only available to teachers of the classroom.
176
+ # @param group [String] Unique identifier of a Flat group
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
179
+ def delete_group_with_http_info(group, opts = {})
180
+ if @api_client.config.debugging
181
+ @api_client.config.logger.debug 'Calling API: GroupApi.delete_group ...'
182
+ end
183
+ # verify the required parameter 'group' is set
184
+ if @api_client.config.client_side_validation && group.nil?
185
+ fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.delete_group"
186
+ end
187
+ # resource path
188
+ local_var_path = '/groups/{group}'.sub('{group}', CGI.escape(group.to_s))
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+
193
+ # header parameters
194
+ header_params = opts[:header_params] || {}
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
197
+
198
+ # form parameters
199
+ form_params = opts[:form_params] || {}
200
+
201
+ # http body (model)
202
+ post_body = opts[:debug_body]
203
+
204
+ # return_type
205
+ return_type = opts[:debug_return_type]
206
+
207
+ # auth_names
208
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
209
+
210
+ new_options = opts.merge(
211
+ :operation => :"GroupApi.delete_group",
212
+ :header_params => header_params,
213
+ :query_params => query_params,
214
+ :form_params => form_params,
215
+ :body => post_body,
216
+ :auth_names => auth_names,
217
+ :return_type => return_type
218
+ )
219
+
220
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
221
+ if @api_client.config.debugging
222
+ @api_client.config.logger.debug "API called: GroupApi#delete_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
223
+ end
224
+ return data, status_code, headers
225
+ end
22
226
 
23
227
  # Get group information
24
- #
25
- # @param group Unique identifier of a Flat group
228
+ # @param group [String] Unique identifier of a Flat group
26
229
  # @param [Hash] opts the optional parameters
27
230
  # @return [GroupDetails]
28
231
  def get_group_details(group, opts = {})
29
232
  data, _status_code, _headers = get_group_details_with_http_info(group, opts)
30
- return data
233
+ data
31
234
  end
32
235
 
33
236
  # Get group information
34
- #
35
- # @param group Unique identifier of a Flat group
237
+ # @param group [String] Unique identifier of a Flat group
36
238
  # @param [Hash] opts the optional parameters
37
- # @return [Array<(GroupDetails, Fixnum, Hash)>] GroupDetails data, response status code and response headers
239
+ # @return [Array<(GroupDetails, Integer, Hash)>] GroupDetails data, response status code and response headers
38
240
  def get_group_details_with_http_info(group, opts = {})
39
241
  if @api_client.config.debugging
40
- @api_client.config.logger.debug "Calling API: GroupApi.get_group_details ..."
242
+ @api_client.config.logger.debug 'Calling API: GroupApi.get_group_details ...'
41
243
  end
42
244
  # verify the required parameter 'group' is set
43
245
  if @api_client.config.client_side_validation && group.nil?
44
246
  fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.get_group_details"
45
247
  end
46
248
  # resource path
47
- local_var_path = "/groups/{group}".sub('{' + 'group' + '}', group.to_s)
249
+ local_var_path = '/groups/{group}'.sub('{group}', CGI.escape(group.to_s))
48
250
 
49
251
  # query parameters
50
- query_params = {}
252
+ query_params = opts[:query_params] || {}
51
253
 
52
254
  # header parameters
53
- header_params = {}
255
+ header_params = opts[:header_params] || {}
54
256
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
- # HTTP header 'Content-Type'
57
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
257
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
58
258
 
59
259
  # form parameters
60
- form_params = {}
260
+ form_params = opts[:form_params] || {}
61
261
 
62
262
  # http body (model)
63
- post_body = nil
64
- auth_names = ['OAuth2']
65
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
263
+ post_body = opts[:debug_body]
264
+
265
+ # return_type
266
+ return_type = opts[:debug_return_type] || 'GroupDetails'
267
+
268
+ # auth_names
269
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
270
+
271
+ new_options = opts.merge(
272
+ :operation => :"GroupApi.get_group_details",
66
273
  :header_params => header_params,
67
274
  :query_params => query_params,
68
275
  :form_params => form_params,
69
276
  :body => post_body,
70
277
  :auth_names => auth_names,
71
- :return_type => 'GroupDetails')
278
+ :return_type => return_type
279
+ )
280
+
281
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
72
282
  if @api_client.config.debugging
73
283
  @api_client.config.logger.debug "API called: GroupApi#get_group_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
74
284
  end
@@ -77,56 +287,64 @@ module FlatApi
77
287
 
78
288
  # List group's scores
79
289
  # Get the list of scores shared with a group.
80
- # @param group Unique identifier of a Flat group
290
+ # @param group [String] Unique identifier of a Flat group
81
291
  # @param [Hash] opts the optional parameters
82
292
  # @option opts [String] :parent Filter the score forked from the score id &#x60;parent&#x60;
83
293
  # @return [Array<ScoreDetails>]
84
294
  def get_group_scores(group, opts = {})
85
295
  data, _status_code, _headers = get_group_scores_with_http_info(group, opts)
86
- return data
296
+ data
87
297
  end
88
298
 
89
299
  # List group&#39;s scores
90
300
  # Get the list of scores shared with a group.
91
- # @param group Unique identifier of a Flat group
301
+ # @param group [String] Unique identifier of a Flat group
92
302
  # @param [Hash] opts the optional parameters
93
303
  # @option opts [String] :parent Filter the score forked from the score id &#x60;parent&#x60;
94
- # @return [Array<(Array<ScoreDetails>, Fixnum, Hash)>] Array<ScoreDetails> data, response status code and response headers
304
+ # @return [Array<(Array<ScoreDetails>, Integer, Hash)>] Array<ScoreDetails> data, response status code and response headers
95
305
  def get_group_scores_with_http_info(group, opts = {})
96
306
  if @api_client.config.debugging
97
- @api_client.config.logger.debug "Calling API: GroupApi.get_group_scores ..."
307
+ @api_client.config.logger.debug 'Calling API: GroupApi.get_group_scores ...'
98
308
  end
99
309
  # verify the required parameter 'group' is set
100
310
  if @api_client.config.client_side_validation && group.nil?
101
311
  fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.get_group_scores"
102
312
  end
103
313
  # resource path
104
- local_var_path = "/groups/{group}/scores".sub('{' + 'group' + '}', group.to_s)
314
+ local_var_path = '/groups/{group}/scores'.sub('{group}', CGI.escape(group.to_s))
105
315
 
106
316
  # query parameters
107
- query_params = {}
317
+ query_params = opts[:query_params] || {}
108
318
  query_params[:'parent'] = opts[:'parent'] if !opts[:'parent'].nil?
109
319
 
110
320
  # header parameters
111
- header_params = {}
321
+ header_params = opts[:header_params] || {}
112
322
  # HTTP header 'Accept' (if needed)
113
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
114
- # HTTP header 'Content-Type'
115
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
323
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
116
324
 
117
325
  # form parameters
118
- form_params = {}
326
+ form_params = opts[:form_params] || {}
119
327
 
120
328
  # http body (model)
121
- post_body = nil
122
- auth_names = ['OAuth2']
123
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
329
+ post_body = opts[:debug_body]
330
+
331
+ # return_type
332
+ return_type = opts[:debug_return_type] || 'Array<ScoreDetails>'
333
+
334
+ # auth_names
335
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
336
+
337
+ new_options = opts.merge(
338
+ :operation => :"GroupApi.get_group_scores",
124
339
  :header_params => header_params,
125
340
  :query_params => query_params,
126
341
  :form_params => form_params,
127
342
  :body => post_body,
128
343
  :auth_names => auth_names,
129
- :return_type => 'Array<ScoreDetails>')
344
+ :return_type => return_type
345
+ )
346
+
347
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
130
348
  if @api_client.config.debugging
131
349
  @api_client.config.logger.debug "API called: GroupApi#get_group_scores\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
132
350
  end
@@ -134,58 +352,289 @@ module FlatApi
134
352
  end
135
353
 
136
354
  # List group's users
137
- #
138
- # @param group Unique identifier of a Flat group
355
+ # @param group [String] Unique identifier of a Flat group
139
356
  # @param [Hash] opts the optional parameters
357
+ # @option opts [String] :source Filter the users by their source
140
358
  # @return [Array<UserPublic>]
141
359
  def list_group_users(group, opts = {})
142
360
  data, _status_code, _headers = list_group_users_with_http_info(group, opts)
143
- return data
361
+ data
144
362
  end
145
363
 
146
364
  # List group&#39;s users
147
- #
148
- # @param group Unique identifier of a Flat group
365
+ # @param group [String] Unique identifier of a Flat group
149
366
  # @param [Hash] opts the optional parameters
150
- # @return [Array<(Array<UserPublic>, Fixnum, Hash)>] Array<UserPublic> data, response status code and response headers
367
+ # @option opts [String] :source Filter the users by their source
368
+ # @return [Array<(Array<UserPublic>, Integer, Hash)>] Array<UserPublic> data, response status code and response headers
151
369
  def list_group_users_with_http_info(group, opts = {})
152
370
  if @api_client.config.debugging
153
- @api_client.config.logger.debug "Calling API: GroupApi.list_group_users ..."
371
+ @api_client.config.logger.debug 'Calling API: GroupApi.list_group_users ...'
154
372
  end
155
373
  # verify the required parameter 'group' is set
156
374
  if @api_client.config.client_side_validation && group.nil?
157
375
  fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.list_group_users"
158
376
  end
377
+ allowable_values = ["googleClassroom", "microsoftGraph", "clever"]
378
+ if @api_client.config.client_side_validation && opts[:'source'] && !allowable_values.include?(opts[:'source'])
379
+ fail ArgumentError, "invalid value for \"source\", must be one of #{allowable_values}"
380
+ end
159
381
  # resource path
160
- local_var_path = "/groups/{group}/users".sub('{' + 'group' + '}', group.to_s)
382
+ local_var_path = '/groups/{group}/users'.sub('{group}', CGI.escape(group.to_s))
161
383
 
162
384
  # query parameters
163
- query_params = {}
385
+ query_params = opts[:query_params] || {}
386
+ query_params[:'source'] = opts[:'source'] if !opts[:'source'].nil?
164
387
 
165
388
  # header parameters
166
- header_params = {}
389
+ header_params = opts[:header_params] || {}
167
390
  # HTTP header 'Accept' (if needed)
168
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
169
- # HTTP header 'Content-Type'
170
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
391
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
171
392
 
172
393
  # form parameters
173
- form_params = {}
394
+ form_params = opts[:form_params] || {}
174
395
 
175
396
  # http body (model)
176
- post_body = nil
177
- auth_names = ['OAuth2']
178
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
397
+ post_body = opts[:debug_body]
398
+
399
+ # return_type
400
+ return_type = opts[:debug_return_type] || 'Array<UserPublic>'
401
+
402
+ # auth_names
403
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
404
+
405
+ new_options = opts.merge(
406
+ :operation => :"GroupApi.list_group_users",
179
407
  :header_params => header_params,
180
408
  :query_params => query_params,
181
409
  :form_params => form_params,
182
410
  :body => post_body,
183
411
  :auth_names => auth_names,
184
- :return_type => 'Array<UserPublic>')
412
+ :return_type => return_type
413
+ )
414
+
415
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
185
416
  if @api_client.config.debugging
186
417
  @api_client.config.logger.debug "API called: GroupApi#list_group_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
187
418
  end
188
419
  return data, status_code, headers
189
420
  end
421
+
422
+ # List groups
423
+ # List all groups of a given type, filtered by either a classroom or an assignment.
424
+ # @param type [String]
425
+ # @param [Hash] opts the optional parameters
426
+ # @option opts [String] :classroom Classroom ID to filter by
427
+ # @option opts [String] :assignment Assignment ID to filter by
428
+ # @return [Array<GroupDetails>]
429
+ def list_groups(type, opts = {})
430
+ data, _status_code, _headers = list_groups_with_http_info(type, opts)
431
+ data
432
+ end
433
+
434
+ # List groups
435
+ # List all groups of a given type, filtered by either a classroom or an assignment.
436
+ # @param type [String]
437
+ # @param [Hash] opts the optional parameters
438
+ # @option opts [String] :classroom Classroom ID to filter by
439
+ # @option opts [String] :assignment Assignment ID to filter by
440
+ # @return [Array<(Array<GroupDetails>, Integer, Hash)>] Array<GroupDetails> data, response status code and response headers
441
+ def list_groups_with_http_info(type, opts = {})
442
+ if @api_client.config.debugging
443
+ @api_client.config.logger.debug 'Calling API: GroupApi.list_groups ...'
444
+ end
445
+ # verify the required parameter 'type' is set
446
+ if @api_client.config.client_side_validation && type.nil?
447
+ fail ArgumentError, "Missing the required parameter 'type' when calling GroupApi.list_groups"
448
+ end
449
+ # verify enum value
450
+ allowable_values = ["classStudentsSubGroup", "assignmentStudentsSubGroup"]
451
+ if @api_client.config.client_side_validation && !allowable_values.include?(type)
452
+ fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
453
+ end
454
+ # resource path
455
+ local_var_path = '/groups'
456
+
457
+ # query parameters
458
+ query_params = opts[:query_params] || {}
459
+ query_params[:'type'] = type
460
+ query_params[:'classroom'] = opts[:'classroom'] if !opts[:'classroom'].nil?
461
+ query_params[:'assignment'] = opts[:'assignment'] if !opts[:'assignment'].nil?
462
+
463
+ # header parameters
464
+ header_params = opts[:header_params] || {}
465
+ # HTTP header 'Accept' (if needed)
466
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
467
+
468
+ # form parameters
469
+ form_params = opts[:form_params] || {}
470
+
471
+ # http body (model)
472
+ post_body = opts[:debug_body]
473
+
474
+ # return_type
475
+ return_type = opts[:debug_return_type] || 'Array<GroupDetails>'
476
+
477
+ # auth_names
478
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
479
+
480
+ new_options = opts.merge(
481
+ :operation => :"GroupApi.list_groups",
482
+ :header_params => header_params,
483
+ :query_params => query_params,
484
+ :form_params => form_params,
485
+ :body => post_body,
486
+ :auth_names => auth_names,
487
+ :return_type => return_type
488
+ )
489
+
490
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
491
+ if @api_client.config.debugging
492
+ @api_client.config.logger.debug "API called: GroupApi#list_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
+ end
494
+ return data, status_code, headers
495
+ end
496
+
497
+ # Remove a student from a class group
498
+ # Remove a student from a class group
499
+ # @param group [String] Unique identifier of a Flat group
500
+ # @param user [String] User ID
501
+ # @param [Hash] opts the optional parameters
502
+ # @return [nil]
503
+ def remove_group_user(group, user, opts = {})
504
+ remove_group_user_with_http_info(group, user, opts)
505
+ nil
506
+ end
507
+
508
+ # Remove a student from a class group
509
+ # Remove a student from a class group
510
+ # @param group [String] Unique identifier of a Flat group
511
+ # @param user [String] User ID
512
+ # @param [Hash] opts the optional parameters
513
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
514
+ def remove_group_user_with_http_info(group, user, opts = {})
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug 'Calling API: GroupApi.remove_group_user ...'
517
+ end
518
+ # verify the required parameter 'group' is set
519
+ if @api_client.config.client_side_validation && group.nil?
520
+ fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.remove_group_user"
521
+ end
522
+ # verify the required parameter 'user' is set
523
+ if @api_client.config.client_side_validation && user.nil?
524
+ fail ArgumentError, "Missing the required parameter 'user' when calling GroupApi.remove_group_user"
525
+ end
526
+ # resource path
527
+ local_var_path = '/groups/{group}/users/{user}'.sub('{group}', CGI.escape(group.to_s)).sub('{user}', CGI.escape(user.to_s))
528
+
529
+ # query parameters
530
+ query_params = opts[:query_params] || {}
531
+
532
+ # header parameters
533
+ header_params = opts[:header_params] || {}
534
+ # HTTP header 'Accept' (if needed)
535
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
536
+
537
+ # form parameters
538
+ form_params = opts[:form_params] || {}
539
+
540
+ # http body (model)
541
+ post_body = opts[:debug_body]
542
+
543
+ # return_type
544
+ return_type = opts[:debug_return_type]
545
+
546
+ # auth_names
547
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
548
+
549
+ new_options = opts.merge(
550
+ :operation => :"GroupApi.remove_group_user",
551
+ :header_params => header_params,
552
+ :query_params => query_params,
553
+ :form_params => form_params,
554
+ :body => post_body,
555
+ :auth_names => auth_names,
556
+ :return_type => return_type
557
+ )
558
+
559
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
560
+ if @api_client.config.debugging
561
+ @api_client.config.logger.debug "API called: GroupApi#remove_group_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
562
+ end
563
+ return data, status_code, headers
564
+ end
565
+
566
+ # Rename a group
567
+ # Rename a sub-group. Only available for class student groups.
568
+ # @param group [String] Unique identifier of a Flat group
569
+ # @param rename_group_request [RenameGroupRequest]
570
+ # @param [Hash] opts the optional parameters
571
+ # @return [GroupDetails]
572
+ def rename_group(group, rename_group_request, opts = {})
573
+ data, _status_code, _headers = rename_group_with_http_info(group, rename_group_request, opts)
574
+ data
575
+ end
576
+
577
+ # Rename a group
578
+ # Rename a sub-group. Only available for class student groups.
579
+ # @param group [String] Unique identifier of a Flat group
580
+ # @param rename_group_request [RenameGroupRequest]
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [Array<(GroupDetails, Integer, Hash)>] GroupDetails data, response status code and response headers
583
+ def rename_group_with_http_info(group, rename_group_request, opts = {})
584
+ if @api_client.config.debugging
585
+ @api_client.config.logger.debug 'Calling API: GroupApi.rename_group ...'
586
+ end
587
+ # verify the required parameter 'group' is set
588
+ if @api_client.config.client_side_validation && group.nil?
589
+ fail ArgumentError, "Missing the required parameter 'group' when calling GroupApi.rename_group"
590
+ end
591
+ # verify the required parameter 'rename_group_request' is set
592
+ if @api_client.config.client_side_validation && rename_group_request.nil?
593
+ fail ArgumentError, "Missing the required parameter 'rename_group_request' when calling GroupApi.rename_group"
594
+ end
595
+ # resource path
596
+ local_var_path = '/groups/{group}'.sub('{group}', CGI.escape(group.to_s))
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
605
+ # HTTP header 'Content-Type'
606
+ content_type = @api_client.select_header_content_type(['application/json'])
607
+ if !content_type.nil?
608
+ header_params['Content-Type'] = content_type
609
+ end
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rename_group_request)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'GroupDetails'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['OAuth2']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"GroupApi.rename_group",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: GroupApi#rename_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
190
639
  end
191
640
  end