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,37 +1,49 @@
|
|
|
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
|
# User details (view for organization teacher / admin)
|
|
17
|
-
class UserDetailsAdmin
|
|
18
|
+
class UserDetailsAdmin < ApiModelBase
|
|
18
19
|
# The user unique identifier
|
|
19
20
|
attr_accessor :id
|
|
20
21
|
|
|
22
|
+
# The type of user account
|
|
23
|
+
attr_accessor :type
|
|
24
|
+
|
|
25
|
+
attr_accessor :product
|
|
26
|
+
|
|
21
27
|
# The user name (unique for the organization)
|
|
22
28
|
attr_accessor :username
|
|
23
29
|
|
|
24
|
-
#
|
|
25
|
-
attr_accessor :name
|
|
26
|
-
|
|
27
|
-
# The name that can be directly printed (name or username)
|
|
30
|
+
# The name that can be directly printed (name, firstname & lastname, or username)
|
|
28
31
|
attr_accessor :printable_name
|
|
29
32
|
|
|
30
|
-
#
|
|
33
|
+
# Firstname of the user (for education users)
|
|
34
|
+
attr_accessor :firstname
|
|
35
|
+
|
|
36
|
+
# Lastname of the user (for education users)
|
|
37
|
+
attr_accessor :lastname
|
|
38
|
+
|
|
39
|
+
# A displayable name for the user (for consumer users)
|
|
40
|
+
attr_accessor :name
|
|
41
|
+
|
|
42
|
+
# The URL of the picture to display
|
|
31
43
|
attr_accessor :picture
|
|
32
44
|
|
|
33
|
-
#
|
|
34
|
-
attr_accessor :
|
|
45
|
+
# List of badges for the user profile: - `power` - `staff` - `composerOfTheMonth` - `ambassador` - `challenge`
|
|
46
|
+
attr_accessor :badges
|
|
35
47
|
|
|
36
48
|
# Organization ID (for Edu users only)
|
|
37
49
|
attr_accessor :organization
|
|
@@ -51,118 +63,304 @@ module FlatApi
|
|
|
51
63
|
|
|
52
64
|
attr_accessor :license
|
|
53
65
|
|
|
66
|
+
# For Flat for Education accounts, list of Group identifiers the user is part of.
|
|
67
|
+
attr_accessor :groups
|
|
68
|
+
|
|
69
|
+
# Indicates if the user account is marked as a testing student account. Testing students are typically excluded from certain educational integrations and workflows. This field helps API clients distinguish between regular students and testing accounts.
|
|
70
|
+
attr_accessor :is_edu_testing_student
|
|
71
|
+
|
|
72
|
+
class EnumAttributeValidator
|
|
73
|
+
attr_reader :datatype
|
|
74
|
+
attr_reader :allowable_values
|
|
75
|
+
|
|
76
|
+
def initialize(datatype, allowable_values)
|
|
77
|
+
@allowable_values = allowable_values.map do |value|
|
|
78
|
+
case datatype.to_s
|
|
79
|
+
when /Integer/i
|
|
80
|
+
value.to_i
|
|
81
|
+
when /Float/i
|
|
82
|
+
value.to_f
|
|
83
|
+
else
|
|
84
|
+
value
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def valid?(value)
|
|
90
|
+
!value || allowable_values.include?(value)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
54
93
|
|
|
55
94
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
56
95
|
def self.attribute_map
|
|
57
96
|
{
|
|
58
97
|
:'id' => :'id',
|
|
98
|
+
:'type' => :'type',
|
|
99
|
+
:'product' => :'product',
|
|
59
100
|
:'username' => :'username',
|
|
60
|
-
:'name' => :'name',
|
|
61
101
|
:'printable_name' => :'printableName',
|
|
102
|
+
:'firstname' => :'firstname',
|
|
103
|
+
:'lastname' => :'lastname',
|
|
104
|
+
:'name' => :'name',
|
|
62
105
|
:'picture' => :'picture',
|
|
63
|
-
:'
|
|
106
|
+
:'badges' => :'badges',
|
|
64
107
|
:'organization' => :'organization',
|
|
65
108
|
:'organization_role' => :'organizationRole',
|
|
66
109
|
:'class_role' => :'classRole',
|
|
67
110
|
:'html_url' => :'htmlUrl',
|
|
68
111
|
:'email' => :'email',
|
|
69
112
|
:'last_activity_date' => :'lastActivityDate',
|
|
70
|
-
:'license' => :'license'
|
|
113
|
+
:'license' => :'license',
|
|
114
|
+
:'groups' => :'groups',
|
|
115
|
+
:'is_edu_testing_student' => :'isEduTestingStudent'
|
|
71
116
|
}
|
|
72
117
|
end
|
|
73
118
|
|
|
119
|
+
# Returns attribute mapping this model knows about
|
|
120
|
+
def self.acceptable_attribute_map
|
|
121
|
+
attribute_map
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Returns all the JSON keys this model knows about
|
|
125
|
+
def self.acceptable_attributes
|
|
126
|
+
acceptable_attribute_map.values
|
|
127
|
+
end
|
|
128
|
+
|
|
74
129
|
# Attribute type mapping.
|
|
75
|
-
def self.
|
|
130
|
+
def self.openapi_types
|
|
76
131
|
{
|
|
77
132
|
:'id' => :'String',
|
|
133
|
+
:'type' => :'String',
|
|
134
|
+
:'product' => :'TutteoProduct',
|
|
78
135
|
:'username' => :'String',
|
|
79
|
-
:'name' => :'String',
|
|
80
136
|
:'printable_name' => :'String',
|
|
137
|
+
:'firstname' => :'String',
|
|
138
|
+
:'lastname' => :'String',
|
|
139
|
+
:'name' => :'String',
|
|
81
140
|
:'picture' => :'String',
|
|
82
|
-
:'
|
|
141
|
+
:'badges' => :'Array<String>',
|
|
83
142
|
:'organization' => :'String',
|
|
84
143
|
:'organization_role' => :'OrganizationRoles',
|
|
85
144
|
:'class_role' => :'ClassRoles',
|
|
86
145
|
:'html_url' => :'String',
|
|
87
146
|
:'email' => :'String',
|
|
88
|
-
:'last_activity_date' => :'
|
|
89
|
-
:'license' => :'
|
|
147
|
+
:'last_activity_date' => :'Time',
|
|
148
|
+
:'license' => :'UserDetailsAdminAllOfLicense',
|
|
149
|
+
:'groups' => :'Array<String>',
|
|
150
|
+
:'is_edu_testing_student' => :'Boolean'
|
|
90
151
|
}
|
|
91
152
|
end
|
|
92
153
|
|
|
154
|
+
# List of attributes with nullable: true
|
|
155
|
+
def self.openapi_nullable
|
|
156
|
+
Set.new([
|
|
157
|
+
])
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# List of class defined in allOf (OpenAPI v3)
|
|
161
|
+
def self.openapi_all_of
|
|
162
|
+
[
|
|
163
|
+
:'UserPublicSummary'
|
|
164
|
+
]
|
|
165
|
+
end
|
|
166
|
+
|
|
93
167
|
# Initializes the object
|
|
94
168
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
95
169
|
def initialize(attributes = {})
|
|
96
|
-
|
|
170
|
+
if (!attributes.is_a?(Hash))
|
|
171
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::UserDetailsAdmin` initialize method"
|
|
172
|
+
end
|
|
97
173
|
|
|
98
|
-
# convert string to symbol for hash key
|
|
99
|
-
|
|
174
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
175
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
176
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
177
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
178
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::UserDetailsAdmin`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
179
|
+
end
|
|
180
|
+
h[k.to_sym] = v
|
|
181
|
+
}
|
|
100
182
|
|
|
101
|
-
if attributes.
|
|
183
|
+
if attributes.key?(:'id')
|
|
102
184
|
self.id = attributes[:'id']
|
|
185
|
+
else
|
|
186
|
+
self.id = nil
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
if attributes.key?(:'type')
|
|
190
|
+
self.type = attributes[:'type']
|
|
191
|
+
else
|
|
192
|
+
self.type = nil
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
if attributes.key?(:'product')
|
|
196
|
+
self.product = attributes[:'product']
|
|
197
|
+
else
|
|
198
|
+
self.product = 'flat'
|
|
103
199
|
end
|
|
104
200
|
|
|
105
|
-
if attributes.
|
|
201
|
+
if attributes.key?(:'username')
|
|
106
202
|
self.username = attributes[:'username']
|
|
203
|
+
else
|
|
204
|
+
self.username = nil
|
|
107
205
|
end
|
|
108
206
|
|
|
109
|
-
if attributes.
|
|
110
|
-
self.
|
|
207
|
+
if attributes.key?(:'printable_name')
|
|
208
|
+
self.printable_name = attributes[:'printable_name']
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
if attributes.key?(:'firstname')
|
|
212
|
+
self.firstname = attributes[:'firstname']
|
|
111
213
|
end
|
|
112
214
|
|
|
113
|
-
if attributes.
|
|
114
|
-
self.
|
|
215
|
+
if attributes.key?(:'lastname')
|
|
216
|
+
self.lastname = attributes[:'lastname']
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
if attributes.key?(:'name')
|
|
220
|
+
self.name = attributes[:'name']
|
|
115
221
|
end
|
|
116
222
|
|
|
117
|
-
if attributes.
|
|
223
|
+
if attributes.key?(:'picture')
|
|
118
224
|
self.picture = attributes[:'picture']
|
|
225
|
+
else
|
|
226
|
+
self.picture = nil
|
|
119
227
|
end
|
|
120
228
|
|
|
121
|
-
if attributes.
|
|
122
|
-
|
|
229
|
+
if attributes.key?(:'badges')
|
|
230
|
+
if (value = attributes[:'badges']).is_a?(Array)
|
|
231
|
+
self.badges = value
|
|
232
|
+
end
|
|
123
233
|
end
|
|
124
234
|
|
|
125
|
-
if attributes.
|
|
235
|
+
if attributes.key?(:'organization')
|
|
126
236
|
self.organization = attributes[:'organization']
|
|
127
237
|
end
|
|
128
238
|
|
|
129
|
-
if attributes.
|
|
130
|
-
self.organization_role = attributes[:'
|
|
239
|
+
if attributes.key?(:'organization_role')
|
|
240
|
+
self.organization_role = attributes[:'organization_role']
|
|
131
241
|
end
|
|
132
242
|
|
|
133
|
-
if attributes.
|
|
134
|
-
self.class_role = attributes[:'
|
|
243
|
+
if attributes.key?(:'class_role')
|
|
244
|
+
self.class_role = attributes[:'class_role']
|
|
135
245
|
end
|
|
136
246
|
|
|
137
|
-
if attributes.
|
|
138
|
-
self.html_url = attributes[:'
|
|
247
|
+
if attributes.key?(:'html_url')
|
|
248
|
+
self.html_url = attributes[:'html_url']
|
|
139
249
|
end
|
|
140
250
|
|
|
141
|
-
if attributes.
|
|
251
|
+
if attributes.key?(:'email')
|
|
142
252
|
self.email = attributes[:'email']
|
|
143
253
|
end
|
|
144
254
|
|
|
145
|
-
if attributes.
|
|
146
|
-
self.last_activity_date = attributes[:'
|
|
255
|
+
if attributes.key?(:'last_activity_date')
|
|
256
|
+
self.last_activity_date = attributes[:'last_activity_date']
|
|
147
257
|
end
|
|
148
258
|
|
|
149
|
-
if attributes.
|
|
259
|
+
if attributes.key?(:'license')
|
|
150
260
|
self.license = attributes[:'license']
|
|
151
261
|
end
|
|
152
262
|
|
|
263
|
+
if attributes.key?(:'groups')
|
|
264
|
+
if (value = attributes[:'groups']).is_a?(Array)
|
|
265
|
+
self.groups = value
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
if attributes.key?(:'is_edu_testing_student')
|
|
270
|
+
self.is_edu_testing_student = attributes[:'is_edu_testing_student']
|
|
271
|
+
end
|
|
153
272
|
end
|
|
154
273
|
|
|
155
274
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
156
275
|
# @return Array for valid properties with the reasons
|
|
157
276
|
def list_invalid_properties
|
|
277
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
158
278
|
invalid_properties = Array.new
|
|
159
|
-
|
|
279
|
+
if @id.nil?
|
|
280
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
if @type.nil?
|
|
284
|
+
invalid_properties.push('invalid value for "type", type cannot be nil.')
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
if @product.nil?
|
|
288
|
+
invalid_properties.push('invalid value for "product", product cannot be nil.')
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
if @username.nil?
|
|
292
|
+
invalid_properties.push('invalid value for "username", username cannot be nil.')
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
if @picture.nil?
|
|
296
|
+
invalid_properties.push('invalid value for "picture", picture cannot be nil.')
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
invalid_properties
|
|
160
300
|
end
|
|
161
301
|
|
|
162
302
|
# Check to see if the all the properties in the model are valid
|
|
163
303
|
# @return true if the model is valid
|
|
164
304
|
def valid?
|
|
165
|
-
|
|
305
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
306
|
+
return false if @id.nil?
|
|
307
|
+
return false if @type.nil?
|
|
308
|
+
type_validator = EnumAttributeValidator.new('String', ["user", "guest"])
|
|
309
|
+
return false unless type_validator.valid?(@type)
|
|
310
|
+
return false if @product.nil?
|
|
311
|
+
return false if @username.nil?
|
|
312
|
+
return false if @picture.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 checking allowed values (enum).
|
|
327
|
+
# @param [Object] type Object to be assigned
|
|
328
|
+
def type=(type)
|
|
329
|
+
validator = EnumAttributeValidator.new('String', ["user", "guest"])
|
|
330
|
+
unless validator.valid?(type)
|
|
331
|
+
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
|
332
|
+
end
|
|
333
|
+
@type = type
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# Custom attribute writer method with validation
|
|
337
|
+
# @param [Object] product Value to be assigned
|
|
338
|
+
def product=(product)
|
|
339
|
+
if product.nil?
|
|
340
|
+
fail ArgumentError, 'product cannot be nil'
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
@product = product
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
# Custom attribute writer method with validation
|
|
347
|
+
# @param [Object] username Value to be assigned
|
|
348
|
+
def username=(username)
|
|
349
|
+
if username.nil?
|
|
350
|
+
fail ArgumentError, 'username cannot be nil'
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
@username = username
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
# Custom attribute writer method with validation
|
|
357
|
+
# @param [Object] picture Value to be assigned
|
|
358
|
+
def picture=(picture)
|
|
359
|
+
if picture.nil?
|
|
360
|
+
fail ArgumentError, 'picture cannot be nil'
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
@picture = picture
|
|
166
364
|
end
|
|
167
365
|
|
|
168
366
|
# Checks equality by comparing each attribute.
|
|
@@ -171,18 +369,24 @@ module FlatApi
|
|
|
171
369
|
return true if self.equal?(o)
|
|
172
370
|
self.class == o.class &&
|
|
173
371
|
id == o.id &&
|
|
372
|
+
type == o.type &&
|
|
373
|
+
product == o.product &&
|
|
174
374
|
username == o.username &&
|
|
175
|
-
name == o.name &&
|
|
176
375
|
printable_name == o.printable_name &&
|
|
376
|
+
firstname == o.firstname &&
|
|
377
|
+
lastname == o.lastname &&
|
|
378
|
+
name == o.name &&
|
|
177
379
|
picture == o.picture &&
|
|
178
|
-
|
|
380
|
+
badges == o.badges &&
|
|
179
381
|
organization == o.organization &&
|
|
180
382
|
organization_role == o.organization_role &&
|
|
181
383
|
class_role == o.class_role &&
|
|
182
384
|
html_url == o.html_url &&
|
|
183
385
|
email == o.email &&
|
|
184
386
|
last_activity_date == o.last_activity_date &&
|
|
185
|
-
license == o.license
|
|
387
|
+
license == o.license &&
|
|
388
|
+
groups == o.groups &&
|
|
389
|
+
is_edu_testing_student == o.is_edu_testing_student
|
|
186
390
|
end
|
|
187
391
|
|
|
188
392
|
# @see the `==` method
|
|
@@ -192,83 +396,32 @@ module FlatApi
|
|
|
192
396
|
end
|
|
193
397
|
|
|
194
398
|
# Calculates hash code according to all attributes.
|
|
195
|
-
# @return [
|
|
399
|
+
# @return [Integer] Hash code
|
|
196
400
|
def hash
|
|
197
|
-
[id,
|
|
401
|
+
[id, type, product, username, printable_name, firstname, lastname, name, picture, badges, organization, organization_role, class_role, html_url, email, last_activity_date, license, groups, is_edu_testing_student].hash
|
|
198
402
|
end
|
|
199
403
|
|
|
200
404
|
# Builds the object from hash
|
|
201
405
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
202
406
|
# @return [Object] Returns the model itself
|
|
203
|
-
def build_from_hash(attributes)
|
|
407
|
+
def self.build_from_hash(attributes)
|
|
204
408
|
return nil unless attributes.is_a?(Hash)
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
409
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
410
|
+
transformed_hash = {}
|
|
411
|
+
openapi_types.each_pair do |key, type|
|
|
412
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
413
|
+
transformed_hash["#{key}"] = nil
|
|
414
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
415
|
+
# check to ensure the input is an array given that the attribute
|
|
208
416
|
# is documented as an array but the input is not
|
|
209
|
-
if attributes[
|
|
210
|
-
|
|
211
|
-
end
|
|
212
|
-
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
213
|
-
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
214
|
-
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
self
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
# Deserializes the data based on type
|
|
221
|
-
# @param string type Data type
|
|
222
|
-
# @param string value Value to be deserialized
|
|
223
|
-
# @return [Object] Deserialized data
|
|
224
|
-
def _deserialize(type, value)
|
|
225
|
-
case type.to_sym
|
|
226
|
-
when :DateTime
|
|
227
|
-
DateTime.parse(value)
|
|
228
|
-
when :Date
|
|
229
|
-
Date.parse(value)
|
|
230
|
-
when :String
|
|
231
|
-
value.to_s
|
|
232
|
-
when :Integer
|
|
233
|
-
value.to_i
|
|
234
|
-
when :Float
|
|
235
|
-
value.to_f
|
|
236
|
-
when :BOOLEAN
|
|
237
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
238
|
-
true
|
|
239
|
-
else
|
|
240
|
-
false
|
|
241
|
-
end
|
|
242
|
-
when :Object
|
|
243
|
-
# generic object (usually a Hash), return directly
|
|
244
|
-
value
|
|
245
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
246
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
247
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
248
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
249
|
-
k_type = Regexp.last_match[:k_type]
|
|
250
|
-
v_type = Regexp.last_match[:v_type]
|
|
251
|
-
{}.tap do |hash|
|
|
252
|
-
value.each do |k, v|
|
|
253
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
417
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
418
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
254
419
|
end
|
|
420
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
421
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
255
422
|
end
|
|
256
|
-
else # model
|
|
257
|
-
temp_model = FlatApi.const_get(type).new
|
|
258
|
-
temp_model.build_from_hash(value)
|
|
259
423
|
end
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
# Returns the string representation of the object
|
|
263
|
-
# @return [String] String presentation of the object
|
|
264
|
-
def to_s
|
|
265
|
-
to_hash.to_s
|
|
266
|
-
end
|
|
267
|
-
|
|
268
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
269
|
-
# @return [Hash] Returns the object in the form of hash
|
|
270
|
-
def to_body
|
|
271
|
-
to_hash
|
|
424
|
+
new(transformed_hash)
|
|
272
425
|
end
|
|
273
426
|
|
|
274
427
|
# Returns the object in the form of hash
|
|
@@ -277,30 +430,16 @@ module FlatApi
|
|
|
277
430
|
hash = {}
|
|
278
431
|
self.class.attribute_map.each_pair do |attr, param|
|
|
279
432
|
value = self.send(attr)
|
|
280
|
-
|
|
433
|
+
if value.nil?
|
|
434
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
435
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
436
|
+
end
|
|
437
|
+
|
|
281
438
|
hash[param] = _to_hash(value)
|
|
282
439
|
end
|
|
283
440
|
hash
|
|
284
441
|
end
|
|
285
442
|
|
|
286
|
-
# Outputs non-array value in the form of hash
|
|
287
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
288
|
-
# @param [Object] value Any valid value
|
|
289
|
-
# @return [Hash] Returns the value in the form of hash
|
|
290
|
-
def _to_hash(value)
|
|
291
|
-
if value.is_a?(Array)
|
|
292
|
-
value.compact.map{ |v| _to_hash(v) }
|
|
293
|
-
elsif value.is_a?(Hash)
|
|
294
|
-
{}.tap do |hash|
|
|
295
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
296
|
-
end
|
|
297
|
-
elsif value.respond_to? :to_hash
|
|
298
|
-
value.to_hash
|
|
299
|
-
else
|
|
300
|
-
value
|
|
301
|
-
end
|
|
302
|
-
end
|
|
303
|
-
|
|
304
443
|
end
|
|
305
444
|
|
|
306
445
|
end
|