flat_api 0.2.0 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/flat_api/api/account_api.rb +31 -21
- data/lib/flat_api/api/class_api.rb +1405 -405
- data/lib/flat_api/api/collection_api.rb +257 -169
- data/lib/flat_api/api/edu_resources_api.rb +851 -0
- data/lib/flat_api/api/group_api.rb +81 -55
- data/lib/flat_api/api/organization_api.rb +524 -180
- data/lib/flat_api/api/score_api.rb +944 -552
- data/lib/flat_api/api/task_api.rb +85 -0
- data/lib/flat_api/api/user_api.rb +112 -74
- data/lib/flat_api/api_client.rb +112 -107
- data/lib/flat_api/api_error.rb +24 -4
- data/lib/flat_api/configuration.rb +105 -16
- data/lib/flat_api/models/api_access_token.rb +268 -0
- data/lib/flat_api/models/app_scopes.rb +59 -0
- data/lib/flat_api/models/assignment.rb +192 -101
- data/lib/flat_api/models/assignment_capabilities.rb +283 -0
- data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +240 -0
- data/lib/flat_api/models/assignment_copy.rb +80 -169
- data/lib/flat_api/models/assignment_copy_response.rb +430 -0
- data/lib/flat_api/models/assignment_copy_to_class.rb +243 -0
- data/lib/flat_api/models/assignment_copy_to_resource_library.rb +233 -0
- data/lib/flat_api/models/assignment_submission.rb +249 -66
- data/lib/flat_api/models/assignment_submission_comment.rb +276 -0
- data/lib/flat_api/models/assignment_submission_comment_creation.rb +223 -0
- data/lib/flat_api/models/assignment_submission_comments.rb +225 -0
- data/lib/flat_api/models/assignment_submission_history.rb +384 -0
- data/lib/flat_api/models/assignment_submission_history_attachment.rb +235 -0
- data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
- data/lib/flat_api/models/assignment_submission_lti.rb +222 -0
- data/lib/flat_api/models/assignment_submission_playback_inner.rb +240 -0
- data/lib/flat_api/models/assignment_submission_state.rb +42 -0
- data/lib/flat_api/models/assignment_submission_update.rb +150 -50
- data/lib/flat_api/models/assignment_type.rb +44 -0
- data/lib/flat_api/models/assignment_update.rb +407 -0
- data/lib/flat_api/models/class_assignment.rb +613 -0
- data/lib/flat_api/models/class_assignment_all_of_canvas.rb +226 -0
- data/lib/flat_api/models/class_assignment_all_of_lti.rb +216 -0
- data/lib/flat_api/models/class_assignment_all_of_mfc.rb +226 -0
- data/lib/flat_api/models/class_assignment_update.rb +509 -0
- data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +217 -0
- data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +219 -0
- data/lib/flat_api/models/class_attachment_creation.rb +110 -41
- data/lib/flat_api/models/class_creation.rb +144 -43
- data/lib/flat_api/models/class_details.rb +175 -60
- data/lib/flat_api/models/class_details_canvas.rb +61 -34
- data/lib/flat_api/models/class_details_clever.rb +76 -48
- data/lib/flat_api/models/class_details_google_classroom.rb +66 -59
- data/lib/flat_api/models/class_details_google_drive.rb +63 -36
- data/lib/flat_api/models/class_details_issues.rb +218 -0
- data/lib/flat_api/models/class_details_issues_sync_inner.rb +270 -0
- data/lib/flat_api/models/class_details_lti.rb +65 -38
- data/lib/flat_api/models/class_details_mfc.rb +226 -0
- data/lib/flat_api/models/class_details_microsoft_graph.rb +215 -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 +18 -9
- data/lib/flat_api/models/class_update.rb +144 -42
- data/lib/flat_api/models/collection.rb +138 -50
- data/lib/flat_api/models/collection_app.rb +236 -0
- data/lib/flat_api/models/collection_capabilities.rb +109 -47
- data/lib/flat_api/models/collection_creation.rb +132 -37
- data/lib/flat_api/models/collection_modification.rb +122 -35
- data/lib/flat_api/models/collection_privacy.rb +18 -9
- data/lib/flat_api/models/collection_type.rb +19 -9
- data/lib/flat_api/models/edu_library.rb +292 -0
- data/lib/flat_api/models/edu_resource.rb +366 -0
- data/lib/flat_api/models/edu_resource_capabilities.rb +236 -0
- data/lib/flat_api/models/edu_resource_copy.rb +223 -0
- data/lib/flat_api/models/edu_resource_creation.rb +301 -0
- data/lib/flat_api/models/edu_resource_folder.rb +216 -0
- data/lib/flat_api/models/edu_resource_lti_link.rb +223 -0
- data/lib/flat_api/models/edu_resource_move.rb +223 -0
- data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
- data/lib/flat_api/models/edu_resource_resource.rb +105 -0
- data/lib/flat_api/models/edu_resource_type.rb +40 -0
- data/lib/flat_api/models/edu_resource_update.rb +277 -0
- data/lib/flat_api/models/edu_resource_use_in_class.rb +233 -0
- data/lib/flat_api/models/flat_error_response.rb +79 -38
- data/lib/flat_api/models/flat_locales.rb +30 -10
- data/lib/flat_api/models/google_classroom_coursework.rb +76 -38
- data/lib/flat_api/models/google_classroom_submission.rb +84 -36
- data/lib/flat_api/models/group.rb +72 -44
- data/lib/flat_api/models/group_details.rb +92 -43
- data/lib/flat_api/models/group_type.rb +18 -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_credentials.rb +95 -46
- data/lib/flat_api/models/lti_credentials_creation.rb +91 -38
- data/lib/flat_api/models/media_attachment.rb +167 -70
- data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
- data/lib/flat_api/models/microsoft_graph_assignment.rb +248 -0
- data/lib/flat_api/models/microsoft_graph_submission.rb +240 -0
- data/lib/flat_api/models/organization_invitation.rb +139 -44
- data/lib/flat_api/models/organization_invitation_creation.rb +99 -35
- data/lib/flat_api/models/organization_roles.rb +18 -9
- data/lib/flat_api/models/organization_user_access_token_creation.rb +225 -0
- data/lib/flat_api/models/resource_collaborator.rb +181 -51
- data/lib/flat_api/models/resource_collaborator_creation.rb +74 -47
- data/lib/flat_api/models/resource_rights.rb +145 -42
- data/lib/flat_api/models/score_comment.rb +93 -56
- data/lib/flat_api/models/score_comment_context.rb +103 -59
- data/lib/flat_api/models/score_comment_creation.rb +70 -41
- data/lib/flat_api/models/score_comment_moderation.rb +260 -0
- data/lib/flat_api/models/score_comment_update.rb +82 -49
- data/lib/flat_api/models/score_comments_counts.rb +67 -40
- data/lib/flat_api/models/score_creation.rb +81 -225
- data/lib/flat_api/models/score_creation_builder_data.rb +298 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +230 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +322 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +274 -0
- data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +269 -0
- data/lib/flat_api/models/score_creation_common.rb +268 -0
- data/lib/flat_api/models/score_creation_file_import.rb +324 -0
- data/lib/flat_api/models/score_creation_google_drive_import.rb +291 -0
- data/lib/flat_api/models/score_creation_type.rb +19 -9
- data/lib/flat_api/models/score_details.rb +272 -81
- data/lib/flat_api/models/score_fork.rb +88 -36
- data/lib/flat_api/models/score_license.rb +19 -9
- data/lib/flat_api/models/score_likes_counts.rb +83 -35
- data/lib/flat_api/models/score_modification.rb +180 -50
- data/lib/flat_api/models/score_plays_counts.rb +236 -0
- data/lib/flat_api/models/score_privacy.rb +18 -9
- data/lib/flat_api/models/score_revision.rb +80 -43
- data/lib/flat_api/models/score_revision_creation.rb +105 -40
- data/lib/flat_api/models/score_revision_statistics.rb +83 -36
- data/lib/flat_api/models/score_source.rb +61 -35
- data/lib/flat_api/models/score_summary.rb +124 -40
- data/lib/flat_api/models/score_track.rb +172 -51
- data/lib/flat_api/models/score_track_creation.rb +101 -39
- data/lib/flat_api/models/score_track_point.rb +70 -38
- 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 +88 -37
- data/lib/flat_api/models/score_views_counts.rb +62 -35
- data/lib/flat_api/models/task.rb +364 -0
- data/lib/flat_api/models/task_export_options.rb +218 -0
- data/lib/flat_api/models/task_progress.rb +226 -0
- data/lib/flat_api/models/task_result.rb +226 -0
- data/lib/flat_api/models/tutteo_product.rb +42 -0
- data/lib/flat_api/models/user_admin_update.rb +219 -41
- data/lib/flat_api/models/user_azure_details.rb +235 -0
- data/lib/flat_api/models/user_basics.rb +187 -55
- data/lib/flat_api/models/user_community_profile_links.rb +272 -0
- data/lib/flat_api/models/user_creation.rb +215 -49
- data/lib/flat_api/models/user_details.rb +258 -93
- data/lib/flat_api/models/user_details_admin.rb +220 -68
- data/lib/flat_api/models/user_details_admin_all_of_license.rb +278 -0
- data/lib/flat_api/models/user_public.rb +242 -79
- data/lib/flat_api/models/user_public_summary.rb +201 -61
- data/lib/flat_api/models/user_signin_link.rb +225 -0
- data/lib/flat_api/models/user_signin_link_creation.rb +217 -0
- data/lib/flat_api/version.rb +5 -5
- data/lib/flat_api.rb +78 -15
- data/spec/api/account_api_spec.rb +11 -10
- data/spec/api/class_api_spec.rb +212 -68
- data/spec/api/collection_api_spec.rb +36 -37
- data/spec/api/edu_resources_api_spec.rb +181 -0
- data/spec/api/group_api_spec.rb +14 -15
- data/spec/api/organization_api_spec.rb +78 -39
- data/spec/api/score_api_spec.rb +105 -91
- data/spec/api/task_api_spec.rb +47 -0
- data/spec/api/user_api_spec.rb +27 -25
- data/spec/models/api_access_token_spec.rb +66 -0
- data/spec/models/app_scopes_spec.rb +30 -0
- data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +42 -0
- data/spec/models/assignment_capabilities_spec.rb +60 -0
- data/spec/models/assignment_copy_response_spec.rb +124 -0
- data/spec/models/assignment_copy_spec.rb +13 -23
- data/spec/models/assignment_copy_to_class_spec.rb +48 -0
- data/spec/models/assignment_copy_to_resource_library_spec.rb +42 -0
- data/spec/models/assignment_spec.rb +51 -39
- data/spec/models/assignment_submission_comment_creation_spec.rb +36 -0
- data/spec/models/assignment_submission_comment_spec.rb +72 -0
- data/spec/models/assignment_submission_comments_spec.rb +42 -0
- data/spec/models/assignment_submission_history_attachment_spec.rb +48 -0
- data/spec/models/assignment_submission_history_spec.rb +112 -0
- data/spec/models/assignment_submission_history_state_spec.rb +30 -0
- data/spec/models/assignment_submission_lti_spec.rb +36 -0
- data/spec/models/assignment_submission_playback_inner_spec.rb +42 -0
- data/spec/models/assignment_submission_spec.rb +68 -32
- data/spec/models/assignment_submission_state_spec.rb +30 -0
- data/spec/models/assignment_submission_update_spec.rb +29 -23
- data/spec/models/assignment_type_spec.rb +30 -0
- data/spec/models/assignment_update_spec.rb +100 -0
- data/spec/models/class_assignment_all_of_canvas_spec.rb +42 -0
- data/spec/models/class_assignment_all_of_lti_spec.rb +36 -0
- data/spec/models/class_assignment_all_of_mfc_spec.rb +42 -0
- data/spec/models/class_assignment_spec.rb +216 -0
- data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +36 -0
- data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +36 -0
- data/spec/models/class_assignment_update_spec.rb +150 -0
- data/spec/models/class_attachment_creation_spec.rb +41 -23
- data/spec/models/class_creation_spec.rb +34 -18
- data/spec/models/class_details_canvas_spec.rb +12 -18
- data/spec/models/class_details_clever_spec.rb +21 -27
- data/spec/models/class_details_google_classroom_spec.rb +12 -30
- data/spec/models/class_details_google_drive_spec.rb +12 -18
- data/spec/models/class_details_issues_spec.rb +36 -0
- data/spec/models/class_details_issues_sync_inner_spec.rb +52 -0
- data/spec/models/class_details_lti_spec.rb +13 -19
- data/spec/models/class_details_mfc_spec.rb +42 -0
- data/spec/models/class_details_microsoft_graph_spec.rb +36 -0
- data/spec/models/class_details_spec.rb +68 -34
- data/spec/models/class_grade_level_spec.rb +30 -0
- data/spec/models/class_roles_spec.rb +10 -16
- data/spec/models/class_state_spec.rb +10 -16
- data/spec/models/class_update_spec.rb +34 -18
- data/spec/models/collection_app_spec.rb +48 -0
- data/spec/models/collection_capabilities_spec.rb +15 -21
- data/spec/models/collection_creation_spec.rb +17 -17
- data/spec/models/collection_modification_spec.rb +17 -17
- data/spec/models/collection_privacy_spec.rb +10 -16
- data/spec/models/collection_spec.rb +39 -27
- data/spec/models/collection_type_spec.rb +10 -16
- data/spec/models/edu_library_spec.rb +62 -0
- data/spec/models/edu_resource_capabilities_spec.rb +48 -0
- data/spec/models/edu_resource_copy_spec.rb +36 -0
- data/spec/models/edu_resource_creation_spec.rb +48 -0
- data/spec/models/edu_resource_folder_spec.rb +36 -0
- data/spec/models/edu_resource_lti_link_spec.rb +36 -0
- data/spec/models/edu_resource_move_spec.rb +36 -0
- data/spec/models/edu_resource_privacy_spec.rb +30 -0
- data/spec/models/edu_resource_resource_spec.rb +32 -0
- data/spec/models/edu_resource_spec.rb +96 -0
- data/spec/models/edu_resource_type_spec.rb +30 -0
- data/spec/models/edu_resource_update_spec.rb +42 -0
- data/spec/models/edu_resource_use_in_class_spec.rb +42 -0
- data/spec/models/flat_error_response_spec.rb +14 -20
- data/spec/models/flat_locales_spec.rb +10 -16
- data/spec/models/google_classroom_coursework_spec.rb +19 -19
- data/spec/models/google_classroom_submission_spec.rb +13 -19
- data/spec/models/group_details_spec.rb +17 -23
- data/spec/models/group_spec.rb +21 -27
- data/spec/models/group_type_spec.rb +10 -16
- data/spec/models/license_mode_spec.rb +10 -16
- data/spec/models/license_sources_spec.rb +10 -16
- data/spec/models/lms_name_spec.rb +10 -16
- data/spec/models/lti_credentials_creation_spec.rb +12 -18
- data/spec/models/lti_credentials_spec.rb +19 -25
- data/spec/models/media_attachment_spec.rb +67 -37
- data/spec/models/media_score_sharing_mode_spec.rb +10 -16
- data/spec/models/microsoft_graph_assignment_spec.rb +54 -0
- data/spec/models/microsoft_graph_submission_spec.rb +42 -0
- data/spec/models/organization_invitation_creation_spec.rb +16 -18
- data/spec/models/organization_invitation_spec.rb +29 -23
- data/spec/models/organization_roles_spec.rb +10 -16
- data/spec/models/organization_user_access_token_creation_spec.rb +36 -0
- data/spec/models/resource_collaborator_creation_spec.rb +17 -23
- data/spec/models/resource_collaborator_spec.rb +47 -25
- data/spec/models/resource_rights_spec.rb +29 -19
- data/spec/models/score_comment_context_spec.rb +23 -23
- data/spec/models/score_comment_creation_spec.rb +16 -22
- data/spec/models/score_comment_moderation_spec.rb +46 -0
- data/spec/models/score_comment_spec.rb +35 -35
- data/spec/models/score_comment_update_spec.rb +14 -20
- data/spec/models/score_comments_counts_spec.rb +14 -20
- data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +82 -0
- data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +60 -0
- data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +66 -0
- data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +42 -0
- data/spec/models/score_creation_builder_data_spec.rb +60 -0
- data/spec/models/score_creation_common_spec.rb +54 -0
- data/spec/models/score_creation_file_import_spec.rb +76 -0
- data/spec/models/score_creation_google_drive_import_spec.rb +60 -0
- data/spec/models/score_creation_spec.rb +12 -58
- data/spec/models/score_creation_type_spec.rb +10 -16
- data/spec/models/score_details_spec.rb +75 -45
- data/spec/models/score_fork_spec.rb +23 -17
- data/spec/models/score_license_spec.rb +10 -16
- data/spec/models/score_likes_counts_spec.rb +13 -19
- data/spec/models/score_modification_spec.rb +47 -23
- data/spec/models/score_plays_counts_spec.rb +48 -0
- data/spec/models/score_privacy_spec.rb +10 -16
- data/spec/models/score_revision_creation_spec.rb +18 -20
- data/spec/models/score_revision_spec.rb +23 -23
- data/spec/models/score_revision_statistics_spec.rb +24 -18
- data/spec/models/score_source_spec.rb +11 -17
- data/spec/models/score_summary_spec.rb +16 -22
- data/spec/models/score_track_creation_spec.rb +21 -21
- data/spec/models/score_track_point_spec.rb +17 -23
- data/spec/models/score_track_purpose_spec.rb +30 -0
- data/spec/models/score_track_spec.rb +28 -28
- data/spec/models/score_track_state_spec.rb +10 -16
- data/spec/models/score_track_type_spec.rb +10 -16
- data/spec/models/score_track_update_spec.rb +14 -20
- data/spec/models/score_views_counts_spec.rb +13 -19
- data/spec/models/task_export_options_spec.rb +36 -0
- data/spec/models/task_progress_spec.rb +42 -0
- data/spec/models/task_result_spec.rb +42 -0
- data/spec/models/task_spec.rb +100 -0
- data/spec/models/tutteo_product_spec.rb +30 -0
- data/spec/models/user_admin_update_spec.rb +36 -18
- data/spec/models/user_azure_details_spec.rb +48 -0
- data/spec/models/user_basics_spec.rb +47 -25
- data/spec/models/user_community_profile_links_spec.rb +66 -0
- data/spec/models/user_creation_spec.rb +36 -20
- data/spec/models/user_details_admin_all_of_license_spec.rb +60 -0
- data/spec/models/user_details_admin_spec.rb +60 -32
- data/spec/models/user_details_spec.rb +93 -45
- data/spec/models/user_public_spec.rb +71 -37
- data/spec/models/user_public_summary_spec.rb +51 -29
- data/spec/models/user_signin_link_creation_spec.rb +36 -0
- data/spec/models/user_signin_link_spec.rb +42 -0
- data/spec/spec_helper.rb +4 -4
- metadata +279 -327
- data/CHANGELOG.md +0 -17
- data/Gemfile +0 -7
- data/README.md +0 -271
- 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/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_client_spec.rb +0 -226
- data/spec/configuration_spec.rb +0 -42
- data/spec/models/assignment_creation_spec.rb +0 -66
- data/spec/models/collection_title_spec.rb +0 -36
- data/spec/models/resource_sharing_key_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/user_details_admin_license_spec.rb +0 -66
- data/spec/models/user_instruments_spec.rb +0 -36
@@ -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 (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
|
5
5
|
|
6
|
-
OpenAPI
|
6
|
+
The version of the OpenAPI document: 2.20.0
|
7
7
|
Contact: developers@flat.io
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 7.3.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
|
17
18
|
class UserDetails
|
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
|
@@ -61,19 +73,33 @@ module FlatApi
|
|
61
73
|
# Number of public scores the user have
|
62
74
|
attr_accessor :owned_public_scores_count
|
63
75
|
|
76
|
+
# Cover picture (backgroud) for the profile
|
77
|
+
attr_accessor :cover_picture
|
78
|
+
|
64
79
|
# Theme (background) for the profile
|
65
80
|
attr_accessor :profile_theme
|
66
81
|
|
82
|
+
# An array of the instrument identifiers. The format of the strings is `{instrument-group}.{instrument-id}`.
|
67
83
|
attr_accessor :instruments
|
68
84
|
|
69
|
-
|
70
|
-
|
85
|
+
attr_accessor :links
|
86
|
+
|
87
|
+
attr_accessor :azure_details
|
71
88
|
|
72
89
|
# Tell either this user profile is private or not (individual accounts only)
|
73
90
|
attr_accessor :private_profile
|
74
91
|
|
75
92
|
attr_accessor :locale
|
76
93
|
|
94
|
+
# For Flat for Education accounts, list of Group identifiers the user is part of.
|
95
|
+
attr_accessor :groups
|
96
|
+
|
97
|
+
# The ID of the user profile picture
|
98
|
+
attr_accessor :picture_file
|
99
|
+
|
100
|
+
# The ID of the user profile cover picture
|
101
|
+
attr_accessor :cover_picture_file
|
102
|
+
|
77
103
|
class EnumAttributeValidator
|
78
104
|
attr_reader :datatype
|
79
105
|
attr_reader :allowable_values
|
@@ -100,11 +126,15 @@ module FlatApi
|
|
100
126
|
def self.attribute_map
|
101
127
|
{
|
102
128
|
:'id' => :'id',
|
129
|
+
:'type' => :'type',
|
130
|
+
:'product' => :'product',
|
103
131
|
:'username' => :'username',
|
104
|
-
:'name' => :'name',
|
105
132
|
:'printable_name' => :'printableName',
|
133
|
+
:'firstname' => :'firstname',
|
134
|
+
:'lastname' => :'lastname',
|
135
|
+
:'name' => :'name',
|
106
136
|
:'picture' => :'picture',
|
107
|
-
:'
|
137
|
+
:'badges' => :'badges',
|
108
138
|
:'organization' => :'organization',
|
109
139
|
:'organization_role' => :'organizationRole',
|
110
140
|
:'class_role' => :'classRole',
|
@@ -115,148 +145,266 @@ module FlatApi
|
|
115
145
|
:'followers_count' => :'followersCount',
|
116
146
|
:'following_count' => :'followingCount',
|
117
147
|
:'owned_public_scores_count' => :'ownedPublicScoresCount',
|
148
|
+
:'cover_picture' => :'coverPicture',
|
118
149
|
:'profile_theme' => :'profileTheme',
|
119
150
|
:'instruments' => :'instruments',
|
120
|
-
:'
|
151
|
+
:'links' => :'links',
|
152
|
+
:'azure_details' => :'azureDetails',
|
121
153
|
:'private_profile' => :'privateProfile',
|
122
|
-
:'locale' => :'locale'
|
154
|
+
:'locale' => :'locale',
|
155
|
+
:'groups' => :'groups',
|
156
|
+
:'picture_file' => :'pictureFile',
|
157
|
+
:'cover_picture_file' => :'coverPictureFile'
|
123
158
|
}
|
124
159
|
end
|
125
160
|
|
161
|
+
# Returns all the JSON keys this model knows about
|
162
|
+
def self.acceptable_attributes
|
163
|
+
attribute_map.values
|
164
|
+
end
|
165
|
+
|
126
166
|
# Attribute type mapping.
|
127
|
-
def self.
|
167
|
+
def self.openapi_types
|
128
168
|
{
|
129
169
|
:'id' => :'String',
|
170
|
+
:'type' => :'String',
|
171
|
+
:'product' => :'TutteoProduct',
|
130
172
|
:'username' => :'String',
|
131
|
-
:'name' => :'String',
|
132
173
|
:'printable_name' => :'String',
|
174
|
+
:'firstname' => :'String',
|
175
|
+
:'lastname' => :'String',
|
176
|
+
:'name' => :'String',
|
133
177
|
:'picture' => :'String',
|
134
|
-
:'
|
178
|
+
:'badges' => :'Array<String>',
|
135
179
|
:'organization' => :'String',
|
136
180
|
:'organization_role' => :'OrganizationRoles',
|
137
181
|
:'class_role' => :'ClassRoles',
|
138
182
|
:'html_url' => :'String',
|
139
183
|
:'bio' => :'String',
|
140
|
-
:'registration_date' => :'
|
184
|
+
:'registration_date' => :'Time',
|
141
185
|
:'liked_scores_count' => :'Integer',
|
142
186
|
:'followers_count' => :'Integer',
|
143
187
|
:'following_count' => :'Integer',
|
144
188
|
:'owned_public_scores_count' => :'Integer',
|
189
|
+
:'cover_picture' => :'String',
|
145
190
|
:'profile_theme' => :'String',
|
146
|
-
:'instruments' => :'
|
147
|
-
:'
|
148
|
-
:'
|
149
|
-
:'
|
191
|
+
:'instruments' => :'Array<String>',
|
192
|
+
:'links' => :'UserCommunityProfileLinks',
|
193
|
+
:'azure_details' => :'UserAzureDetails',
|
194
|
+
:'private_profile' => :'Boolean',
|
195
|
+
:'locale' => :'FlatLocales',
|
196
|
+
:'groups' => :'Array<String>',
|
197
|
+
:'picture_file' => :'String',
|
198
|
+
:'cover_picture_file' => :'String'
|
150
199
|
}
|
151
200
|
end
|
152
201
|
|
202
|
+
# List of attributes with nullable: true
|
203
|
+
def self.openapi_nullable
|
204
|
+
Set.new([
|
205
|
+
:'picture',
|
206
|
+
:'cover_picture',
|
207
|
+
:'picture_file',
|
208
|
+
:'cover_picture_file'
|
209
|
+
])
|
210
|
+
end
|
211
|
+
|
212
|
+
# List of class defined in allOf (OpenAPI v3)
|
213
|
+
def self.openapi_all_of
|
214
|
+
[
|
215
|
+
:'UserPublic'
|
216
|
+
]
|
217
|
+
end
|
218
|
+
|
153
219
|
# Initializes the object
|
154
220
|
# @param [Hash] attributes Model attributes in the form of hash
|
155
221
|
def initialize(attributes = {})
|
156
|
-
|
222
|
+
if (!attributes.is_a?(Hash))
|
223
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::UserDetails` initialize method"
|
224
|
+
end
|
157
225
|
|
158
|
-
# convert string to symbol for hash key
|
159
|
-
attributes = attributes.each_with_object({}){|(k,v), h|
|
226
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
227
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
228
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
229
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::UserDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
230
|
+
end
|
231
|
+
h[k.to_sym] = v
|
232
|
+
}
|
160
233
|
|
161
|
-
if attributes.
|
234
|
+
if attributes.key?(:'id')
|
162
235
|
self.id = attributes[:'id']
|
236
|
+
else
|
237
|
+
self.id = nil
|
238
|
+
end
|
239
|
+
|
240
|
+
if attributes.key?(:'type')
|
241
|
+
self.type = attributes[:'type']
|
242
|
+
else
|
243
|
+
self.type = nil
|
244
|
+
end
|
245
|
+
|
246
|
+
if attributes.key?(:'product')
|
247
|
+
self.product = attributes[:'product']
|
248
|
+
else
|
249
|
+
self.product = 'flat'
|
163
250
|
end
|
164
251
|
|
165
|
-
if attributes.
|
252
|
+
if attributes.key?(:'username')
|
166
253
|
self.username = attributes[:'username']
|
254
|
+
else
|
255
|
+
self.username = nil
|
167
256
|
end
|
168
257
|
|
169
|
-
if attributes.
|
170
|
-
self.
|
258
|
+
if attributes.key?(:'printable_name')
|
259
|
+
self.printable_name = attributes[:'printable_name']
|
260
|
+
end
|
261
|
+
|
262
|
+
if attributes.key?(:'firstname')
|
263
|
+
self.firstname = attributes[:'firstname']
|
171
264
|
end
|
172
265
|
|
173
|
-
if attributes.
|
174
|
-
self.
|
266
|
+
if attributes.key?(:'lastname')
|
267
|
+
self.lastname = attributes[:'lastname']
|
175
268
|
end
|
176
269
|
|
177
|
-
if attributes.
|
270
|
+
if attributes.key?(:'name')
|
271
|
+
self.name = attributes[:'name']
|
272
|
+
end
|
273
|
+
|
274
|
+
if attributes.key?(:'picture')
|
178
275
|
self.picture = attributes[:'picture']
|
276
|
+
else
|
277
|
+
self.picture = nil
|
179
278
|
end
|
180
279
|
|
181
|
-
if attributes.
|
182
|
-
|
280
|
+
if attributes.key?(:'badges')
|
281
|
+
if (value = attributes[:'badges']).is_a?(Array)
|
282
|
+
self.badges = value
|
283
|
+
end
|
183
284
|
end
|
184
285
|
|
185
|
-
if attributes.
|
286
|
+
if attributes.key?(:'organization')
|
186
287
|
self.organization = attributes[:'organization']
|
187
288
|
end
|
188
289
|
|
189
|
-
if attributes.
|
190
|
-
self.organization_role = attributes[:'
|
290
|
+
if attributes.key?(:'organization_role')
|
291
|
+
self.organization_role = attributes[:'organization_role']
|
191
292
|
end
|
192
293
|
|
193
|
-
if attributes.
|
194
|
-
self.class_role = attributes[:'
|
294
|
+
if attributes.key?(:'class_role')
|
295
|
+
self.class_role = attributes[:'class_role']
|
195
296
|
end
|
196
297
|
|
197
|
-
if attributes.
|
198
|
-
self.html_url = attributes[:'
|
298
|
+
if attributes.key?(:'html_url')
|
299
|
+
self.html_url = attributes[:'html_url']
|
199
300
|
end
|
200
301
|
|
201
|
-
if attributes.
|
302
|
+
if attributes.key?(:'bio')
|
202
303
|
self.bio = attributes[:'bio']
|
203
304
|
end
|
204
305
|
|
205
|
-
if attributes.
|
206
|
-
self.registration_date = attributes[:'
|
306
|
+
if attributes.key?(:'registration_date')
|
307
|
+
self.registration_date = attributes[:'registration_date']
|
207
308
|
end
|
208
309
|
|
209
|
-
if attributes.
|
210
|
-
self.liked_scores_count = attributes[:'
|
310
|
+
if attributes.key?(:'liked_scores_count')
|
311
|
+
self.liked_scores_count = attributes[:'liked_scores_count']
|
211
312
|
end
|
212
313
|
|
213
|
-
if attributes.
|
214
|
-
self.followers_count = attributes[:'
|
314
|
+
if attributes.key?(:'followers_count')
|
315
|
+
self.followers_count = attributes[:'followers_count']
|
215
316
|
end
|
216
317
|
|
217
|
-
if attributes.
|
218
|
-
self.following_count = attributes[:'
|
318
|
+
if attributes.key?(:'following_count')
|
319
|
+
self.following_count = attributes[:'following_count']
|
219
320
|
end
|
220
321
|
|
221
|
-
if attributes.
|
222
|
-
self.owned_public_scores_count = attributes[:'
|
322
|
+
if attributes.key?(:'owned_public_scores_count')
|
323
|
+
self.owned_public_scores_count = attributes[:'owned_public_scores_count']
|
223
324
|
end
|
224
325
|
|
225
|
-
if attributes.
|
226
|
-
self.
|
326
|
+
if attributes.key?(:'cover_picture')
|
327
|
+
self.cover_picture = attributes[:'cover_picture']
|
227
328
|
end
|
228
329
|
|
229
|
-
if attributes.
|
230
|
-
self.
|
330
|
+
if attributes.key?(:'profile_theme')
|
331
|
+
self.profile_theme = attributes[:'profile_theme']
|
231
332
|
end
|
232
333
|
|
233
|
-
if attributes.
|
234
|
-
|
334
|
+
if attributes.key?(:'instruments')
|
335
|
+
if (value = attributes[:'instruments']).is_a?(Array)
|
336
|
+
self.instruments = value
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
340
|
+
if attributes.key?(:'links')
|
341
|
+
self.links = attributes[:'links']
|
342
|
+
end
|
343
|
+
|
344
|
+
if attributes.key?(:'azure_details')
|
345
|
+
self.azure_details = attributes[:'azure_details']
|
235
346
|
end
|
236
347
|
|
237
|
-
if attributes.
|
238
|
-
self.private_profile = attributes[:'
|
348
|
+
if attributes.key?(:'private_profile')
|
349
|
+
self.private_profile = attributes[:'private_profile']
|
239
350
|
end
|
240
351
|
|
241
|
-
if attributes.
|
352
|
+
if attributes.key?(:'locale')
|
242
353
|
self.locale = attributes[:'locale']
|
354
|
+
else
|
355
|
+
self.locale = 'en'
|
356
|
+
end
|
357
|
+
|
358
|
+
if attributes.key?(:'groups')
|
359
|
+
if (value = attributes[:'groups']).is_a?(Array)
|
360
|
+
self.groups = value
|
361
|
+
end
|
243
362
|
end
|
244
363
|
|
364
|
+
if attributes.key?(:'picture_file')
|
365
|
+
self.picture_file = attributes[:'picture_file']
|
366
|
+
end
|
367
|
+
|
368
|
+
if attributes.key?(:'cover_picture_file')
|
369
|
+
self.cover_picture_file = attributes[:'cover_picture_file']
|
370
|
+
end
|
245
371
|
end
|
246
372
|
|
247
373
|
# Show invalid properties with the reasons. Usually used together with valid?
|
248
374
|
# @return Array for valid properties with the reasons
|
249
375
|
def list_invalid_properties
|
376
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
250
377
|
invalid_properties = Array.new
|
251
|
-
|
378
|
+
if @id.nil?
|
379
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
380
|
+
end
|
381
|
+
|
382
|
+
if @type.nil?
|
383
|
+
invalid_properties.push('invalid value for "type", type cannot be nil.')
|
384
|
+
end
|
385
|
+
|
386
|
+
if @product.nil?
|
387
|
+
invalid_properties.push('invalid value for "product", product cannot be nil.')
|
388
|
+
end
|
389
|
+
|
390
|
+
if @username.nil?
|
391
|
+
invalid_properties.push('invalid value for "username", username cannot be nil.')
|
392
|
+
end
|
393
|
+
|
394
|
+
invalid_properties
|
252
395
|
end
|
253
396
|
|
254
397
|
# Check to see if the all the properties in the model are valid
|
255
398
|
# @return true if the model is valid
|
256
399
|
def valid?
|
400
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
401
|
+
return false if @id.nil?
|
402
|
+
return false if @type.nil?
|
257
403
|
type_validator = EnumAttributeValidator.new('String', ["user", "guest"])
|
258
404
|
return false unless type_validator.valid?(@type)
|
259
|
-
return
|
405
|
+
return false if @product.nil?
|
406
|
+
return false if @username.nil?
|
407
|
+
true
|
260
408
|
end
|
261
409
|
|
262
410
|
# Custom attribute writer method checking allowed values (enum).
|
@@ -264,7 +412,7 @@ module FlatApi
|
|
264
412
|
def type=(type)
|
265
413
|
validator = EnumAttributeValidator.new('String', ["user", "guest"])
|
266
414
|
unless validator.valid?(type)
|
267
|
-
fail ArgumentError, "invalid value for
|
415
|
+
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
268
416
|
end
|
269
417
|
@type = type
|
270
418
|
end
|
@@ -275,11 +423,15 @@ module FlatApi
|
|
275
423
|
return true if self.equal?(o)
|
276
424
|
self.class == o.class &&
|
277
425
|
id == o.id &&
|
426
|
+
type == o.type &&
|
427
|
+
product == o.product &&
|
278
428
|
username == o.username &&
|
279
|
-
name == o.name &&
|
280
429
|
printable_name == o.printable_name &&
|
430
|
+
firstname == o.firstname &&
|
431
|
+
lastname == o.lastname &&
|
432
|
+
name == o.name &&
|
281
433
|
picture == o.picture &&
|
282
|
-
|
434
|
+
badges == o.badges &&
|
283
435
|
organization == o.organization &&
|
284
436
|
organization_role == o.organization_role &&
|
285
437
|
class_role == o.class_role &&
|
@@ -290,11 +442,16 @@ module FlatApi
|
|
290
442
|
followers_count == o.followers_count &&
|
291
443
|
following_count == o.following_count &&
|
292
444
|
owned_public_scores_count == o.owned_public_scores_count &&
|
445
|
+
cover_picture == o.cover_picture &&
|
293
446
|
profile_theme == o.profile_theme &&
|
294
447
|
instruments == o.instruments &&
|
295
|
-
|
448
|
+
links == o.links &&
|
449
|
+
azure_details == o.azure_details &&
|
296
450
|
private_profile == o.private_profile &&
|
297
|
-
locale == o.locale
|
451
|
+
locale == o.locale &&
|
452
|
+
groups == o.groups &&
|
453
|
+
picture_file == o.picture_file &&
|
454
|
+
cover_picture_file == o.cover_picture_file
|
298
455
|
end
|
299
456
|
|
300
457
|
# @see the `==` method
|
@@ -304,39 +461,42 @@ module FlatApi
|
|
304
461
|
end
|
305
462
|
|
306
463
|
# Calculates hash code according to all attributes.
|
307
|
-
# @return [
|
464
|
+
# @return [Integer] Hash code
|
308
465
|
def hash
|
309
|
-
[id,
|
466
|
+
[id, type, product, username, printable_name, firstname, lastname, name, picture, badges, organization, organization_role, class_role, html_url, bio, registration_date, liked_scores_count, followers_count, following_count, owned_public_scores_count, cover_picture, profile_theme, instruments, links, azure_details, private_profile, locale, groups, picture_file, cover_picture_file].hash
|
310
467
|
end
|
311
468
|
|
312
469
|
# Builds the object from hash
|
313
470
|
# @param [Hash] attributes Model attributes in the form of hash
|
314
471
|
# @return [Object] Returns the model itself
|
315
|
-
def build_from_hash(attributes)
|
472
|
+
def self.build_from_hash(attributes)
|
316
473
|
return nil unless attributes.is_a?(Hash)
|
317
|
-
|
318
|
-
|
319
|
-
|
474
|
+
attributes = attributes.transform_keys(&:to_sym)
|
475
|
+
transformed_hash = {}
|
476
|
+
openapi_types.each_pair do |key, type|
|
477
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
478
|
+
transformed_hash["#{key}"] = nil
|
479
|
+
elsif type =~ /\AArray<(.*)>/i
|
480
|
+
# check to ensure the input is an array given that the attribute
|
320
481
|
# is documented as an array but the input is not
|
321
|
-
if attributes[
|
322
|
-
|
482
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
483
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
323
484
|
end
|
324
|
-
elsif !attributes[
|
325
|
-
|
326
|
-
end
|
485
|
+
elsif !attributes[attribute_map[key]].nil?
|
486
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
487
|
+
end
|
327
488
|
end
|
328
|
-
|
329
|
-
self
|
489
|
+
new(transformed_hash)
|
330
490
|
end
|
331
491
|
|
332
492
|
# Deserializes the data based on type
|
333
493
|
# @param string type Data type
|
334
494
|
# @param string value Value to be deserialized
|
335
495
|
# @return [Object] Deserialized data
|
336
|
-
def _deserialize(type, value)
|
496
|
+
def self._deserialize(type, value)
|
337
497
|
case type.to_sym
|
338
|
-
when :
|
339
|
-
|
498
|
+
when :Time
|
499
|
+
Time.parse(value)
|
340
500
|
when :Date
|
341
501
|
Date.parse(value)
|
342
502
|
when :String
|
@@ -345,7 +505,7 @@ module FlatApi
|
|
345
505
|
value.to_i
|
346
506
|
when :Float
|
347
507
|
value.to_f
|
348
|
-
when :
|
508
|
+
when :Boolean
|
349
509
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
350
510
|
true
|
351
511
|
else
|
@@ -366,8 +526,9 @@ module FlatApi
|
|
366
526
|
end
|
367
527
|
end
|
368
528
|
else # model
|
369
|
-
|
370
|
-
|
529
|
+
# models (e.g. Pet) or oneOf
|
530
|
+
klass = FlatApi.const_get(type)
|
531
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
371
532
|
end
|
372
533
|
end
|
373
534
|
|
@@ -389,7 +550,11 @@ module FlatApi
|
|
389
550
|
hash = {}
|
390
551
|
self.class.attribute_map.each_pair do |attr, param|
|
391
552
|
value = self.send(attr)
|
392
|
-
|
553
|
+
if value.nil?
|
554
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
555
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
556
|
+
end
|
557
|
+
|
393
558
|
hash[param] = _to_hash(value)
|
394
559
|
end
|
395
560
|
hash
|
@@ -401,7 +566,7 @@ module FlatApi
|
|
401
566
|
# @return [Hash] Returns the value in the form of hash
|
402
567
|
def _to_hash(value)
|
403
568
|
if value.is_a?(Array)
|
404
|
-
value.compact.map{ |v| _to_hash(v) }
|
569
|
+
value.compact.map { |v| _to_hash(v) }
|
405
570
|
elsif value.is_a?(Hash)
|
406
571
|
{}.tap do |hash|
|
407
572
|
value.each { |k, v| hash[k] = _to_hash(v) }
|