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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +60 -8
- data/LICENSE +201 -0
- data/README.md +62 -241
- data/lib/flat_api/api/account_api.rb +32 -22
- data/lib/flat_api/api/class_api.rb +1671 -453
- data/lib/flat_api/api/collection_api.rb +286 -185
- data/lib/flat_api/api/edu_resources_api.rb +863 -0
- data/lib/flat_api/api/group_api.rb +506 -57
- data/lib/flat_api/api/omr_api.rb +894 -0
- data/lib/flat_api/api/organization_api.rb +808 -192
- data/lib/flat_api/api/score_api.rb +1030 -589
- data/lib/flat_api/api/task_api.rb +85 -0
- data/lib/flat_api/api/user_api.rb +151 -82
- data/lib/flat_api/api_client.rb +223 -145
- data/lib/flat_api/api_error.rb +24 -4
- data/lib/flat_api/api_model_base.rb +88 -0
- data/lib/flat_api/client.rb +69 -0
- data/lib/flat_api/configuration.rb +224 -36
- data/lib/flat_api/errors.rb +86 -0
- data/lib/flat_api/models/add_group_user200_response.rb +148 -0
- data/lib/flat_api/models/add_group_user_request.rb +165 -0
- data/lib/flat_api/models/api_access_token.rb +201 -0
- data/lib/flat_api/models/app_scopes.rb +61 -0
- data/lib/flat_api/models/assignment.rb +362 -166
- data/lib/flat_api/models/assignment_capabilities.rb +256 -0
- data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +193 -0
- data/lib/flat_api/models/assignment_copy.rb +79 -169
- data/lib/flat_api/models/assignment_copy_response.rb +535 -0
- data/lib/flat_api/models/assignment_copy_to_class.rb +186 -0
- data/lib/flat_api/models/assignment_copy_to_resource_library.rb +176 -0
- data/lib/flat_api/models/assignment_group.rb +232 -0
- data/lib/flat_api/models/assignment_submission.rb +337 -131
- data/lib/flat_api/models/assignment_submission_comment.rb +209 -0
- data/lib/flat_api/models/assignment_submission_comment_creation.rb +166 -0
- data/lib/flat_api/models/assignment_submission_comments.rb +158 -0
- data/lib/flat_api/models/assignment_submission_history.rb +337 -0
- data/lib/flat_api/models/assignment_submission_history_attachment.rb +168 -0
- data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
- data/lib/flat_api/models/assignment_submission_lti.rb +200 -0
- data/lib/flat_api/models/assignment_submission_playback.rb +193 -0
- data/lib/flat_api/models/assignment_submission_state.rb +42 -0
- data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
- data/lib/flat_api/models/assignment_submission_update.rb +157 -113
- data/lib/flat_api/models/assignment_type.rb +45 -0
- data/lib/flat_api/models/assignment_update.rb +538 -0
- data/lib/flat_api/models/class_assignment.rb +750 -0
- data/lib/flat_api/models/class_assignment_all_of_canvas.rb +159 -0
- data/lib/flat_api/models/class_assignment_all_of_lti.rb +149 -0
- data/lib/flat_api/models/class_assignment_all_of_mfc.rb +159 -0
- data/lib/flat_api/models/class_assignment_update.rb +652 -0
- data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +150 -0
- data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +152 -0
- data/lib/flat_api/models/class_attachment_creation.rb +140 -106
- data/lib/flat_api/models/class_creation.rb +142 -108
- data/lib/flat_api/models/class_details.rb +244 -125
- data/lib/flat_api/models/class_details_canvas.rb +59 -99
- data/lib/flat_api/models/class_details_clever.rb +74 -113
- data/lib/flat_api/models/class_details_google_classroom.rb +64 -124
- data/lib/flat_api/models/class_details_google_drive.rb +61 -101
- data/lib/flat_api/models/class_details_issues.rb +151 -0
- data/lib/flat_api/models/class_details_issues_sync_inner.rb +203 -0
- data/lib/flat_api/models/class_details_lti.rb +76 -106
- data/lib/flat_api/models/class_details_mfc.rb +159 -0
- data/lib/flat_api/models/class_details_microsoft_graph.rb +148 -0
- data/lib/flat_api/models/class_grade_level.rb +43 -0
- data/lib/flat_api/models/class_roles.rb +18 -9
- data/lib/flat_api/models/class_state.rb +19 -9
- data/lib/flat_api/models/class_update.rb +142 -107
- data/lib/flat_api/models/collection.rb +304 -115
- data/lib/flat_api/models/collection_app.rb +169 -0
- data/lib/flat_api/models/collection_capabilities.rb +157 -112
- data/lib/flat_api/models/collection_contents.rb +166 -0
- data/lib/flat_api/models/collection_creation.rb +120 -104
- data/lib/flat_api/models/collection_modification.rb +122 -100
- data/lib/flat_api/models/collection_privacy.rb +18 -9
- data/lib/flat_api/models/collection_type.rb +22 -11
- data/lib/flat_api/models/credit_transaction.rb +388 -0
- data/lib/flat_api/models/edu_library.rb +273 -0
- data/lib/flat_api/models/edu_resource.rb +383 -0
- data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
- data/lib/flat_api/models/edu_resource_capabilities.rb +179 -0
- data/lib/flat_api/models/edu_resource_copy.rb +166 -0
- data/lib/flat_api/models/edu_resource_creation.rb +311 -0
- data/lib/flat_api/models/edu_resource_folder.rb +171 -0
- data/lib/flat_api/models/edu_resource_lti_link.rb +166 -0
- data/lib/flat_api/models/edu_resource_move.rb +166 -0
- data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
- data/lib/flat_api/models/edu_resource_resource.rb +104 -0
- data/lib/flat_api/models/edu_resource_type.rb +40 -0
- data/lib/flat_api/models/edu_resource_update.rb +292 -0
- data/lib/flat_api/models/edu_resource_use_in_class.rb +176 -0
- data/lib/flat_api/models/flat_error_response.rb +109 -105
- data/lib/flat_api/models/google_classroom_coursework.rb +74 -103
- data/lib/flat_api/models/google_classroom_submission.rb +112 -101
- data/lib/flat_api/models/grade.rb +51 -0
- data/lib/flat_api/models/group.rb +70 -122
- data/lib/flat_api/models/group_creation.rb +238 -0
- data/lib/flat_api/models/group_details.rb +253 -110
- data/lib/flat_api/models/group_type.rb +20 -9
- data/lib/flat_api/models/license_mode.rb +18 -9
- data/lib/flat_api/models/license_sources.rb +21 -9
- data/lib/flat_api/models/lms_name.rb +19 -9
- data/lib/flat_api/models/lti_configuration.rb +56 -0
- data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
- data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
- data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
- data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
- data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
- data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
- data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
- data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
- data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
- data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
- data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
- data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
- data/lib/flat_api/models/lti_configuration_base.rb +306 -0
- data/lib/flat_api/models/lti_configuration_create.rb +60 -0
- data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
- data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
- data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
- data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
- data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
- data/lib/flat_api/models/lti_configuration_update.rb +104 -0
- data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
- data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
- data/lib/flat_api/models/lti_credentials.rb +108 -114
- data/lib/flat_api/models/lti_credentials_creation.rb +99 -103
- data/lib/flat_api/models/media_attachment.rb +189 -137
- data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
- data/lib/flat_api/models/microsoft_graph_assignment.rb +259 -0
- data/lib/flat_api/models/microsoft_graph_submission.rb +193 -0
- data/lib/flat_api/models/omr_capabilities.rb +480 -0
- data/lib/flat_api/models/omr_details_step_data.rb +228 -0
- data/lib/flat_api/models/omr_details_submission.rb +288 -0
- data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
- data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
- data/lib/flat_api/models/omr_instrument_override.rb +311 -0
- data/lib/flat_api/models/omr_job.rb +394 -0
- data/lib/flat_api/models/omr_job_creation.rb +238 -0
- data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
- data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
- data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
- data/lib/flat_api/models/omr_job_input_file.rb +176 -0
- data/lib/flat_api/models/omr_job_output.rb +40 -0
- data/lib/flat_api/models/omr_job_progress.rb +169 -0
- data/lib/flat_api/models/omr_job_result.rb +161 -0
- data/lib/flat_api/models/omr_job_retention.rb +176 -0
- data/lib/flat_api/models/omr_job_status.rb +44 -0
- data/lib/flat_api/models/omr_locale_details.rb +193 -0
- data/lib/flat_api/models/omr_pending_step.rb +213 -0
- data/lib/flat_api/models/omr_step_name.rb +39 -0
- data/lib/flat_api/models/organization_invitation.rb +177 -109
- data/lib/flat_api/models/organization_invitation_creation.rb +97 -100
- data/lib/flat_api/models/organization_roles.rb +19 -10
- data/lib/flat_api/models/organization_user_access_token_creation.rb +168 -0
- data/lib/flat_api/models/rename_group_request.rb +165 -0
- data/lib/flat_api/models/resource_collaborator.rb +204 -116
- data/lib/flat_api/models/resource_collaborator_creation.rb +72 -112
- data/lib/flat_api/models/resource_rights.rb +168 -107
- data/lib/flat_api/models/score_comment.rb +200 -121
- data/lib/flat_api/models/score_comment_context.rb +161 -124
- data/lib/flat_api/models/score_comment_creation.rb +79 -107
- data/lib/flat_api/models/score_comment_moderation.rb +193 -0
- data/lib/flat_api/models/score_comment_update.rb +81 -115
- data/lib/flat_api/models/score_comments_counts.rb +78 -108
- data/lib/flat_api/models/score_creation.rb +80 -225
- data/lib/flat_api/models/score_creation_builder_data.rb +234 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +173 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +255 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +217 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +222 -0
- data/lib/flat_api/models/score_creation_common.rb +201 -0
- data/lib/flat_api/models/score_creation_file_import.rb +277 -0
- data/lib/flat_api/models/score_creation_google_drive_import.rb +234 -0
- data/lib/flat_api/models/score_creation_type.rb +18 -9
- data/lib/flat_api/models/score_details.rb +428 -146
- data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
- data/lib/flat_api/models/score_fork.rb +84 -101
- data/lib/flat_api/models/score_license.rb +18 -9
- data/lib/flat_api/models/score_likes_counts.rb +73 -103
- data/lib/flat_api/models/score_modification.rb +178 -115
- data/lib/flat_api/models/score_plays_counts.rb +179 -0
- data/lib/flat_api/models/score_privacy.rb +18 -9
- data/lib/flat_api/models/score_revision.rb +142 -111
- data/lib/flat_api/models/score_revision_creation.rb +113 -105
- data/lib/flat_api/models/score_revision_statistics.rb +81 -101
- data/lib/flat_api/models/score_source.rb +59 -100
- data/lib/flat_api/models/score_summary.rb +172 -105
- data/lib/flat_api/models/score_track.rb +244 -117
- data/lib/flat_api/models/score_track_creation.rb +99 -104
- data/lib/flat_api/models/score_track_creation_response.rb +165 -0
- data/lib/flat_api/models/score_track_point.rb +78 -103
- data/lib/flat_api/models/score_track_purpose.rb +40 -0
- data/lib/flat_api/models/score_track_state.rb +18 -9
- data/lib/flat_api/models/score_track_type.rb +18 -9
- data/lib/flat_api/models/score_track_update.rb +98 -103
- data/lib/flat_api/models/score_views_counts.rb +73 -103
- data/lib/flat_api/models/task.rb +339 -0
- data/lib/flat_api/models/task_export_options.rb +151 -0
- data/lib/flat_api/models/task_progress.rb +159 -0
- data/lib/flat_api/models/task_result.rb +159 -0
- data/lib/flat_api/models/teaching_theme.rb +47 -0
- data/lib/flat_api/models/tutteo_product.rb +42 -0
- data/lib/flat_api/models/user_admin_update.rb +206 -106
- data/lib/flat_api/models/user_azure_details.rb +168 -0
- data/lib/flat_api/models/user_basics.rb +215 -120
- data/lib/flat_api/models/user_community_profile_links.rb +205 -0
- data/lib/flat_api/models/user_creation.rb +203 -114
- data/lib/flat_api/models/user_details.rb +331 -161
- data/lib/flat_api/models/user_details_admin.rb +272 -133
- data/lib/flat_api/models/user_details_admin_all_of_license.rb +211 -0
- data/lib/flat_api/models/user_public.rb +303 -145
- data/lib/flat_api/models/user_public_summary.rb +243 -126
- data/lib/flat_api/models/user_signin_link.rb +168 -0
- data/lib/flat_api/models/user_signin_link_creation.rb +150 -0
- data/lib/flat_api/oauth.rb +128 -0
- data/lib/flat_api/pagination.rb +88 -0
- data/lib/flat_api/retry.rb +56 -0
- data/lib/flat_api/version.rb +5 -5
- data/lib/flat_api.rb +144 -16
- metadata +154 -434
- data/Gemfile +0 -7
- data/Rakefile +0 -8
- data/docs/AccountApi.md +0 -55
- data/docs/Assignment.md +0 -18
- data/docs/AssignmentCopy.md +0 -8
- data/docs/AssignmentCreation.md +0 -12
- data/docs/AssignmentSubmission.md +0 -19
- data/docs/AssignmentSubmissionUpdate.md +0 -11
- data/docs/ClassApi.md +0 -1051
- data/docs/ClassAttachmentCreation.md +0 -10
- data/docs/ClassCreation.md +0 -9
- data/docs/ClassDetails.md +0 -25
- data/docs/ClassDetailsCanvas.md +0 -9
- data/docs/ClassDetailsClever.md +0 -14
- data/docs/ClassDetailsGoogleClassroom.md +0 -11
- data/docs/ClassDetailsGoogleDrive.md +0 -9
- data/docs/ClassDetailsLti.md +0 -10
- data/docs/ClassRoles.md +0 -7
- data/docs/ClassState.md +0 -7
- data/docs/ClassUpdate.md +0 -9
- data/docs/Collection.md +0 -18
- data/docs/CollectionApi.md +0 -521
- data/docs/CollectionCapabilities.md +0 -12
- data/docs/CollectionCreation.md +0 -8
- data/docs/CollectionModification.md +0 -8
- data/docs/CollectionPrivacy.md +0 -7
- data/docs/CollectionTitle.md +0 -7
- data/docs/CollectionType.md +0 -7
- data/docs/FlatErrorResponse.md +0 -11
- data/docs/FlatLocales.md +0 -7
- data/docs/GoogleClassroomCoursework.md +0 -10
- data/docs/GoogleClassroomSubmission.md +0 -10
- data/docs/Group.md +0 -14
- data/docs/GroupApi.md +0 -167
- data/docs/GroupDetails.md +0 -14
- data/docs/GroupType.md +0 -7
- data/docs/LicenseMode.md +0 -7
- data/docs/LicenseSources.md +0 -7
- data/docs/LmsName.md +0 -7
- data/docs/LtiCredentials.md +0 -16
- data/docs/LtiCredentialsCreation.md +0 -9
- data/docs/MediaAttachment.md +0 -23
- data/docs/MediaScoreSharingMode.md +0 -7
- data/docs/OrganizationApi.md +0 -538
- data/docs/OrganizationInvitation.md +0 -14
- data/docs/OrganizationInvitationCreation.md +0 -9
- data/docs/OrganizationRoles.md +0 -7
- data/docs/ResourceCollaborator.md +0 -16
- data/docs/ResourceCollaboratorCreation.md +0 -14
- data/docs/ResourceRights.md +0 -10
- data/docs/ResourceSharingKey.md +0 -7
- data/docs/ScoreApi.md +0 -1658
- data/docs/ScoreComment.md +0 -22
- data/docs/ScoreCommentContext.md +0 -14
- data/docs/ScoreCommentCreation.md +0 -13
- data/docs/ScoreCommentUpdate.md +0 -11
- data/docs/ScoreCommentsCounts.md +0 -11
- data/docs/ScoreCreation.md +0 -14
- data/docs/ScoreCreationType.md +0 -7
- data/docs/ScoreData.md +0 -7
- data/docs/ScoreDataEncoding.md +0 -7
- data/docs/ScoreDetails.md +0 -36
- data/docs/ScoreFork.md +0 -8
- data/docs/ScoreLicense.md +0 -7
- data/docs/ScoreLikesCounts.md +0 -10
- data/docs/ScoreModification.md +0 -14
- data/docs/ScorePrivacy.md +0 -7
- data/docs/ScoreRevision.md +0 -14
- data/docs/ScoreRevisionCreation.md +0 -11
- data/docs/ScoreRevisionStatistics.md +0 -9
- data/docs/ScoreSource.md +0 -8
- data/docs/ScoreSummary.md +0 -13
- data/docs/ScoreTrack.md +0 -19
- data/docs/ScoreTrackCreation.md +0 -12
- data/docs/ScoreTrackPoint.md +0 -10
- data/docs/ScoreTrackState.md +0 -7
- data/docs/ScoreTrackType.md +0 -7
- data/docs/ScoreTrackUpdate.md +0 -11
- data/docs/ScoreViewsCounts.md +0 -10
- data/docs/UserAdminUpdate.md +0 -9
- data/docs/UserApi.md +0 -173
- data/docs/UserBasics.md +0 -13
- data/docs/UserCreation.md +0 -11
- data/docs/UserDetails.md +0 -28
- data/docs/UserDetailsAdmin.md +0 -20
- data/docs/UserDetailsAdminLicense.md +0 -12
- data/docs/UserInstruments.md +0 -7
- data/docs/UserPublic.md +0 -25
- data/docs/UserPublicSummary.md +0 -17
- data/flat_api.gemspec +0 -48
- data/lib/flat_api/models/assignment_creation.rb +0 -230
- data/lib/flat_api/models/collection_title.rb +0 -179
- data/lib/flat_api/models/flat_locales.rb +0 -36
- data/lib/flat_api/models/resource_sharing_key.rb +0 -179
- data/lib/flat_api/models/score_data.rb +0 -179
- data/lib/flat_api/models/score_data_encoding.rb +0 -30
- data/lib/flat_api/models/user_details_admin_license.rb +0 -227
- data/lib/flat_api/models/user_instruments.rb +0 -179
- data/spec/api/account_api_spec.rb +0 -46
- data/spec/api/class_api_spec.rb +0 -278
- data/spec/api/collection_api_spec.rb +0 -159
- data/spec/api/group_api_spec.rb +0 -72
- data/spec/api/organization_api_spec.rb +0 -162
- data/spec/api/score_api_spec.rb +0 -426
- data/spec/api/user_api_spec.rb +0 -73
- data/spec/api_client_spec.rb +0 -226
- data/spec/configuration_spec.rb +0 -42
- data/spec/models/assignment_copy_spec.rb +0 -42
- data/spec/models/assignment_creation_spec.rb +0 -66
- data/spec/models/assignment_spec.rb +0 -106
- data/spec/models/assignment_submission_spec.rb +0 -108
- data/spec/models/assignment_submission_update_spec.rb +0 -60
- data/spec/models/class_attachment_creation_spec.rb +0 -58
- data/spec/models/class_creation_spec.rb +0 -48
- data/spec/models/class_details_canvas_spec.rb +0 -48
- data/spec/models/class_details_clever_spec.rb +0 -82
- data/spec/models/class_details_google_classroom_spec.rb +0 -60
- data/spec/models/class_details_google_drive_spec.rb +0 -48
- data/spec/models/class_details_lti_spec.rb +0 -54
- data/spec/models/class_details_spec.rb +0 -144
- data/spec/models/class_roles_spec.rb +0 -36
- data/spec/models/class_state_spec.rb +0 -36
- data/spec/models/class_update_spec.rb +0 -48
- data/spec/models/collection_capabilities_spec.rb +0 -66
- data/spec/models/collection_creation_spec.rb +0 -42
- data/spec/models/collection_modification_spec.rb +0 -42
- data/spec/models/collection_privacy_spec.rb +0 -36
- data/spec/models/collection_spec.rb +0 -102
- data/spec/models/collection_title_spec.rb +0 -36
- data/spec/models/collection_type_spec.rb +0 -36
- data/spec/models/flat_error_response_spec.rb +0 -60
- data/spec/models/flat_locales_spec.rb +0 -36
- data/spec/models/google_classroom_coursework_spec.rb +0 -54
- data/spec/models/google_classroom_submission_spec.rb +0 -54
- data/spec/models/group_details_spec.rb +0 -78
- data/spec/models/group_spec.rb +0 -82
- data/spec/models/group_type_spec.rb +0 -36
- data/spec/models/license_mode_spec.rb +0 -36
- data/spec/models/license_sources_spec.rb +0 -36
- data/spec/models/lms_name_spec.rb +0 -36
- data/spec/models/lti_credentials_creation_spec.rb +0 -48
- data/spec/models/lti_credentials_spec.rb +0 -90
- data/spec/models/media_attachment_spec.rb +0 -136
- data/spec/models/media_score_sharing_mode_spec.rb +0 -36
- data/spec/models/organization_invitation_creation_spec.rb +0 -48
- data/spec/models/organization_invitation_spec.rb +0 -78
- data/spec/models/organization_roles_spec.rb +0 -36
- data/spec/models/resource_collaborator_creation_spec.rb +0 -78
- data/spec/models/resource_collaborator_spec.rb +0 -90
- data/spec/models/resource_rights_spec.rb +0 -54
- data/spec/models/resource_sharing_key_spec.rb +0 -36
- data/spec/models/score_comment_context_spec.rb +0 -78
- data/spec/models/score_comment_creation_spec.rb +0 -72
- data/spec/models/score_comment_spec.rb +0 -130
- data/spec/models/score_comment_update_spec.rb +0 -60
- data/spec/models/score_comments_counts_spec.rb +0 -60
- data/spec/models/score_creation_spec.rb +0 -78
- data/spec/models/score_creation_type_spec.rb +0 -36
- data/spec/models/score_data_encoding_spec.rb +0 -36
- data/spec/models/score_data_spec.rb +0 -36
- data/spec/models/score_details_spec.rb +0 -210
- data/spec/models/score_fork_spec.rb +0 -42
- data/spec/models/score_license_spec.rb +0 -36
- data/spec/models/score_likes_counts_spec.rb +0 -54
- data/spec/models/score_modification_spec.rb +0 -78
- data/spec/models/score_privacy_spec.rb +0 -36
- data/spec/models/score_revision_creation_spec.rb +0 -60
- data/spec/models/score_revision_spec.rb +0 -78
- data/spec/models/score_revision_statistics_spec.rb +0 -48
- data/spec/models/score_source_spec.rb +0 -42
- data/spec/models/score_summary_spec.rb +0 -72
- data/spec/models/score_track_creation_spec.rb +0 -66
- data/spec/models/score_track_point_spec.rb +0 -58
- data/spec/models/score_track_spec.rb +0 -108
- data/spec/models/score_track_state_spec.rb +0 -36
- data/spec/models/score_track_type_spec.rb +0 -36
- data/spec/models/score_track_update_spec.rb +0 -60
- data/spec/models/score_views_counts_spec.rb +0 -54
- data/spec/models/user_admin_update_spec.rb +0 -48
- data/spec/models/user_basics_spec.rb +0 -72
- data/spec/models/user_creation_spec.rb +0 -60
- data/spec/models/user_details_admin_license_spec.rb +0 -66
- data/spec/models/user_details_admin_spec.rb +0 -114
- data/spec/models/user_details_spec.rb +0 -166
- data/spec/models/user_instruments_spec.rb +0 -36
- data/spec/models/user_public_spec.rb +0 -144
- data/spec/models/user_public_summary_spec.rb +0 -96
- data/spec/spec_helper.rb +0 -111
|
@@ -1,23 +1,25 @@
|
|
|
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
|
|
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
|
|
6
|
+
The version of the OpenAPI document: 2.26.1
|
|
7
7
|
Contact: developers@flat.io
|
|
8
|
-
Generated by: https://
|
|
9
|
-
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.24.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module FlatApi
|
|
16
17
|
# Collection of scores
|
|
17
|
-
class Collection
|
|
18
|
+
class Collection < ApiModelBase
|
|
18
19
|
# Unique identifier of the collection
|
|
19
20
|
attr_accessor :id
|
|
20
21
|
|
|
22
|
+
# The title of the collection
|
|
21
23
|
attr_accessor :title
|
|
22
24
|
|
|
23
25
|
# The url where the collection can be viewed in a web browser
|
|
@@ -25,23 +27,63 @@ module FlatApi
|
|
|
25
27
|
|
|
26
28
|
attr_accessor :type
|
|
27
29
|
|
|
30
|
+
# Product-specific translation key for the collection type. Only set for specific collection types: * For `regular` type: `playlist` (Flat) or `collection` (Flat for Education) * For `collaborations` type: `collaboration` (Flat) or `shared-scores` (Flat for Education) Not set for other collection types.
|
|
31
|
+
attr_accessor :label_key
|
|
32
|
+
|
|
28
33
|
attr_accessor :privacy
|
|
29
34
|
|
|
30
35
|
# The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`)
|
|
31
36
|
attr_accessor :sharing_key
|
|
32
37
|
|
|
33
|
-
# If this directory is dedicated to an app, the unique idenfier of this app
|
|
34
38
|
attr_accessor :app
|
|
35
39
|
|
|
40
|
+
# The date when the collection was created
|
|
41
|
+
attr_accessor :creation_date
|
|
42
|
+
|
|
43
|
+
# The date when the collection was last modified
|
|
44
|
+
attr_accessor :modification_date
|
|
45
|
+
|
|
36
46
|
attr_accessor :user
|
|
37
47
|
|
|
48
|
+
# If the score has been created in an organization, the identifier of this organization.
|
|
49
|
+
attr_accessor :organization
|
|
50
|
+
|
|
38
51
|
attr_accessor :rights
|
|
39
52
|
|
|
40
53
|
# The list of the collaborators of the collection
|
|
41
54
|
attr_accessor :collaborators
|
|
42
55
|
|
|
56
|
+
# Whether the collection is pinned by the owner
|
|
57
|
+
attr_accessor :is_pinned
|
|
58
|
+
|
|
59
|
+
attr_accessor :contents
|
|
60
|
+
|
|
43
61
|
attr_accessor :capabilities
|
|
44
62
|
|
|
63
|
+
# The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them.
|
|
64
|
+
attr_accessor :collections
|
|
65
|
+
|
|
66
|
+
class EnumAttributeValidator
|
|
67
|
+
attr_reader :datatype
|
|
68
|
+
attr_reader :allowable_values
|
|
69
|
+
|
|
70
|
+
def initialize(datatype, allowable_values)
|
|
71
|
+
@allowable_values = allowable_values.map do |value|
|
|
72
|
+
case datatype.to_s
|
|
73
|
+
when /Integer/i
|
|
74
|
+
value.to_i
|
|
75
|
+
when /Float/i
|
|
76
|
+
value.to_f
|
|
77
|
+
else
|
|
78
|
+
value
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def valid?(value)
|
|
84
|
+
!value || allowable_values.include?(value)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
45
87
|
|
|
46
88
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
47
89
|
def self.attribute_map
|
|
@@ -50,100 +92,305 @@ module FlatApi
|
|
|
50
92
|
:'title' => :'title',
|
|
51
93
|
:'html_url' => :'htmlUrl',
|
|
52
94
|
:'type' => :'type',
|
|
95
|
+
:'label_key' => :'labelKey',
|
|
53
96
|
:'privacy' => :'privacy',
|
|
54
97
|
:'sharing_key' => :'sharingKey',
|
|
55
98
|
:'app' => :'app',
|
|
99
|
+
:'creation_date' => :'creationDate',
|
|
100
|
+
:'modification_date' => :'modificationDate',
|
|
56
101
|
:'user' => :'user',
|
|
102
|
+
:'organization' => :'organization',
|
|
57
103
|
:'rights' => :'rights',
|
|
58
104
|
:'collaborators' => :'collaborators',
|
|
59
|
-
:'
|
|
105
|
+
:'is_pinned' => :'isPinned',
|
|
106
|
+
:'contents' => :'contents',
|
|
107
|
+
:'capabilities' => :'capabilities',
|
|
108
|
+
:'collections' => :'collections'
|
|
60
109
|
}
|
|
61
110
|
end
|
|
62
111
|
|
|
112
|
+
# Returns attribute mapping this model knows about
|
|
113
|
+
def self.acceptable_attribute_map
|
|
114
|
+
attribute_map
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Returns all the JSON keys this model knows about
|
|
118
|
+
def self.acceptable_attributes
|
|
119
|
+
acceptable_attribute_map.values
|
|
120
|
+
end
|
|
121
|
+
|
|
63
122
|
# Attribute type mapping.
|
|
64
|
-
def self.
|
|
123
|
+
def self.openapi_types
|
|
65
124
|
{
|
|
66
125
|
:'id' => :'String',
|
|
67
|
-
:'title' => :'
|
|
126
|
+
:'title' => :'String',
|
|
68
127
|
:'html_url' => :'String',
|
|
69
128
|
:'type' => :'CollectionType',
|
|
129
|
+
:'label_key' => :'String',
|
|
70
130
|
:'privacy' => :'CollectionPrivacy',
|
|
71
131
|
:'sharing_key' => :'String',
|
|
72
|
-
:'app' => :'
|
|
132
|
+
:'app' => :'CollectionApp',
|
|
133
|
+
:'creation_date' => :'Time',
|
|
134
|
+
:'modification_date' => :'Time',
|
|
73
135
|
:'user' => :'UserPublicSummary',
|
|
136
|
+
:'organization' => :'String',
|
|
74
137
|
:'rights' => :'ResourceRights',
|
|
75
138
|
:'collaborators' => :'Array<ResourceCollaborator>',
|
|
76
|
-
:'
|
|
139
|
+
:'is_pinned' => :'Boolean',
|
|
140
|
+
:'contents' => :'CollectionContents',
|
|
141
|
+
:'capabilities' => :'CollectionCapabilities',
|
|
142
|
+
:'collections' => :'Array<String>'
|
|
77
143
|
}
|
|
78
144
|
end
|
|
79
145
|
|
|
146
|
+
# List of attributes with nullable: true
|
|
147
|
+
def self.openapi_nullable
|
|
148
|
+
Set.new([
|
|
149
|
+
])
|
|
150
|
+
end
|
|
151
|
+
|
|
80
152
|
# Initializes the object
|
|
81
153
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
82
154
|
def initialize(attributes = {})
|
|
83
|
-
|
|
155
|
+
if (!attributes.is_a?(Hash))
|
|
156
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::Collection` initialize method"
|
|
157
|
+
end
|
|
84
158
|
|
|
85
|
-
# convert string to symbol for hash key
|
|
86
|
-
|
|
159
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
160
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
161
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
162
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
163
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::Collection`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
164
|
+
end
|
|
165
|
+
h[k.to_sym] = v
|
|
166
|
+
}
|
|
87
167
|
|
|
88
|
-
if attributes.
|
|
168
|
+
if attributes.key?(:'id')
|
|
89
169
|
self.id = attributes[:'id']
|
|
170
|
+
else
|
|
171
|
+
self.id = nil
|
|
90
172
|
end
|
|
91
173
|
|
|
92
|
-
if attributes.
|
|
174
|
+
if attributes.key?(:'title')
|
|
93
175
|
self.title = attributes[:'title']
|
|
176
|
+
else
|
|
177
|
+
self.title = nil
|
|
94
178
|
end
|
|
95
179
|
|
|
96
|
-
if attributes.
|
|
97
|
-
self.html_url = attributes[:'
|
|
180
|
+
if attributes.key?(:'html_url')
|
|
181
|
+
self.html_url = attributes[:'html_url']
|
|
182
|
+
else
|
|
183
|
+
self.html_url = nil
|
|
98
184
|
end
|
|
99
185
|
|
|
100
|
-
if attributes.
|
|
186
|
+
if attributes.key?(:'type')
|
|
101
187
|
self.type = attributes[:'type']
|
|
188
|
+
else
|
|
189
|
+
self.type = nil
|
|
102
190
|
end
|
|
103
191
|
|
|
104
|
-
if attributes.
|
|
192
|
+
if attributes.key?(:'label_key')
|
|
193
|
+
self.label_key = attributes[:'label_key']
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
if attributes.key?(:'privacy')
|
|
105
197
|
self.privacy = attributes[:'privacy']
|
|
198
|
+
else
|
|
199
|
+
self.privacy = 'private'
|
|
106
200
|
end
|
|
107
201
|
|
|
108
|
-
if attributes.
|
|
109
|
-
self.sharing_key = attributes[:'
|
|
202
|
+
if attributes.key?(:'sharing_key')
|
|
203
|
+
self.sharing_key = attributes[:'sharing_key']
|
|
110
204
|
end
|
|
111
205
|
|
|
112
|
-
if attributes.
|
|
206
|
+
if attributes.key?(:'app')
|
|
113
207
|
self.app = attributes[:'app']
|
|
114
208
|
end
|
|
115
209
|
|
|
116
|
-
if attributes.
|
|
210
|
+
if attributes.key?(:'creation_date')
|
|
211
|
+
self.creation_date = attributes[:'creation_date']
|
|
212
|
+
else
|
|
213
|
+
self.creation_date = nil
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
if attributes.key?(:'modification_date')
|
|
217
|
+
self.modification_date = attributes[:'modification_date']
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
if attributes.key?(:'user')
|
|
117
221
|
self.user = attributes[:'user']
|
|
118
222
|
end
|
|
119
223
|
|
|
120
|
-
if attributes.
|
|
224
|
+
if attributes.key?(:'organization')
|
|
225
|
+
self.organization = attributes[:'organization']
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
if attributes.key?(:'rights')
|
|
121
229
|
self.rights = attributes[:'rights']
|
|
122
230
|
end
|
|
123
231
|
|
|
124
|
-
if attributes.
|
|
232
|
+
if attributes.key?(:'collaborators')
|
|
125
233
|
if (value = attributes[:'collaborators']).is_a?(Array)
|
|
126
234
|
self.collaborators = value
|
|
127
235
|
end
|
|
128
236
|
end
|
|
129
237
|
|
|
130
|
-
if attributes.
|
|
238
|
+
if attributes.key?(:'is_pinned')
|
|
239
|
+
self.is_pinned = attributes[:'is_pinned']
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
if attributes.key?(:'contents')
|
|
243
|
+
self.contents = attributes[:'contents']
|
|
244
|
+
else
|
|
245
|
+
self.contents = nil
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
if attributes.key?(:'capabilities')
|
|
131
249
|
self.capabilities = attributes[:'capabilities']
|
|
250
|
+
else
|
|
251
|
+
self.capabilities = nil
|
|
132
252
|
end
|
|
133
253
|
|
|
254
|
+
if attributes.key?(:'collections')
|
|
255
|
+
if (value = attributes[:'collections']).is_a?(Array)
|
|
256
|
+
self.collections = value
|
|
257
|
+
end
|
|
258
|
+
end
|
|
134
259
|
end
|
|
135
260
|
|
|
136
261
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
137
262
|
# @return Array for valid properties with the reasons
|
|
138
263
|
def list_invalid_properties
|
|
264
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
139
265
|
invalid_properties = Array.new
|
|
140
|
-
|
|
266
|
+
if @id.nil?
|
|
267
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
if @title.nil?
|
|
271
|
+
invalid_properties.push('invalid value for "title", title cannot be nil.')
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
if @html_url.nil?
|
|
275
|
+
invalid_properties.push('invalid value for "html_url", html_url cannot be nil.')
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
if @type.nil?
|
|
279
|
+
invalid_properties.push('invalid value for "type", type cannot be nil.')
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
if @privacy.nil?
|
|
283
|
+
invalid_properties.push('invalid value for "privacy", privacy cannot be nil.')
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
if @creation_date.nil?
|
|
287
|
+
invalid_properties.push('invalid value for "creation_date", creation_date cannot be nil.')
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
if @contents.nil?
|
|
291
|
+
invalid_properties.push('invalid value for "contents", contents cannot be nil.')
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
if @capabilities.nil?
|
|
295
|
+
invalid_properties.push('invalid value for "capabilities", capabilities cannot be nil.')
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
invalid_properties
|
|
141
299
|
end
|
|
142
300
|
|
|
143
301
|
# Check to see if the all the properties in the model are valid
|
|
144
302
|
# @return true if the model is valid
|
|
145
303
|
def valid?
|
|
146
|
-
|
|
304
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
305
|
+
return false if @id.nil?
|
|
306
|
+
return false if @title.nil?
|
|
307
|
+
return false if @html_url.nil?
|
|
308
|
+
return false if @type.nil?
|
|
309
|
+
return false if @privacy.nil?
|
|
310
|
+
return false if @creation_date.nil?
|
|
311
|
+
return false if @contents.nil?
|
|
312
|
+
return false if @capabilities.nil?
|
|
313
|
+
true
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
# Custom attribute writer method with validation
|
|
317
|
+
# @param [Object] id Value to be assigned
|
|
318
|
+
def id=(id)
|
|
319
|
+
if id.nil?
|
|
320
|
+
fail ArgumentError, 'id cannot be nil'
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
@id = id
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# Custom attribute writer method with validation
|
|
327
|
+
# @param [Object] title Value to be assigned
|
|
328
|
+
def title=(title)
|
|
329
|
+
if title.nil?
|
|
330
|
+
fail ArgumentError, 'title cannot be nil'
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
@title = title
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# Custom attribute writer method with validation
|
|
337
|
+
# @param [Object] html_url Value to be assigned
|
|
338
|
+
def html_url=(html_url)
|
|
339
|
+
if html_url.nil?
|
|
340
|
+
fail ArgumentError, 'html_url cannot be nil'
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
@html_url = html_url
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
# Custom attribute writer method with validation
|
|
347
|
+
# @param [Object] type Value to be assigned
|
|
348
|
+
def type=(type)
|
|
349
|
+
if type.nil?
|
|
350
|
+
fail ArgumentError, 'type cannot be nil'
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
@type = type
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
# Custom attribute writer method with validation
|
|
357
|
+
# @param [Object] privacy Value to be assigned
|
|
358
|
+
def privacy=(privacy)
|
|
359
|
+
if privacy.nil?
|
|
360
|
+
fail ArgumentError, 'privacy cannot be nil'
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
@privacy = privacy
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
# Custom attribute writer method with validation
|
|
367
|
+
# @param [Object] creation_date Value to be assigned
|
|
368
|
+
def creation_date=(creation_date)
|
|
369
|
+
if creation_date.nil?
|
|
370
|
+
fail ArgumentError, 'creation_date cannot be nil'
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
@creation_date = creation_date
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
# Custom attribute writer method with validation
|
|
377
|
+
# @param [Object] contents Value to be assigned
|
|
378
|
+
def contents=(contents)
|
|
379
|
+
if contents.nil?
|
|
380
|
+
fail ArgumentError, 'contents cannot be nil'
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
@contents = contents
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
# Custom attribute writer method with validation
|
|
387
|
+
# @param [Object] capabilities Value to be assigned
|
|
388
|
+
def capabilities=(capabilities)
|
|
389
|
+
if capabilities.nil?
|
|
390
|
+
fail ArgumentError, 'capabilities cannot be nil'
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
@capabilities = capabilities
|
|
147
394
|
end
|
|
148
395
|
|
|
149
396
|
# Checks equality by comparing each attribute.
|
|
@@ -155,13 +402,20 @@ module FlatApi
|
|
|
155
402
|
title == o.title &&
|
|
156
403
|
html_url == o.html_url &&
|
|
157
404
|
type == o.type &&
|
|
405
|
+
label_key == o.label_key &&
|
|
158
406
|
privacy == o.privacy &&
|
|
159
407
|
sharing_key == o.sharing_key &&
|
|
160
408
|
app == o.app &&
|
|
409
|
+
creation_date == o.creation_date &&
|
|
410
|
+
modification_date == o.modification_date &&
|
|
161
411
|
user == o.user &&
|
|
412
|
+
organization == o.organization &&
|
|
162
413
|
rights == o.rights &&
|
|
163
414
|
collaborators == o.collaborators &&
|
|
164
|
-
|
|
415
|
+
is_pinned == o.is_pinned &&
|
|
416
|
+
contents == o.contents &&
|
|
417
|
+
capabilities == o.capabilities &&
|
|
418
|
+
collections == o.collections
|
|
165
419
|
end
|
|
166
420
|
|
|
167
421
|
# @see the `==` method
|
|
@@ -171,83 +425,32 @@ module FlatApi
|
|
|
171
425
|
end
|
|
172
426
|
|
|
173
427
|
# Calculates hash code according to all attributes.
|
|
174
|
-
# @return [
|
|
428
|
+
# @return [Integer] Hash code
|
|
175
429
|
def hash
|
|
176
|
-
[id, title, html_url, type, privacy, sharing_key, app, user, rights, collaborators, capabilities].hash
|
|
430
|
+
[id, title, html_url, type, label_key, privacy, sharing_key, app, creation_date, modification_date, user, organization, rights, collaborators, is_pinned, contents, capabilities, collections].hash
|
|
177
431
|
end
|
|
178
432
|
|
|
179
433
|
# Builds the object from hash
|
|
180
434
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
181
435
|
# @return [Object] Returns the model itself
|
|
182
|
-
def build_from_hash(attributes)
|
|
436
|
+
def self.build_from_hash(attributes)
|
|
183
437
|
return nil unless attributes.is_a?(Hash)
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
438
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
439
|
+
transformed_hash = {}
|
|
440
|
+
openapi_types.each_pair do |key, type|
|
|
441
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
442
|
+
transformed_hash["#{key}"] = nil
|
|
443
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
444
|
+
# check to ensure the input is an array given that the attribute
|
|
187
445
|
# is documented as an array but the input is not
|
|
188
|
-
if attributes[
|
|
189
|
-
|
|
446
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
447
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
190
448
|
end
|
|
191
|
-
elsif !attributes[
|
|
192
|
-
|
|
193
|
-
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
self
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
# Deserializes the data based on type
|
|
200
|
-
# @param string type Data type
|
|
201
|
-
# @param string value Value to be deserialized
|
|
202
|
-
# @return [Object] Deserialized data
|
|
203
|
-
def _deserialize(type, value)
|
|
204
|
-
case type.to_sym
|
|
205
|
-
when :DateTime
|
|
206
|
-
DateTime.parse(value)
|
|
207
|
-
when :Date
|
|
208
|
-
Date.parse(value)
|
|
209
|
-
when :String
|
|
210
|
-
value.to_s
|
|
211
|
-
when :Integer
|
|
212
|
-
value.to_i
|
|
213
|
-
when :Float
|
|
214
|
-
value.to_f
|
|
215
|
-
when :BOOLEAN
|
|
216
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
217
|
-
true
|
|
218
|
-
else
|
|
219
|
-
false
|
|
449
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
450
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
220
451
|
end
|
|
221
|
-
when :Object
|
|
222
|
-
# generic object (usually a Hash), return directly
|
|
223
|
-
value
|
|
224
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
225
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
226
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
227
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
228
|
-
k_type = Regexp.last_match[:k_type]
|
|
229
|
-
v_type = Regexp.last_match[:v_type]
|
|
230
|
-
{}.tap do |hash|
|
|
231
|
-
value.each do |k, v|
|
|
232
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
233
|
-
end
|
|
234
|
-
end
|
|
235
|
-
else # model
|
|
236
|
-
temp_model = FlatApi.const_get(type).new
|
|
237
|
-
temp_model.build_from_hash(value)
|
|
238
452
|
end
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
# Returns the string representation of the object
|
|
242
|
-
# @return [String] String presentation of the object
|
|
243
|
-
def to_s
|
|
244
|
-
to_hash.to_s
|
|
245
|
-
end
|
|
246
|
-
|
|
247
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
248
|
-
# @return [Hash] Returns the object in the form of hash
|
|
249
|
-
def to_body
|
|
250
|
-
to_hash
|
|
453
|
+
new(transformed_hash)
|
|
251
454
|
end
|
|
252
455
|
|
|
253
456
|
# Returns the object in the form of hash
|
|
@@ -256,30 +459,16 @@ module FlatApi
|
|
|
256
459
|
hash = {}
|
|
257
460
|
self.class.attribute_map.each_pair do |attr, param|
|
|
258
461
|
value = self.send(attr)
|
|
259
|
-
|
|
462
|
+
if value.nil?
|
|
463
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
464
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
465
|
+
end
|
|
466
|
+
|
|
260
467
|
hash[param] = _to_hash(value)
|
|
261
468
|
end
|
|
262
469
|
hash
|
|
263
470
|
end
|
|
264
471
|
|
|
265
|
-
# Outputs non-array value in the form of hash
|
|
266
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
267
|
-
# @param [Object] value Any valid value
|
|
268
|
-
# @return [Hash] Returns the value in the form of hash
|
|
269
|
-
def _to_hash(value)
|
|
270
|
-
if value.is_a?(Array)
|
|
271
|
-
value.compact.map{ |v| _to_hash(v) }
|
|
272
|
-
elsif value.is_a?(Hash)
|
|
273
|
-
{}.tap do |hash|
|
|
274
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
275
|
-
end
|
|
276
|
-
elsif value.respond_to? :to_hash
|
|
277
|
-
value.to_hash
|
|
278
|
-
else
|
|
279
|
-
value
|
|
280
|
-
end
|
|
281
|
-
end
|
|
282
|
-
|
|
283
472
|
end
|
|
284
473
|
|
|
285
474
|
end
|