songtradr_api_client_ruby 1.12.23 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +6 -5
  4. data/docs/AllowedValuesApi.md +2 -2
  5. data/docs/ApiKeyDTO.md +2 -2
  6. data/docs/CategoryMediumDTO.md +3 -3
  7. data/docs/FileSmallDTO.md +3 -3
  8. data/docs/MusicalFeaturesDTO.md +38 -38
  9. data/docs/PlaylistLargeDTO.md +2 -2
  10. data/docs/ProductMediumDTO.md +4 -4
  11. data/docs/RecordingApi.md +6 -0
  12. data/docs/RecordingLargeDTO.md +5 -5
  13. data/docs/RecordingMediumDTO.md +5 -3
  14. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  15. data/docs/RecordingSmallDTO.md +3 -3
  16. data/docs/TrackDTO.md +18 -0
  17. data/docs/UserApi.md +4 -0
  18. data/docs/UserDTO.md +18 -0
  19. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +4 -4
  20. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +1 -1
  21. data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
  22. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +1 -1
  23. data/lib/songtradr_api_client_ruby/api/recording_api.rb +10 -1
  24. data/lib/songtradr_api_client_ruby/api/user_api.rb +7 -1
  25. data/lib/songtradr_api_client_ruby/api_client.rb +1 -1
  26. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  27. data/lib/songtradr_api_client_ruby/configuration.rb +10 -8
  28. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +13 -18
  29. data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +29 -28
  30. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +30 -31
  31. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +15 -18
  32. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +17 -18
  33. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +17 -18
  34. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +15 -18
  35. data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +13 -18
  36. data/lib/songtradr_api_client_ruby/models/error_response.rb +19 -18
  37. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +19 -18
  38. data/lib/songtradr_api_client_ruby/models/file_dto.rb +23 -18
  39. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +21 -18
  40. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +19 -18
  41. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +41 -36
  42. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +13 -18
  43. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +17 -18
  44. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +15 -18
  45. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +15 -18
  46. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +17 -18
  47. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +15 -18
  48. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +17 -18
  49. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +13 -18
  50. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +17 -18
  51. data/lib/songtradr_api_client_ruby/models/login_dto.rb +17 -18
  52. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +354 -359
  53. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +15 -18
  54. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +15 -18
  55. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +17 -18
  56. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +25 -28
  57. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +46 -39
  58. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +15 -18
  59. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +17 -18
  60. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +19 -18
  61. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +57 -40
  62. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +21 -18
  63. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +55 -31
  64. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +28 -31
  65. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +15 -18
  66. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +15 -18
  67. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +15 -18
  68. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +13 -18
  69. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +36 -31
  70. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +15 -18
  71. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +17 -18
  72. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +21 -18
  73. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +15 -18
  74. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +17 -18
  75. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +17 -18
  76. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +15 -18
  77. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +13 -18
  78. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +13 -18
  79. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +15 -18
  80. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +95 -18
  81. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +15 -18
  82. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +15 -18
  83. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +19 -18
  84. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +17 -18
  85. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +17 -18
  86. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +17 -18
  87. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +17 -18
  88. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +17 -18
  89. data/lib/songtradr_api_client_ruby/models/title_dto.rb +15 -18
  90. data/lib/songtradr_api_client_ruby/models/token_request.rb +15 -18
  91. data/lib/songtradr_api_client_ruby/models/track_dto.rb +215 -0
  92. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +17 -18
  93. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +17 -18
  94. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +13 -18
  95. data/lib/songtradr_api_client_ruby/models/user_dto.rb +196 -19
  96. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  97. data/lib/songtradr_api_client_ruby.rb +2 -1
  98. data/openapi-generator-config.yaml +1 -1
  99. data/songtradr_api_client_ruby.gemspec +1 -1
  100. data/spec/api/allowed_values_api_spec.rb +2 -2
  101. data/spec/api/api_keys_api_spec.rb +1 -1
  102. data/spec/api/party_api_spec.rb +1 -1
  103. data/spec/api/playlist_api_spec.rb +1 -1
  104. data/spec/api/recording_api_spec.rb +4 -1
  105. data/spec/api/user_api_spec.rb +3 -1
  106. data/spec/api_client_spec.rb +1 -1
  107. data/spec/configuration_spec.rb +1 -1
  108. data/spec/models/admin_api_user_dto_spec.rb +1 -1
  109. data/spec/models/api_key_dto_spec.rb +3 -3
  110. data/spec/models/category_medium_dto_spec.rb +3 -3
  111. data/spec/models/category_minimal_dto_spec.rb +1 -1
  112. data/spec/models/config_access_dto_spec.rb +1 -1
  113. data/spec/models/config_identifier_dto_spec.rb +1 -1
  114. data/spec/models/contributor_type_dto_spec.rb +1 -1
  115. data/spec/models/create_api_key_dto_spec.rb +1 -1
  116. data/spec/models/error_response_spec.rb +1 -1
  117. data/spec/models/field_summary_dto_spec.rb +1 -1
  118. data/spec/models/file_dto_spec.rb +1 -1
  119. data/spec/models/file_list_dto_spec.rb +1 -1
  120. data/spec/models/file_minimal_with_url_dto_spec.rb +1 -1
  121. data/spec/models/file_small_dto_spec.rb +7 -7
  122. data/spec/models/file_upload_dto_spec.rb +1 -1
  123. data/spec/models/file_w_ith_url_dto_spec.rb +1 -1
  124. data/spec/models/files_summary_dto_spec.rb +1 -1
  125. data/spec/models/forgot_password_dto_spec.rb +1 -1
  126. data/spec/models/genre_dto_spec.rb +1 -1
  127. data/spec/models/genre_minimal_dto_spec.rb +1 -1
  128. data/spec/models/genres_summary_dto_spec.rb +1 -1
  129. data/spec/models/init_put_recording_audio_dto_spec.rb +1 -1
  130. data/spec/models/jwt_token_dto_spec.rb +1 -1
  131. data/spec/models/login_dto_spec.rb +1 -1
  132. data/spec/models/musical_features_dto_spec.rb +163 -163
  133. data/spec/models/p_line_dto_spec.rb +1 -1
  134. data/spec/models/party_large_dto_spec.rb +1 -1
  135. data/spec/models/party_small_dto_spec.rb +1 -1
  136. data/spec/models/playlist_large_dto_spec.rb +4 -4
  137. data/spec/models/product_medium_dto_spec.rb +7 -7
  138. data/spec/models/product_party_dto_spec.rb +1 -1
  139. data/spec/models/recording_for_similarity_search_dto_spec.rb +1 -1
  140. data/spec/models/recording_genre_prediction_dto_spec.rb +1 -1
  141. data/spec/models/recording_large_dto_spec.rb +9 -9
  142. data/spec/models/recording_list_dto_spec.rb +1 -1
  143. data/spec/models/recording_medium_dto_spec.rb +10 -4
  144. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +3 -3
  145. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +1 -1
  146. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +1 -1
  147. data/spec/models/recording_party_dto_spec.rb +1 -1
  148. data/spec/models/recording_playlist_dto_spec.rb +1 -1
  149. data/spec/models/recording_small_dto_spec.rb +4 -4
  150. data/spec/models/recording_tag_small_dto_spec.rb +1 -1
  151. data/spec/models/save_file_recording_dto_spec.rb +1 -1
  152. data/spec/models/save_playlist_dto_spec.rb +1 -1
  153. data/spec/models/save_recording_genre_dto_spec.rb +1 -1
  154. data/spec/models/save_recording_party_dto_spec.rb +1 -1
  155. data/spec/models/save_recording_playlist_dto_spec.rb +1 -1
  156. data/spec/models/save_recording_tag_dto_spec.rb +1 -1
  157. data/spec/models/save_referrer_dto_spec.rb +1 -1
  158. data/spec/models/save_taggrams_dto_spec.rb +1 -1
  159. data/spec/models/save_user_dto_spec.rb +1 -1
  160. data/spec/models/search_filter_values_dto_spec.rb +1 -1
  161. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +1 -1
  162. data/spec/models/search_recording_granular_dto_spec.rb +1 -1
  163. data/spec/models/sign_up_dto_spec.rb +1 -1
  164. data/spec/models/tag_dto_spec.rb +1 -1
  165. data/spec/models/tag_small_dto_spec.rb +1 -1
  166. data/spec/models/taggram_dto_spec.rb +1 -1
  167. data/spec/models/tags_summary_dto_spec.rb +1 -1
  168. data/spec/models/tagstrength_dto_spec.rb +1 -1
  169. data/spec/models/title_dto_spec.rb +1 -1
  170. data/spec/models/token_request_spec.rb +1 -1
  171. data/spec/models/track_dto_spec.rb +34 -0
  172. data/spec/models/track_to_medium_product_dto_spec.rb +1 -1
  173. data/spec/models/update_password_dto_spec.rb +1 -1
  174. data/spec/models/usage_dto_spec.rb +1 -1
  175. data/spec/models/user_dto_spec.rb +55 -1
  176. data/spec/spec_helper.rb +1 -1
  177. metadata +62 -58
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -494,6 +494,7 @@ module SongtradrApiClientRuby
494
494
  # @option opts [String] :main_artist Search for a main artist.
495
495
  # @option opts [String] :composer Search for a composer.
496
496
  # @option opts [String] :title Search for a title.
497
+ # @option opts [String] :party_and_title Search for party and title.
497
498
  # @option opts [String] :language Search for a language of the lyrics.
498
499
  # @option opts [String] :genre Search for a genre.
499
500
  # @option opts [String] :primary_mood_cluster Search for a mood.
@@ -522,6 +523,8 @@ module SongtradrApiClientRuby
522
523
  # @option opts [String] :use_case Search for use case.
523
524
  # @option opts [String] :channel_suitability Search for channel suitability.
524
525
  # @option opts [String] :songtradr_track_id Search for Songtradr track id.
526
+ # @option opts [String] :usage Search for recording usage.
527
+ # @option opts [String] :similar_to_songtradr_track_id Search for songs similar to a recording by songtradr Track Id.
525
528
  # @option opts [String] :shuffled Sort the results randomly. (default to 'false')
526
529
  # @option opts [String] :sort Sort the results. (default to 'popularityDesc')
527
530
  # @option opts [Integer] :page Zero-based page index (0..N) (default to 0)
@@ -539,6 +542,7 @@ module SongtradrApiClientRuby
539
542
  # @option opts [String] :main_artist Search for a main artist.
540
543
  # @option opts [String] :composer Search for a composer.
541
544
  # @option opts [String] :title Search for a title.
545
+ # @option opts [String] :party_and_title Search for party and title.
542
546
  # @option opts [String] :language Search for a language of the lyrics.
543
547
  # @option opts [String] :genre Search for a genre.
544
548
  # @option opts [String] :primary_mood_cluster Search for a mood.
@@ -567,6 +571,8 @@ module SongtradrApiClientRuby
567
571
  # @option opts [String] :use_case Search for use case.
568
572
  # @option opts [String] :channel_suitability Search for channel suitability.
569
573
  # @option opts [String] :songtradr_track_id Search for Songtradr track id.
574
+ # @option opts [String] :usage Search for recording usage.
575
+ # @option opts [String] :similar_to_songtradr_track_id Search for songs similar to a recording by songtradr Track Id.
570
576
  # @option opts [String] :shuffled Sort the results randomly. (default to 'false')
571
577
  # @option opts [String] :sort Sort the results. (default to 'popularityDesc')
572
578
  # @option opts [Integer] :page Zero-based page index (0..N) (default to 0)
@@ -698,6 +704,7 @@ module SongtradrApiClientRuby
698
704
  query_params[:'mainArtist'] = opts[:'main_artist'] if !opts[:'main_artist'].nil?
699
705
  query_params[:'composer'] = opts[:'composer'] if !opts[:'composer'].nil?
700
706
  query_params[:'title'] = opts[:'title'] if !opts[:'title'].nil?
707
+ query_params[:'partyAndTitle'] = opts[:'party_and_title'] if !opts[:'party_and_title'].nil?
701
708
  query_params[:'language'] = opts[:'language'] if !opts[:'language'].nil?
702
709
  query_params[:'genre'] = opts[:'genre'] if !opts[:'genre'].nil?
703
710
  query_params[:'primaryMoodCluster'] = opts[:'primary_mood_cluster'] if !opts[:'primary_mood_cluster'].nil?
@@ -726,6 +733,8 @@ module SongtradrApiClientRuby
726
733
  query_params[:'useCase'] = opts[:'use_case'] if !opts[:'use_case'].nil?
727
734
  query_params[:'channelSuitability'] = opts[:'channel_suitability'] if !opts[:'channel_suitability'].nil?
728
735
  query_params[:'songtradrTrackId'] = opts[:'songtradr_track_id'] if !opts[:'songtradr_track_id'].nil?
736
+ query_params[:'usage'] = opts[:'usage'] if !opts[:'usage'].nil?
737
+ query_params[:'similarToSongtradrTrackId'] = opts[:'similar_to_songtradr_track_id'] if !opts[:'similar_to_songtradr_track_id'].nil?
729
738
  query_params[:'shuffled'] = opts[:'shuffled'] if !opts[:'shuffled'].nil?
730
739
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
731
740
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -651,6 +651,7 @@ module SongtradrApiClientRuby
651
651
  # @option opts [String] :main_artist Search for a main artist.
652
652
  # @option opts [String] :composer Search for a composer.
653
653
  # @option opts [String] :title Search for a title.
654
+ # @option opts [String] :party_and_title Search for party and title.
654
655
  # @option opts [String] :language Search for a language of the lyrics.
655
656
  # @option opts [Array<String>] :genre_names
656
657
  # @option opts [Array<String>] :tag_names
@@ -719,6 +720,7 @@ module SongtradrApiClientRuby
719
720
  # @option opts [String] :main_artist Search for a main artist.
720
721
  # @option opts [String] :composer Search for a composer.
721
722
  # @option opts [String] :title Search for a title.
723
+ # @option opts [String] :party_and_title Search for party and title.
722
724
  # @option opts [String] :language Search for a language of the lyrics.
723
725
  # @option opts [Array<String>] :genre_names
724
726
  # @option opts [Array<String>] :tag_names
@@ -937,6 +939,7 @@ module SongtradrApiClientRuby
937
939
  query_params[:'mainArtist'] = opts[:'main_artist'] if !opts[:'main_artist'].nil?
938
940
  query_params[:'composer'] = opts[:'composer'] if !opts[:'composer'].nil?
939
941
  query_params[:'title'] = opts[:'title'] if !opts[:'title'].nil?
942
+ query_params[:'partyAndTitle'] = opts[:'party_and_title'] if !opts[:'party_and_title'].nil?
940
943
  query_params[:'language'] = opts[:'language'] if !opts[:'language'].nil?
941
944
  query_params[:'genreNames'] = @api_client.build_collection_param(opts[:'genre_names'], :multi) if !opts[:'genre_names'].nil?
942
945
  query_params[:'tagNames'] = @api_client.build_collection_param(opts[:'tag_names'], :multi) if !opts[:'tag_names'].nil?
@@ -1365,6 +1368,7 @@ module SongtradrApiClientRuby
1365
1368
  # @option opts [String] :main_artist Search for a main artist.
1366
1369
  # @option opts [String] :composer Search for a composer.
1367
1370
  # @option opts [String] :title Search for a title.
1371
+ # @option opts [String] :party_and_title Search for party and title.
1368
1372
  # @option opts [String] :language Search for a language of the lyrics.
1369
1373
  # @option opts [Array<String>] :genre_names
1370
1374
  # @option opts [Array<String>] :tag_names
@@ -1432,6 +1436,7 @@ module SongtradrApiClientRuby
1432
1436
  # @option opts [String] :main_artist Search for a main artist.
1433
1437
  # @option opts [String] :composer Search for a composer.
1434
1438
  # @option opts [String] :title Search for a title.
1439
+ # @option opts [String] :party_and_title Search for party and title.
1435
1440
  # @option opts [String] :language Search for a language of the lyrics.
1436
1441
  # @option opts [Array<String>] :genre_names
1437
1442
  # @option opts [Array<String>] :tag_names
@@ -1649,6 +1654,7 @@ module SongtradrApiClientRuby
1649
1654
  query_params[:'mainArtist'] = opts[:'main_artist'] if !opts[:'main_artist'].nil?
1650
1655
  query_params[:'composer'] = opts[:'composer'] if !opts[:'composer'].nil?
1651
1656
  query_params[:'title'] = opts[:'title'] if !opts[:'title'].nil?
1657
+ query_params[:'partyAndTitle'] = opts[:'party_and_title'] if !opts[:'party_and_title'].nil?
1652
1658
  query_params[:'language'] = opts[:'language'] if !opts[:'language'].nil?
1653
1659
  query_params[:'genreNames'] = @api_client.build_collection_param(opts[:'genre_names'], :multi) if !opts[:'genre_names'].nil?
1654
1660
  query_params[:'tagNames'] = @api_client.build_collection_param(opts[:'tag_names'], :multi) if !opts[:'tag_names'].nil?
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -151,7 +151,7 @@ module SongtradrApiClientRuby
151
151
  @scheme = 'https'
152
152
  @host = 'api.songtradr.com'
153
153
  @base_path = ''
154
- @server_index = 0
154
+ @server_index = nil
155
155
  @server_operation_index = {}
156
156
  @server_variables = {}
157
157
  @server_operation_variables = {}
@@ -204,10 +204,12 @@ module SongtradrApiClientRuby
204
204
 
205
205
  # Returns base URL for specified operation based on server settings
206
206
  def base_url(operation = nil)
207
- index = server_operation_index[operation]
208
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
209
-
210
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
207
+ if operation_server_settings.key?(operation) then
208
+ index = server_operation_index.fetch(operation, server_index)
209
+ server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
210
+ else
211
+ server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
212
+ end
211
213
  end
212
214
 
213
215
  # Gets API key (with prefix if set).
@@ -270,8 +272,8 @@ module SongtradrApiClientRuby
270
272
  servers = server_settings if servers == nil
271
273
 
272
274
  # check array index out of bound
273
- if (index < 0 || index >= servers.size)
274
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
275
+ if (index.nil? || index < 0 || index >= servers.size)
276
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
275
277
  end
276
278
 
277
279
  server = servers[index]
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -273,6 +273,7 @@ module SongtradrApiClientRuby
273
273
  # Show invalid properties with the reasons. Usually used together with valid?
274
274
  # @return Array for valid properties with the reasons
275
275
  def list_invalid_properties
276
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
276
277
  invalid_properties = Array.new
277
278
  invalid_properties
278
279
  end
@@ -280,6 +281,7 @@ module SongtradrApiClientRuby
280
281
  # Check to see if the all the properties in the model are valid
281
282
  # @return true if the model is valid
282
283
  def valid?
284
+ warn '[DEPRECATED] the `valid?` method is obsolete'
283
285
  true
284
286
  end
285
287
 
@@ -333,37 +335,30 @@ module SongtradrApiClientRuby
333
335
  # @param [Hash] attributes Model attributes in the form of hash
334
336
  # @return [Object] Returns the model itself
335
337
  def self.build_from_hash(attributes)
336
- new.build_from_hash(attributes)
337
- end
338
-
339
- # Builds the object from hash
340
- # @param [Hash] attributes Model attributes in the form of hash
341
- # @return [Object] Returns the model itself
342
- def build_from_hash(attributes)
343
338
  return nil unless attributes.is_a?(Hash)
344
339
  attributes = attributes.transform_keys(&:to_sym)
345
- self.class.openapi_types.each_pair do |key, type|
346
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
347
- self.send("#{key}=", nil)
340
+ transformed_hash = {}
341
+ openapi_types.each_pair do |key, type|
342
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
343
+ transformed_hash["#{key}"] = nil
348
344
  elsif type =~ /\AArray<(.*)>/i
349
345
  # check to ensure the input is an array given that the attribute
350
346
  # is documented as an array but the input is not
351
- if attributes[self.class.attribute_map[key]].is_a?(Array)
352
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
347
+ if attributes[attribute_map[key]].is_a?(Array)
348
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
353
349
  end
354
- elsif !attributes[self.class.attribute_map[key]].nil?
355
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
350
+ elsif !attributes[attribute_map[key]].nil?
351
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
356
352
  end
357
353
  end
358
-
359
- self
354
+ new(transformed_hash)
360
355
  end
361
356
 
362
357
  # Deserializes the data based on type
363
358
  # @param string type Data type
364
359
  # @param string value Value to be deserialized
365
360
  # @return [Object] Deserialized data
366
- def _deserialize(type, value)
361
+ def self._deserialize(type, value)
367
362
  case type.to_sym
368
363
  when :Time
369
364
  Time.parse(value)
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -17,18 +17,18 @@ module SongtradrApiClientRuby
17
17
  class ApiKeyDTO
18
18
  attr_accessor :name
19
19
 
20
- attr_accessor :created_at
21
-
22
20
  attr_accessor :last_used_at
23
21
 
22
+ attr_accessor :created_at
23
+
24
24
  attr_accessor :id
25
25
 
26
26
  # Attribute mapping from ruby-style variable name to JSON key.
27
27
  def self.attribute_map
28
28
  {
29
29
  :'name' => :'name',
30
- :'created_at' => :'createdAt',
31
30
  :'last_used_at' => :'lastUsedAt',
31
+ :'created_at' => :'createdAt',
32
32
  :'id' => :'id'
33
33
  }
34
34
  end
@@ -42,8 +42,8 @@ module SongtradrApiClientRuby
42
42
  def self.openapi_types
43
43
  {
44
44
  :'name' => :'String',
45
- :'created_at' => :'Time',
46
45
  :'last_used_at' => :'Time',
46
+ :'created_at' => :'Time',
47
47
  :'id' => :'String'
48
48
  }
49
49
  end
@@ -71,24 +71,31 @@ module SongtradrApiClientRuby
71
71
 
72
72
  if attributes.key?(:'name')
73
73
  self.name = attributes[:'name']
74
- end
75
-
76
- if attributes.key?(:'created_at')
77
- self.created_at = attributes[:'created_at']
74
+ else
75
+ self.name = nil
78
76
  end
79
77
 
80
78
  if attributes.key?(:'last_used_at')
81
79
  self.last_used_at = attributes[:'last_used_at']
82
80
  end
83
81
 
82
+ if attributes.key?(:'created_at')
83
+ self.created_at = attributes[:'created_at']
84
+ else
85
+ self.created_at = nil
86
+ end
87
+
84
88
  if attributes.key?(:'id')
85
89
  self.id = attributes[:'id']
90
+ else
91
+ self.id = nil
86
92
  end
87
93
  end
88
94
 
89
95
  # Show invalid properties with the reasons. Usually used together with valid?
90
96
  # @return Array for valid properties with the reasons
91
97
  def list_invalid_properties
98
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
92
99
  invalid_properties = Array.new
93
100
  if @name.nil?
94
101
  invalid_properties.push('invalid value for "name", name cannot be nil.')
@@ -108,6 +115,7 @@ module SongtradrApiClientRuby
108
115
  # Check to see if the all the properties in the model are valid
109
116
  # @return true if the model is valid
110
117
  def valid?
118
+ warn '[DEPRECATED] the `valid?` method is obsolete'
111
119
  return false if @name.nil?
112
120
  return false if @created_at.nil?
113
121
  return false if @id.nil?
@@ -120,8 +128,8 @@ module SongtradrApiClientRuby
120
128
  return true if self.equal?(o)
121
129
  self.class == o.class &&
122
130
  name == o.name &&
123
- created_at == o.created_at &&
124
131
  last_used_at == o.last_used_at &&
132
+ created_at == o.created_at &&
125
133
  id == o.id
126
134
  end
127
135
 
@@ -134,44 +142,37 @@ module SongtradrApiClientRuby
134
142
  # Calculates hash code according to all attributes.
135
143
  # @return [Integer] Hash code
136
144
  def hash
137
- [name, created_at, last_used_at, id].hash
145
+ [name, last_used_at, created_at, id].hash
138
146
  end
139
147
 
140
148
  # Builds the object from hash
141
149
  # @param [Hash] attributes Model attributes in the form of hash
142
150
  # @return [Object] Returns the model itself
143
151
  def self.build_from_hash(attributes)
144
- new.build_from_hash(attributes)
145
- end
146
-
147
- # Builds the object from hash
148
- # @param [Hash] attributes Model attributes in the form of hash
149
- # @return [Object] Returns the model itself
150
- def build_from_hash(attributes)
151
152
  return nil unless attributes.is_a?(Hash)
152
153
  attributes = attributes.transform_keys(&:to_sym)
153
- self.class.openapi_types.each_pair do |key, type|
154
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
155
- self.send("#{key}=", nil)
154
+ transformed_hash = {}
155
+ openapi_types.each_pair do |key, type|
156
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
157
+ transformed_hash["#{key}"] = nil
156
158
  elsif type =~ /\AArray<(.*)>/i
157
159
  # check to ensure the input is an array given that the attribute
158
160
  # is documented as an array but the input is not
159
- if attributes[self.class.attribute_map[key]].is_a?(Array)
160
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
161
+ if attributes[attribute_map[key]].is_a?(Array)
162
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
161
163
  end
162
- elsif !attributes[self.class.attribute_map[key]].nil?
163
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
164
+ elsif !attributes[attribute_map[key]].nil?
165
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
164
166
  end
165
167
  end
166
-
167
- self
168
+ new(transformed_hash)
168
169
  end
169
170
 
170
171
  # Deserializes the data based on type
171
172
  # @param string type Data type
172
173
  # @param string value Value to be deserialized
173
174
  # @return [Object] Deserialized data
174
- def _deserialize(type, value)
175
+ def self._deserialize(type, value)
175
176
  case type.to_sym
176
177
  when :Time
177
178
  Time.parse(value)
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.12.23
6
+ The version of the OpenAPI document: 1.13.0
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -18,16 +18,16 @@ module SongtradrApiClientRuby
18
18
  class CategoryMediumDTO
19
19
  attr_accessor :id
20
20
 
21
- attr_accessor :name
22
-
23
21
  attr_accessor :tags
24
22
 
23
+ attr_accessor :name
24
+
25
25
  # Attribute mapping from ruby-style variable name to JSON key.
26
26
  def self.attribute_map
27
27
  {
28
28
  :'id' => :'id',
29
- :'name' => :'name',
30
- :'tags' => :'tags'
29
+ :'tags' => :'tags',
30
+ :'name' => :'name'
31
31
  }
32
32
  end
33
33
 
@@ -40,8 +40,8 @@ module SongtradrApiClientRuby
40
40
  def self.openapi_types
41
41
  {
42
42
  :'id' => :'Integer',
43
- :'name' => :'String',
44
- :'tags' => :'Array<TagSmallDTO>'
43
+ :'tags' => :'Array<TagSmallDTO>',
44
+ :'name' => :'String'
45
45
  }
46
46
  end
47
47
 
@@ -68,10 +68,8 @@ module SongtradrApiClientRuby
68
68
 
69
69
  if attributes.key?(:'id')
70
70
  self.id = attributes[:'id']
71
- end
72
-
73
- if attributes.key?(:'name')
74
- self.name = attributes[:'name']
71
+ else
72
+ self.id = nil
75
73
  end
76
74
 
77
75
  if attributes.key?(:'tags')
@@ -79,11 +77,18 @@ module SongtradrApiClientRuby
79
77
  self.tags = value
80
78
  end
81
79
  end
80
+
81
+ if attributes.key?(:'name')
82
+ self.name = attributes[:'name']
83
+ else
84
+ self.name = nil
85
+ end
82
86
  end
83
87
 
84
88
  # Show invalid properties with the reasons. Usually used together with valid?
85
89
  # @return Array for valid properties with the reasons
86
90
  def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
87
92
  invalid_properties = Array.new
88
93
  if @id.nil?
89
94
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -99,6 +104,7 @@ module SongtradrApiClientRuby
99
104
  # Check to see if the all the properties in the model are valid
100
105
  # @return true if the model is valid
101
106
  def valid?
107
+ warn '[DEPRECATED] the `valid?` method is obsolete'
102
108
  return false if @id.nil?
103
109
  return false if @name.nil?
104
110
  true
@@ -110,8 +116,8 @@ module SongtradrApiClientRuby
110
116
  return true if self.equal?(o)
111
117
  self.class == o.class &&
112
118
  id == o.id &&
113
- name == o.name &&
114
- tags == o.tags
119
+ tags == o.tags &&
120
+ name == o.name
115
121
  end
116
122
 
117
123
  # @see the `==` method
@@ -123,44 +129,37 @@ module SongtradrApiClientRuby
123
129
  # Calculates hash code according to all attributes.
124
130
  # @return [Integer] Hash code
125
131
  def hash
126
- [id, name, tags].hash
132
+ [id, tags, name].hash
127
133
  end
128
134
 
129
135
  # Builds the object from hash
130
136
  # @param [Hash] attributes Model attributes in the form of hash
131
137
  # @return [Object] Returns the model itself
132
138
  def self.build_from_hash(attributes)
133
- new.build_from_hash(attributes)
134
- end
135
-
136
- # Builds the object from hash
137
- # @param [Hash] attributes Model attributes in the form of hash
138
- # @return [Object] Returns the model itself
139
- def build_from_hash(attributes)
140
139
  return nil unless attributes.is_a?(Hash)
141
140
  attributes = attributes.transform_keys(&:to_sym)
142
- self.class.openapi_types.each_pair do |key, type|
143
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
144
- self.send("#{key}=", nil)
141
+ transformed_hash = {}
142
+ openapi_types.each_pair do |key, type|
143
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
144
+ transformed_hash["#{key}"] = nil
145
145
  elsif type =~ /\AArray<(.*)>/i
146
146
  # check to ensure the input is an array given that the attribute
147
147
  # is documented as an array but the input is not
148
- if attributes[self.class.attribute_map[key]].is_a?(Array)
149
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
148
+ if attributes[attribute_map[key]].is_a?(Array)
149
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
150
150
  end
151
- elsif !attributes[self.class.attribute_map[key]].nil?
152
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
151
+ elsif !attributes[attribute_map[key]].nil?
152
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
153
153
  end
154
154
  end
155
-
156
- self
155
+ new(transformed_hash)
157
156
  end
158
157
 
159
158
  # Deserializes the data based on type
160
159
  # @param string type Data type
161
160
  # @param string value Value to be deserialized
162
161
  # @return [Object] Deserialized data
163
- def _deserialize(type, value)
162
+ def self._deserialize(type, value)
164
163
  case type.to_sym
165
164
  when :Time
166
165
  Time.parse(value)