flat_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile +7 -0
  4. data/README.md +248 -0
  5. data/Rakefile +8 -0
  6. data/docs/AccountApi.md +55 -0
  7. data/docs/Assignment.md +18 -0
  8. data/docs/AssignmentCopy.md +8 -0
  9. data/docs/AssignmentCreation.md +12 -0
  10. data/docs/AssignmentSubmission.md +19 -0
  11. data/docs/AssignmentSubmissionUpdate.md +11 -0
  12. data/docs/ClassApi.md +1051 -0
  13. data/docs/ClassAttachmentCreation.md +10 -0
  14. data/docs/ClassCreation.md +9 -0
  15. data/docs/ClassDetails.md +25 -0
  16. data/docs/ClassDetailsCanvas.md +9 -0
  17. data/docs/ClassDetailsClever.md +14 -0
  18. data/docs/ClassDetailsGoogleClassroom.md +11 -0
  19. data/docs/ClassDetailsGoogleDrive.md +9 -0
  20. data/docs/ClassDetailsLti.md +10 -0
  21. data/docs/ClassRoles.md +7 -0
  22. data/docs/ClassState.md +7 -0
  23. data/docs/ClassUpdate.md +9 -0
  24. data/docs/FlatErrorResponse.md +11 -0
  25. data/docs/FlatLocales.md +7 -0
  26. data/docs/GoogleClassroomCoursework.md +10 -0
  27. data/docs/GoogleClassroomSubmission.md +10 -0
  28. data/docs/Group.md +14 -0
  29. data/docs/GroupApi.md +167 -0
  30. data/docs/GroupDetails.md +14 -0
  31. data/docs/GroupType.md +7 -0
  32. data/docs/LicenseMode.md +7 -0
  33. data/docs/LicenseSources.md +7 -0
  34. data/docs/LmsName.md +7 -0
  35. data/docs/LtiCredentials.md +16 -0
  36. data/docs/LtiCredentialsCreation.md +9 -0
  37. data/docs/MediaAttachment.md +23 -0
  38. data/docs/MediaScoreSharingMode.md +7 -0
  39. data/docs/OrganizationApi.md +538 -0
  40. data/docs/OrganizationInvitation.md +14 -0
  41. data/docs/OrganizationInvitationCreation.md +9 -0
  42. data/docs/OrganizationRoles.md +7 -0
  43. data/docs/ScoreApi.md +1605 -0
  44. data/docs/ScoreCollaborator.md +15 -0
  45. data/docs/ScoreCollaboratorCreation.md +13 -0
  46. data/docs/ScoreComment.md +22 -0
  47. data/docs/ScoreCommentContext.md +14 -0
  48. data/docs/ScoreCommentCreation.md +13 -0
  49. data/docs/ScoreCommentUpdate.md +11 -0
  50. data/docs/ScoreCommentsCounts.md +11 -0
  51. data/docs/ScoreCreation.md +13 -0
  52. data/docs/ScoreCreationType.md +7 -0
  53. data/docs/ScoreData.md +7 -0
  54. data/docs/ScoreDataEncoding.md +7 -0
  55. data/docs/ScoreDetails.md +36 -0
  56. data/docs/ScoreFork.md +7 -0
  57. data/docs/ScoreLicense.md +7 -0
  58. data/docs/ScoreLikesCounts.md +10 -0
  59. data/docs/ScoreModification.md +13 -0
  60. data/docs/ScorePrivacy.md +7 -0
  61. data/docs/ScoreRevision.md +14 -0
  62. data/docs/ScoreRevisionCreation.md +11 -0
  63. data/docs/ScoreRevisionStatistics.md +9 -0
  64. data/docs/ScoreRights.md +9 -0
  65. data/docs/ScoreSource.md +8 -0
  66. data/docs/ScoreSummary.md +13 -0
  67. data/docs/ScoreTrack.md +19 -0
  68. data/docs/ScoreTrackCreation.md +12 -0
  69. data/docs/ScoreTrackPoint.md +10 -0
  70. data/docs/ScoreTrackState.md +7 -0
  71. data/docs/ScoreTrackType.md +7 -0
  72. data/docs/ScoreTrackUpdate.md +11 -0
  73. data/docs/ScoreViewsCounts.md +10 -0
  74. data/docs/UserAdminUpdate.md +9 -0
  75. data/docs/UserApi.md +173 -0
  76. data/docs/UserBasics.md +13 -0
  77. data/docs/UserCreation.md +11 -0
  78. data/docs/UserDetails.md +28 -0
  79. data/docs/UserDetailsAdmin.md +20 -0
  80. data/docs/UserDetailsAdminLicense.md +12 -0
  81. data/docs/UserInstruments.md +7 -0
  82. data/docs/UserPublic.md +25 -0
  83. data/docs/UserPublicSummary.md +17 -0
  84. data/flat_api.gemspec +48 -0
  85. data/git_push.sh +55 -0
  86. data/lib/flat_api.rb +117 -0
  87. data/lib/flat_api/api/account_api.rb +72 -0
  88. data/lib/flat_api/api/class_api.rb +1148 -0
  89. data/lib/flat_api/api/group_api.rb +191 -0
  90. data/lib/flat_api/api/organization_api.rb +599 -0
  91. data/lib/flat_api/api/score_api.rb +1737 -0
  92. data/lib/flat_api/api/user_api.rb +194 -0
  93. data/lib/flat_api/api_client.rb +389 -0
  94. data/lib/flat_api/api_error.rb +38 -0
  95. data/lib/flat_api/configuration.rb +209 -0
  96. data/lib/flat_api/models/assignment.rb +323 -0
  97. data/lib/flat_api/models/assignment_copy.rb +194 -0
  98. data/lib/flat_api/models/assignment_creation.rb +230 -0
  99. data/lib/flat_api/models/assignment_submission.rb +299 -0
  100. data/lib/flat_api/models/assignment_submission_update.rb +220 -0
  101. data/lib/flat_api/models/class_attachment_creation.rb +242 -0
  102. data/lib/flat_api/models/class_creation.rb +239 -0
  103. data/lib/flat_api/models/class_details.rb +351 -0
  104. data/lib/flat_api/models/class_details_canvas.rb +199 -0
  105. data/lib/flat_api/models/class_details_clever.rb +282 -0
  106. data/lib/flat_api/models/class_details_google_classroom.rb +219 -0
  107. data/lib/flat_api/models/class_details_google_drive.rb +199 -0
  108. data/lib/flat_api/models/class_details_lti.rb +209 -0
  109. data/lib/flat_api/models/class_roles.rb +22 -0
  110. data/lib/flat_api/models/class_state.rb +23 -0
  111. data/lib/flat_api/models/class_update.rb +231 -0
  112. data/lib/flat_api/models/flat_error_response.rb +219 -0
  113. data/lib/flat_api/models/flat_locales.rb +27 -0
  114. data/lib/flat_api/models/google_classroom_coursework.rb +209 -0
  115. data/lib/flat_api/models/google_classroom_submission.rb +209 -0
  116. data/lib/flat_api/models/group.rb +282 -0
  117. data/lib/flat_api/models/group_details.rb +248 -0
  118. data/lib/flat_api/models/group_type.rb +23 -0
  119. data/lib/flat_api/models/license_mode.rb +22 -0
  120. data/lib/flat_api/models/license_sources.rb +25 -0
  121. data/lib/flat_api/models/lms_name.rb +27 -0
  122. data/lib/flat_api/models/lti_credentials.rb +268 -0
  123. data/lib/flat_api/models/lti_credentials_creation.rb +227 -0
  124. data/lib/flat_api/models/media_attachment.rb +371 -0
  125. data/lib/flat_api/models/media_score_sharing_mode.rb +23 -0
  126. data/lib/flat_api/models/organization_invitation.rb +248 -0
  127. data/lib/flat_api/models/organization_invitation_creation.rb +198 -0
  128. data/lib/flat_api/models/organization_roles.rb +24 -0
  129. data/lib/flat_api/models/score_collaborator.rb +263 -0
  130. data/lib/flat_api/models/score_collaborator_creation.rb +245 -0
  131. data/lib/flat_api/models/score_comment.rb +363 -0
  132. data/lib/flat_api/models/score_comment_context.rb +282 -0
  133. data/lib/flat_api/models/score_comment_creation.rb +245 -0
  134. data/lib/flat_api/models/score_comment_update.rb +268 -0
  135. data/lib/flat_api/models/score_comments_counts.rb +219 -0
  136. data/lib/flat_api/models/score_creation.rb +240 -0
  137. data/lib/flat_api/models/score_creation_type.rb +23 -0
  138. data/lib/flat_api/models/score_data.rb +179 -0
  139. data/lib/flat_api/models/score_data_encoding.rb +21 -0
  140. data/lib/flat_api/models/score_details.rb +467 -0
  141. data/lib/flat_api/models/score_fork.rb +179 -0
  142. data/lib/flat_api/models/score_license.rb +28 -0
  143. data/lib/flat_api/models/score_likes_counts.rb +209 -0
  144. data/lib/flat_api/models/score_modification.rb +270 -0
  145. data/lib/flat_api/models/score_privacy.rb +24 -0
  146. data/lib/flat_api/models/score_revision.rb +249 -0
  147. data/lib/flat_api/models/score_revision_creation.rb +222 -0
  148. data/lib/flat_api/models/score_revision_statistics.rb +199 -0
  149. data/lib/flat_api/models/score_rights.rb +203 -0
  150. data/lib/flat_api/models/score_source.rb +189 -0
  151. data/lib/flat_api/models/score_summary.rb +237 -0
  152. data/lib/flat_api/models/score_track.rb +298 -0
  153. data/lib/flat_api/models/score_track_creation.rb +229 -0
  154. data/lib/flat_api/models/score_track_point.rb +252 -0
  155. data/lib/flat_api/models/score_track_state.rb +23 -0
  156. data/lib/flat_api/models/score_track_type.rb +24 -0
  157. data/lib/flat_api/models/score_track_update.rb +219 -0
  158. data/lib/flat_api/models/score_views_counts.rb +209 -0
  159. data/lib/flat_api/models/user_admin_update.rb +214 -0
  160. data/lib/flat_api/models/user_basics.rb +239 -0
  161. data/lib/flat_api/models/user_creation.rb +266 -0
  162. data/lib/flat_api/models/user_details.rb +418 -0
  163. data/lib/flat_api/models/user_details_admin.rb +306 -0
  164. data/lib/flat_api/models/user_details_admin_license.rb +227 -0
  165. data/lib/flat_api/models/user_instruments.rb +179 -0
  166. data/lib/flat_api/models/user_public.rb +356 -0
  167. data/lib/flat_api/models/user_public_summary.rb +277 -0
  168. data/lib/flat_api/version.rb +15 -0
  169. data/lib/swagger_client.rb +117 -0
  170. data/lib/swagger_client/api/account_api.rb +72 -0
  171. data/lib/swagger_client/api/class_api.rb +1148 -0
  172. data/lib/swagger_client/api/group_api.rb +191 -0
  173. data/lib/swagger_client/api/organization_api.rb +599 -0
  174. data/lib/swagger_client/api/score_api.rb +1737 -0
  175. data/lib/swagger_client/api/user_api.rb +194 -0
  176. data/lib/swagger_client/api_client.rb +389 -0
  177. data/lib/swagger_client/api_error.rb +38 -0
  178. data/lib/swagger_client/configuration.rb +209 -0
  179. data/lib/swagger_client/models/assignment.rb +323 -0
  180. data/lib/swagger_client/models/assignment_copy.rb +194 -0
  181. data/lib/swagger_client/models/assignment_creation.rb +230 -0
  182. data/lib/swagger_client/models/assignment_submission.rb +299 -0
  183. data/lib/swagger_client/models/assignment_submission_update.rb +220 -0
  184. data/lib/swagger_client/models/class_attachment_creation.rb +242 -0
  185. data/lib/swagger_client/models/class_creation.rb +239 -0
  186. data/lib/swagger_client/models/class_details.rb +351 -0
  187. data/lib/swagger_client/models/class_details_canvas.rb +199 -0
  188. data/lib/swagger_client/models/class_details_clever.rb +282 -0
  189. data/lib/swagger_client/models/class_details_google_classroom.rb +219 -0
  190. data/lib/swagger_client/models/class_details_google_drive.rb +199 -0
  191. data/lib/swagger_client/models/class_details_lti.rb +209 -0
  192. data/lib/swagger_client/models/class_roles.rb +22 -0
  193. data/lib/swagger_client/models/class_state.rb +23 -0
  194. data/lib/swagger_client/models/class_update.rb +231 -0
  195. data/lib/swagger_client/models/flat_error_response.rb +219 -0
  196. data/lib/swagger_client/models/flat_locales.rb +27 -0
  197. data/lib/swagger_client/models/google_classroom_coursework.rb +209 -0
  198. data/lib/swagger_client/models/google_classroom_submission.rb +209 -0
  199. data/lib/swagger_client/models/group.rb +282 -0
  200. data/lib/swagger_client/models/group_details.rb +248 -0
  201. data/lib/swagger_client/models/group_type.rb +23 -0
  202. data/lib/swagger_client/models/license_mode.rb +22 -0
  203. data/lib/swagger_client/models/license_sources.rb +25 -0
  204. data/lib/swagger_client/models/lms_name.rb +27 -0
  205. data/lib/swagger_client/models/lti_credentials.rb +268 -0
  206. data/lib/swagger_client/models/lti_credentials_creation.rb +227 -0
  207. data/lib/swagger_client/models/media_attachment.rb +371 -0
  208. data/lib/swagger_client/models/media_score_sharing_mode.rb +23 -0
  209. data/lib/swagger_client/models/organization_invitation.rb +248 -0
  210. data/lib/swagger_client/models/organization_invitation_creation.rb +198 -0
  211. data/lib/swagger_client/models/organization_roles.rb +24 -0
  212. data/lib/swagger_client/models/score_collaborator.rb +263 -0
  213. data/lib/swagger_client/models/score_collaborator_creation.rb +245 -0
  214. data/lib/swagger_client/models/score_comment.rb +363 -0
  215. data/lib/swagger_client/models/score_comment_context.rb +282 -0
  216. data/lib/swagger_client/models/score_comment_creation.rb +245 -0
  217. data/lib/swagger_client/models/score_comment_update.rb +268 -0
  218. data/lib/swagger_client/models/score_comments_counts.rb +219 -0
  219. data/lib/swagger_client/models/score_creation.rb +240 -0
  220. data/lib/swagger_client/models/score_creation_type.rb +23 -0
  221. data/lib/swagger_client/models/score_data.rb +179 -0
  222. data/lib/swagger_client/models/score_data_encoding.rb +21 -0
  223. data/lib/swagger_client/models/score_details.rb +467 -0
  224. data/lib/swagger_client/models/score_fork.rb +179 -0
  225. data/lib/swagger_client/models/score_license.rb +28 -0
  226. data/lib/swagger_client/models/score_likes_counts.rb +209 -0
  227. data/lib/swagger_client/models/score_modification.rb +270 -0
  228. data/lib/swagger_client/models/score_privacy.rb +24 -0
  229. data/lib/swagger_client/models/score_revision.rb +249 -0
  230. data/lib/swagger_client/models/score_revision_creation.rb +222 -0
  231. data/lib/swagger_client/models/score_revision_statistics.rb +199 -0
  232. data/lib/swagger_client/models/score_rights.rb +203 -0
  233. data/lib/swagger_client/models/score_source.rb +189 -0
  234. data/lib/swagger_client/models/score_summary.rb +237 -0
  235. data/lib/swagger_client/models/score_track.rb +298 -0
  236. data/lib/swagger_client/models/score_track_creation.rb +229 -0
  237. data/lib/swagger_client/models/score_track_point.rb +252 -0
  238. data/lib/swagger_client/models/score_track_state.rb +23 -0
  239. data/lib/swagger_client/models/score_track_type.rb +24 -0
  240. data/lib/swagger_client/models/score_track_update.rb +219 -0
  241. data/lib/swagger_client/models/score_views_counts.rb +209 -0
  242. data/lib/swagger_client/models/user_admin_update.rb +214 -0
  243. data/lib/swagger_client/models/user_basics.rb +239 -0
  244. data/lib/swagger_client/models/user_creation.rb +266 -0
  245. data/lib/swagger_client/models/user_details.rb +418 -0
  246. data/lib/swagger_client/models/user_details_admin.rb +306 -0
  247. data/lib/swagger_client/models/user_details_admin_license.rb +227 -0
  248. data/lib/swagger_client/models/user_instruments.rb +179 -0
  249. data/lib/swagger_client/models/user_public.rb +356 -0
  250. data/lib/swagger_client/models/user_public_summary.rb +277 -0
  251. data/lib/swagger_client/version.rb +15 -0
  252. data/spec/api/account_api_spec.rb +46 -0
  253. data/spec/api/class_api_spec.rb +278 -0
  254. data/spec/api/group_api_spec.rb +72 -0
  255. data/spec/api/organization_api_spec.rb +162 -0
  256. data/spec/api/score_api_spec.rb +411 -0
  257. data/spec/api/user_api_spec.rb +73 -0
  258. data/spec/api_client_spec.rb +226 -0
  259. data/spec/configuration_spec.rb +42 -0
  260. data/spec/models/assignment_copy_spec.rb +42 -0
  261. data/spec/models/assignment_creation_spec.rb +66 -0
  262. data/spec/models/assignment_spec.rb +106 -0
  263. data/spec/models/assignment_submission_spec.rb +108 -0
  264. data/spec/models/assignment_submission_update_spec.rb +60 -0
  265. data/spec/models/class_attachment_creation_spec.rb +58 -0
  266. data/spec/models/class_creation_spec.rb +48 -0
  267. data/spec/models/class_details_canvas_spec.rb +48 -0
  268. data/spec/models/class_details_clever_spec.rb +82 -0
  269. data/spec/models/class_details_google_classroom_spec.rb +60 -0
  270. data/spec/models/class_details_google_drive_spec.rb +48 -0
  271. data/spec/models/class_details_lti_spec.rb +54 -0
  272. data/spec/models/class_details_spec.rb +144 -0
  273. data/spec/models/class_roles_spec.rb +36 -0
  274. data/spec/models/class_state_spec.rb +36 -0
  275. data/spec/models/class_update_spec.rb +48 -0
  276. data/spec/models/flat_error_response_spec.rb +60 -0
  277. data/spec/models/flat_locales_spec.rb +36 -0
  278. data/spec/models/google_classroom_coursework_spec.rb +54 -0
  279. data/spec/models/google_classroom_submission_spec.rb +54 -0
  280. data/spec/models/group_details_spec.rb +78 -0
  281. data/spec/models/group_spec.rb +82 -0
  282. data/spec/models/group_type_spec.rb +36 -0
  283. data/spec/models/license_mode_spec.rb +36 -0
  284. data/spec/models/license_sources_spec.rb +36 -0
  285. data/spec/models/lms_name_spec.rb +36 -0
  286. data/spec/models/lti_credentials_creation_spec.rb +48 -0
  287. data/spec/models/lti_credentials_spec.rb +90 -0
  288. data/spec/models/media_attachment_spec.rb +136 -0
  289. data/spec/models/media_score_sharing_mode_spec.rb +36 -0
  290. data/spec/models/organization_invitation_creation_spec.rb +48 -0
  291. data/spec/models/organization_invitation_spec.rb +78 -0
  292. data/spec/models/organization_roles_spec.rb +36 -0
  293. data/spec/models/score_collaborator_creation_spec.rb +72 -0
  294. data/spec/models/score_collaborator_spec.rb +84 -0
  295. data/spec/models/score_comment_context_spec.rb +78 -0
  296. data/spec/models/score_comment_creation_spec.rb +72 -0
  297. data/spec/models/score_comment_spec.rb +130 -0
  298. data/spec/models/score_comment_update_spec.rb +60 -0
  299. data/spec/models/score_comments_counts_spec.rb +60 -0
  300. data/spec/models/score_creation_spec.rb +72 -0
  301. data/spec/models/score_creation_type_spec.rb +36 -0
  302. data/spec/models/score_data_encoding_spec.rb +36 -0
  303. data/spec/models/score_data_spec.rb +36 -0
  304. data/spec/models/score_details_spec.rb +210 -0
  305. data/spec/models/score_fork_spec.rb +36 -0
  306. data/spec/models/score_license_spec.rb +36 -0
  307. data/spec/models/score_likes_counts_spec.rb +54 -0
  308. data/spec/models/score_modification_spec.rb +72 -0
  309. data/spec/models/score_privacy_spec.rb +36 -0
  310. data/spec/models/score_revision_creation_spec.rb +60 -0
  311. data/spec/models/score_revision_spec.rb +78 -0
  312. data/spec/models/score_revision_statistics_spec.rb +48 -0
  313. data/spec/models/score_rights_spec.rb +48 -0
  314. data/spec/models/score_source_spec.rb +42 -0
  315. data/spec/models/score_summary_spec.rb +72 -0
  316. data/spec/models/score_track_creation_spec.rb +66 -0
  317. data/spec/models/score_track_point_spec.rb +58 -0
  318. data/spec/models/score_track_spec.rb +108 -0
  319. data/spec/models/score_track_state_spec.rb +36 -0
  320. data/spec/models/score_track_type_spec.rb +36 -0
  321. data/spec/models/score_track_update_spec.rb +60 -0
  322. data/spec/models/score_views_counts_spec.rb +54 -0
  323. data/spec/models/user_admin_update_spec.rb +48 -0
  324. data/spec/models/user_basics_spec.rb +72 -0
  325. data/spec/models/user_creation_spec.rb +60 -0
  326. data/spec/models/user_details_admin_license_spec.rb +66 -0
  327. data/spec/models/user_details_admin_spec.rb +114 -0
  328. data/spec/models/user_details_spec.rb +166 -0
  329. data/spec/models/user_instruments_spec.rb +36 -0
  330. data/spec/models/user_public_spec.rb +144 -0
  331. data/spec/models/user_public_summary_spec.rb +96 -0
  332. data/spec/spec_helper.rb +111 -0
  333. metadata +640 -0
@@ -0,0 +1,227 @@
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 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)
5
+
6
+ OpenAPI spec version: 2.5.0
7
+ Contact: developers@flat.io
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SwaggerClient
16
+ # Creation of a couple of LTI 1.x OAuth credentials
17
+ class LtiCredentialsCreation
18
+ # Name of the couple of credentials
19
+ attr_accessor :name
20
+
21
+ attr_accessor :lms
22
+
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'name' => :'name',
28
+ :'lms' => :'lms'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'name' => :'String',
36
+ :'lms' => :'LmsName'
37
+ }
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
47
+
48
+ if attributes.has_key?(:'name')
49
+ self.name = attributes[:'name']
50
+ end
51
+
52
+ if attributes.has_key?(:'lms')
53
+ self.lms = attributes[:'lms']
54
+ end
55
+
56
+ end
57
+
58
+ # Show invalid properties with the reasons. Usually used together with valid?
59
+ # @return Array for valid properies with the reasons
60
+ def list_invalid_properties
61
+ invalid_properties = Array.new
62
+ if @name.nil?
63
+ invalid_properties.push("invalid value for 'name', name cannot be nil.")
64
+ end
65
+
66
+ if @name.to_s.length > 300
67
+ invalid_properties.push("invalid value for 'name', the character length must be smaller than or equal to 300.")
68
+ end
69
+
70
+ if @lms.nil?
71
+ invalid_properties.push("invalid value for 'lms', lms cannot be nil.")
72
+ end
73
+
74
+ return invalid_properties
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ def valid?
80
+ return false if @name.nil?
81
+ return false if @name.to_s.length > 300
82
+ return false if @lms.nil?
83
+ return true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param [Object] name Value to be assigned
88
+ def name=(name)
89
+ if name.nil?
90
+ fail ArgumentError, "name cannot be nil"
91
+ end
92
+
93
+ if name.to_s.length > 300
94
+ fail ArgumentError, "invalid value for 'name', the character length must be smaller than or equal to 300."
95
+ end
96
+
97
+ @name = name
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ name == o.name &&
106
+ lms == o.lms
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Fixnum] Hash code
117
+ def hash
118
+ [name, lms].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ self.class.swagger_types.each_pair do |key, type|
127
+ if type =~ /\AArray<(.*)>/i
128
+ # check to ensure the input is an array given that the the attribute
129
+ # is documented as an array but the input is not
130
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
131
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
132
+ end
133
+ elsif !attributes[self.class.attribute_map[key]].nil?
134
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
135
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
136
+ end
137
+
138
+ self
139
+ end
140
+
141
+ # Deserializes the data based on type
142
+ # @param string type Data type
143
+ # @param string value Value to be deserialized
144
+ # @return [Object] Deserialized data
145
+ def _deserialize(type, value)
146
+ case type.to_sym
147
+ when :DateTime
148
+ DateTime.parse(value)
149
+ when :Date
150
+ Date.parse(value)
151
+ when :String
152
+ value.to_s
153
+ when :Integer
154
+ value.to_i
155
+ when :Float
156
+ value.to_f
157
+ when :BOOLEAN
158
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
+ true
160
+ else
161
+ false
162
+ end
163
+ when :Object
164
+ # generic object (usually a Hash), return directly
165
+ value
166
+ when /\AArray<(?<inner_type>.+)>\z/
167
+ inner_type = Regexp.last_match[:inner_type]
168
+ value.map { |v| _deserialize(inner_type, v) }
169
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
170
+ k_type = Regexp.last_match[:k_type]
171
+ v_type = Regexp.last_match[:v_type]
172
+ {}.tap do |hash|
173
+ value.each do |k, v|
174
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
175
+ end
176
+ end
177
+ else # model
178
+ temp_model = SwaggerClient.const_get(type).new
179
+ temp_model.build_from_hash(value)
180
+ end
181
+ end
182
+
183
+ # Returns the string representation of the object
184
+ # @return [String] String presentation of the object
185
+ def to_s
186
+ to_hash.to_s
187
+ end
188
+
189
+ # to_body is an alias to to_hash (backward compatibility)
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_body
192
+ to_hash
193
+ end
194
+
195
+ # Returns the object in the form of hash
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_hash
198
+ hash = {}
199
+ self.class.attribute_map.each_pair do |attr, param|
200
+ value = self.send(attr)
201
+ next if value.nil?
202
+ hash[param] = _to_hash(value)
203
+ end
204
+ hash
205
+ end
206
+
207
+ # Outputs non-array value in the form of hash
208
+ # For object, use to_hash. Otherwise, just return the value
209
+ # @param [Object] value Any valid value
210
+ # @return [Hash] Returns the value in the form of hash
211
+ def _to_hash(value)
212
+ if value.is_a?(Array)
213
+ value.compact.map{ |v| _to_hash(v) }
214
+ elsif value.is_a?(Hash)
215
+ {}.tap do |hash|
216
+ value.each { |k, v| hash[k] = _to_hash(v) }
217
+ end
218
+ elsif value.respond_to? :to_hash
219
+ value.to_hash
220
+ else
221
+ value
222
+ end
223
+ end
224
+
225
+ end
226
+
227
+ end
@@ -0,0 +1,371 @@
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 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)
5
+
6
+ OpenAPI spec version: 2.5.0
7
+ Contact: developers@flat.io
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SwaggerClient
16
+ # Media attachment. The API will automatically resolve the details, oEmbed, and media available if possible and return them in this object
17
+ class MediaAttachment
18
+ # The type of the assignment resolved: * `rich`, `photo`, `video` are attachment types that are automatically resolved from a `link` attachment. * A `flat` attachment is a score document where the unique identifier will be specified in the `score` property. Its sharing mode will be provided in the `sharingMode` property.
19
+ attr_accessor :type
20
+
21
+ # An unique Flat score identifier
22
+ attr_accessor :score
23
+
24
+ # An unique revision identifier of a score
25
+ attr_accessor :revision
26
+
27
+ # If the attachment is an exercise question, this state will describe if it is correct or not.For exercise assignments only.
28
+ attr_accessor :correct
29
+
30
+ attr_accessor :sharing_mode
31
+
32
+ # The resolved title of the attachment
33
+ attr_accessor :title
34
+
35
+ # The resolved description of the attachment
36
+ attr_accessor :description
37
+
38
+ # If the attachment type is `rich` or `video`, the HTML code of the media to display
39
+ attr_accessor :html
40
+
41
+ # If the `html` is available, the width of the widget
42
+ attr_accessor :html_width
43
+
44
+ # If the `html` is available, the height of the widget
45
+ attr_accessor :html_height
46
+
47
+ # The url of the attachment
48
+ attr_accessor :url
49
+
50
+ # If the attachment type is `rich`, `video`, `photo` or `link`, a displayable thumbnail for this attachment
51
+ attr_accessor :thumbnail_url
52
+
53
+ # If the `thumbnailUrl` is available, the width of the thumbnail
54
+ attr_accessor :thumbnail_width
55
+
56
+ # If the `thumbnailUrl` is available, the width of the thumbnail
57
+ attr_accessor :thumbnail_height
58
+
59
+ # The resolved author name of the attachment
60
+ attr_accessor :author_name
61
+
62
+ # The resolved author url of the attachment
63
+ attr_accessor :author_url
64
+
65
+ class EnumAttributeValidator
66
+ attr_reader :datatype
67
+ attr_reader :allowable_values
68
+
69
+ def initialize(datatype, allowable_values)
70
+ @allowable_values = allowable_values.map do |value|
71
+ case datatype.to_s
72
+ when /Integer/i
73
+ value.to_i
74
+ when /Float/i
75
+ value.to_f
76
+ else
77
+ value
78
+ end
79
+ end
80
+ end
81
+
82
+ def valid?(value)
83
+ !value || allowable_values.include?(value)
84
+ end
85
+ end
86
+
87
+ # Attribute mapping from ruby-style variable name to JSON key.
88
+ def self.attribute_map
89
+ {
90
+ :'type' => :'type',
91
+ :'score' => :'score',
92
+ :'revision' => :'revision',
93
+ :'correct' => :'correct',
94
+ :'sharing_mode' => :'sharingMode',
95
+ :'title' => :'title',
96
+ :'description' => :'description',
97
+ :'html' => :'html',
98
+ :'html_width' => :'htmlWidth',
99
+ :'html_height' => :'htmlHeight',
100
+ :'url' => :'url',
101
+ :'thumbnail_url' => :'thumbnailUrl',
102
+ :'thumbnail_width' => :'thumbnailWidth',
103
+ :'thumbnail_height' => :'thumbnailHeight',
104
+ :'author_name' => :'authorName',
105
+ :'author_url' => :'authorUrl'
106
+ }
107
+ end
108
+
109
+ # Attribute type mapping.
110
+ def self.swagger_types
111
+ {
112
+ :'type' => :'String',
113
+ :'score' => :'String',
114
+ :'revision' => :'String',
115
+ :'correct' => :'BOOLEAN',
116
+ :'sharing_mode' => :'MediaScoreSharingMode',
117
+ :'title' => :'String',
118
+ :'description' => :'String',
119
+ :'html' => :'String',
120
+ :'html_width' => :'String',
121
+ :'html_height' => :'String',
122
+ :'url' => :'String',
123
+ :'thumbnail_url' => :'String',
124
+ :'thumbnail_width' => :'String',
125
+ :'thumbnail_height' => :'String',
126
+ :'author_name' => :'String',
127
+ :'author_url' => :'String'
128
+ }
129
+ end
130
+
131
+ # Initializes the object
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ def initialize(attributes = {})
134
+ return unless attributes.is_a?(Hash)
135
+
136
+ # convert string to symbol for hash key
137
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
138
+
139
+ if attributes.has_key?(:'type')
140
+ self.type = attributes[:'type']
141
+ end
142
+
143
+ if attributes.has_key?(:'score')
144
+ self.score = attributes[:'score']
145
+ end
146
+
147
+ if attributes.has_key?(:'revision')
148
+ self.revision = attributes[:'revision']
149
+ end
150
+
151
+ if attributes.has_key?(:'correct')
152
+ self.correct = attributes[:'correct']
153
+ end
154
+
155
+ if attributes.has_key?(:'sharingMode')
156
+ self.sharing_mode = attributes[:'sharingMode']
157
+ end
158
+
159
+ if attributes.has_key?(:'title')
160
+ self.title = attributes[:'title']
161
+ end
162
+
163
+ if attributes.has_key?(:'description')
164
+ self.description = attributes[:'description']
165
+ end
166
+
167
+ if attributes.has_key?(:'html')
168
+ self.html = attributes[:'html']
169
+ end
170
+
171
+ if attributes.has_key?(:'htmlWidth')
172
+ self.html_width = attributes[:'htmlWidth']
173
+ end
174
+
175
+ if attributes.has_key?(:'htmlHeight')
176
+ self.html_height = attributes[:'htmlHeight']
177
+ end
178
+
179
+ if attributes.has_key?(:'url')
180
+ self.url = attributes[:'url']
181
+ end
182
+
183
+ if attributes.has_key?(:'thumbnailUrl')
184
+ self.thumbnail_url = attributes[:'thumbnailUrl']
185
+ end
186
+
187
+ if attributes.has_key?(:'thumbnailWidth')
188
+ self.thumbnail_width = attributes[:'thumbnailWidth']
189
+ end
190
+
191
+ if attributes.has_key?(:'thumbnailHeight')
192
+ self.thumbnail_height = attributes[:'thumbnailHeight']
193
+ end
194
+
195
+ if attributes.has_key?(:'authorName')
196
+ self.author_name = attributes[:'authorName']
197
+ end
198
+
199
+ if attributes.has_key?(:'authorUrl')
200
+ self.author_url = attributes[:'authorUrl']
201
+ end
202
+
203
+ end
204
+
205
+ # Show invalid properties with the reasons. Usually used together with valid?
206
+ # @return Array for valid properies with the reasons
207
+ def list_invalid_properties
208
+ invalid_properties = Array.new
209
+ return invalid_properties
210
+ end
211
+
212
+ # Check to see if the all the properties in the model are valid
213
+ # @return true if the model is valid
214
+ def valid?
215
+ type_validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "exercise"])
216
+ return false unless type_validator.valid?(@type)
217
+ return true
218
+ end
219
+
220
+ # Custom attribute writer method checking allowed values (enum).
221
+ # @param [Object] type Object to be assigned
222
+ def type=(type)
223
+ validator = EnumAttributeValidator.new('String', ["rich", "photo", "video", "link", "flat", "exercise"])
224
+ unless validator.valid?(type)
225
+ fail ArgumentError, "invalid value for 'type', must be one of #{validator.allowable_values}."
226
+ end
227
+ @type = type
228
+ end
229
+
230
+ # Checks equality by comparing each attribute.
231
+ # @param [Object] Object to be compared
232
+ def ==(o)
233
+ return true if self.equal?(o)
234
+ self.class == o.class &&
235
+ type == o.type &&
236
+ score == o.score &&
237
+ revision == o.revision &&
238
+ correct == o.correct &&
239
+ sharing_mode == o.sharing_mode &&
240
+ title == o.title &&
241
+ description == o.description &&
242
+ html == o.html &&
243
+ html_width == o.html_width &&
244
+ html_height == o.html_height &&
245
+ url == o.url &&
246
+ thumbnail_url == o.thumbnail_url &&
247
+ thumbnail_width == o.thumbnail_width &&
248
+ thumbnail_height == o.thumbnail_height &&
249
+ author_name == o.author_name &&
250
+ author_url == o.author_url
251
+ end
252
+
253
+ # @see the `==` method
254
+ # @param [Object] Object to be compared
255
+ def eql?(o)
256
+ self == o
257
+ end
258
+
259
+ # Calculates hash code according to all attributes.
260
+ # @return [Fixnum] Hash code
261
+ def hash
262
+ [type, score, revision, correct, sharing_mode, title, description, html, html_width, html_height, url, thumbnail_url, thumbnail_width, thumbnail_height, author_name, author_url].hash
263
+ end
264
+
265
+ # Builds the object from hash
266
+ # @param [Hash] attributes Model attributes in the form of hash
267
+ # @return [Object] Returns the model itself
268
+ def build_from_hash(attributes)
269
+ return nil unless attributes.is_a?(Hash)
270
+ self.class.swagger_types.each_pair do |key, type|
271
+ if type =~ /\AArray<(.*)>/i
272
+ # check to ensure the input is an array given that the the attribute
273
+ # is documented as an array but the input is not
274
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
275
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
276
+ end
277
+ elsif !attributes[self.class.attribute_map[key]].nil?
278
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
279
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
280
+ end
281
+
282
+ self
283
+ end
284
+
285
+ # Deserializes the data based on type
286
+ # @param string type Data type
287
+ # @param string value Value to be deserialized
288
+ # @return [Object] Deserialized data
289
+ def _deserialize(type, value)
290
+ case type.to_sym
291
+ when :DateTime
292
+ DateTime.parse(value)
293
+ when :Date
294
+ Date.parse(value)
295
+ when :String
296
+ value.to_s
297
+ when :Integer
298
+ value.to_i
299
+ when :Float
300
+ value.to_f
301
+ when :BOOLEAN
302
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
303
+ true
304
+ else
305
+ false
306
+ end
307
+ when :Object
308
+ # generic object (usually a Hash), return directly
309
+ value
310
+ when /\AArray<(?<inner_type>.+)>\z/
311
+ inner_type = Regexp.last_match[:inner_type]
312
+ value.map { |v| _deserialize(inner_type, v) }
313
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
314
+ k_type = Regexp.last_match[:k_type]
315
+ v_type = Regexp.last_match[:v_type]
316
+ {}.tap do |hash|
317
+ value.each do |k, v|
318
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
319
+ end
320
+ end
321
+ else # model
322
+ temp_model = SwaggerClient.const_get(type).new
323
+ temp_model.build_from_hash(value)
324
+ end
325
+ end
326
+
327
+ # Returns the string representation of the object
328
+ # @return [String] String presentation of the object
329
+ def to_s
330
+ to_hash.to_s
331
+ end
332
+
333
+ # to_body is an alias to to_hash (backward compatibility)
334
+ # @return [Hash] Returns the object in the form of hash
335
+ def to_body
336
+ to_hash
337
+ end
338
+
339
+ # Returns the object in the form of hash
340
+ # @return [Hash] Returns the object in the form of hash
341
+ def to_hash
342
+ hash = {}
343
+ self.class.attribute_map.each_pair do |attr, param|
344
+ value = self.send(attr)
345
+ next if value.nil?
346
+ hash[param] = _to_hash(value)
347
+ end
348
+ hash
349
+ end
350
+
351
+ # Outputs non-array value in the form of hash
352
+ # For object, use to_hash. Otherwise, just return the value
353
+ # @param [Object] value Any valid value
354
+ # @return [Hash] Returns the value in the form of hash
355
+ def _to_hash(value)
356
+ if value.is_a?(Array)
357
+ value.compact.map{ |v| _to_hash(v) }
358
+ elsif value.is_a?(Hash)
359
+ {}.tap do |hash|
360
+ value.each { |k, v| hash[k] = _to_hash(v) }
361
+ end
362
+ elsif value.respond_to? :to_hash
363
+ value.to_hash
364
+ else
365
+ value
366
+ end
367
+ end
368
+
369
+ end
370
+
371
+ end