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
@@ -68,12 +68,15 @@ module SongtradrApiClientRuby
68
68
 
69
69
  if attributes.key?(:'text')
70
70
  self.text = attributes[:'text']
71
+ else
72
+ self.text = nil
71
73
  end
72
74
  end
73
75
 
74
76
  # Show invalid properties with the reasons. Usually used together with valid?
75
77
  # @return Array for valid properties with the reasons
76
78
  def list_invalid_properties
79
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
77
80
  invalid_properties = Array.new
78
81
  if @text.nil?
79
82
  invalid_properties.push('invalid value for "text", text cannot be nil.')
@@ -85,6 +88,7 @@ module SongtradrApiClientRuby
85
88
  # Check to see if the all the properties in the model are valid
86
89
  # @return true if the model is valid
87
90
  def valid?
91
+ warn '[DEPRECATED] the `valid?` method is obsolete'
88
92
  return false if @text.nil?
89
93
  true
90
94
  end
@@ -114,37 +118,30 @@ module SongtradrApiClientRuby
114
118
  # @param [Hash] attributes Model attributes in the form of hash
115
119
  # @return [Object] Returns the model itself
116
120
  def self.build_from_hash(attributes)
117
- new.build_from_hash(attributes)
118
- end
119
-
120
- # Builds the object from hash
121
- # @param [Hash] attributes Model attributes in the form of hash
122
- # @return [Object] Returns the model itself
123
- def build_from_hash(attributes)
124
121
  return nil unless attributes.is_a?(Hash)
125
122
  attributes = attributes.transform_keys(&:to_sym)
126
- self.class.openapi_types.each_pair do |key, type|
127
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
128
- self.send("#{key}=", nil)
123
+ transformed_hash = {}
124
+ openapi_types.each_pair do |key, type|
125
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = nil
129
127
  elsif type =~ /\AArray<(.*)>/i
130
128
  # check to ensure the input is an array given that the attribute
131
129
  # is documented as an array but the input is not
132
- if attributes[self.class.attribute_map[key]].is_a?(Array)
133
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
+ if attributes[attribute_map[key]].is_a?(Array)
131
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
134
132
  end
135
- elsif !attributes[self.class.attribute_map[key]].nil?
136
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
+ elsif !attributes[attribute_map[key]].nil?
134
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
137
135
  end
138
136
  end
139
-
140
- self
137
+ new(transformed_hash)
141
138
  end
142
139
 
143
140
  # Deserializes the data based on type
144
141
  # @param string type Data type
145
142
  # @param string value Value to be deserialized
146
143
  # @return [Object] Deserialized data
147
- def _deserialize(type, value)
144
+ def self._deserialize(type, value)
148
145
  case type.to_sym
149
146
  when :Time
150
147
  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
@@ -88,6 +88,8 @@ module SongtradrApiClientRuby
88
88
 
89
89
  if attributes.key?(:'full_name')
90
90
  self.full_name = attributes[:'full_name']
91
+ else
92
+ self.full_name = nil
91
93
  end
92
94
 
93
95
  if attributes.key?(:'birth_date')
@@ -122,6 +124,7 @@ module SongtradrApiClientRuby
122
124
  # Show invalid properties with the reasons. Usually used together with valid?
123
125
  # @return Array for valid properties with the reasons
124
126
  def list_invalid_properties
127
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
125
128
  invalid_properties = Array.new
126
129
  if @full_name.nil?
127
130
  invalid_properties.push('invalid value for "full_name", full_name cannot be nil.')
@@ -133,6 +136,7 @@ module SongtradrApiClientRuby
133
136
  # Check to see if the all the properties in the model are valid
134
137
  # @return true if the model is valid
135
138
  def valid?
139
+ warn '[DEPRECATED] the `valid?` method is obsolete'
136
140
  return false if @full_name.nil?
137
141
  true
138
142
  end
@@ -168,37 +172,30 @@ module SongtradrApiClientRuby
168
172
  # @param [Hash] attributes Model attributes in the form of hash
169
173
  # @return [Object] Returns the model itself
170
174
  def self.build_from_hash(attributes)
171
- new.build_from_hash(attributes)
172
- end
173
-
174
- # Builds the object from hash
175
- # @param [Hash] attributes Model attributes in the form of hash
176
- # @return [Object] Returns the model itself
177
- def build_from_hash(attributes)
178
175
  return nil unless attributes.is_a?(Hash)
179
176
  attributes = attributes.transform_keys(&:to_sym)
180
- self.class.openapi_types.each_pair do |key, type|
181
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
182
- self.send("#{key}=", nil)
177
+ transformed_hash = {}
178
+ openapi_types.each_pair do |key, type|
179
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
180
+ transformed_hash["#{key}"] = nil
183
181
  elsif type =~ /\AArray<(.*)>/i
184
182
  # check to ensure the input is an array given that the attribute
185
183
  # is documented as an array but the input is not
186
- if attributes[self.class.attribute_map[key]].is_a?(Array)
187
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
184
+ if attributes[attribute_map[key]].is_a?(Array)
185
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
188
186
  end
189
- elsif !attributes[self.class.attribute_map[key]].nil?
190
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
187
+ elsif !attributes[attribute_map[key]].nil?
188
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
189
  end
192
190
  end
193
-
194
- self
191
+ new(transformed_hash)
195
192
  end
196
193
 
197
194
  # Deserializes the data based on type
198
195
  # @param string type Data type
199
196
  # @param string value Value to be deserialized
200
197
  # @return [Object] Deserialized data
201
- def _deserialize(type, value)
198
+ def self._deserialize(type, value)
202
199
  case type.to_sym
203
200
  when :Time
204
201
  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
@@ -64,16 +64,21 @@ module SongtradrApiClientRuby
64
64
 
65
65
  if attributes.key?(:'id')
66
66
  self.id = attributes[:'id']
67
+ else
68
+ self.id = nil
67
69
  end
68
70
 
69
71
  if attributes.key?(:'full_name')
70
72
  self.full_name = attributes[:'full_name']
73
+ else
74
+ self.full_name = nil
71
75
  end
72
76
  end
73
77
 
74
78
  # Show invalid properties with the reasons. Usually used together with valid?
75
79
  # @return Array for valid properties with the reasons
76
80
  def list_invalid_properties
81
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
77
82
  invalid_properties = Array.new
78
83
  if @id.nil?
79
84
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -89,6 +94,7 @@ module SongtradrApiClientRuby
89
94
  # Check to see if the all the properties in the model are valid
90
95
  # @return true if the model is valid
91
96
  def valid?
97
+ warn '[DEPRECATED] the `valid?` method is obsolete'
92
98
  return false if @id.nil?
93
99
  return false if @full_name.nil?
94
100
  true
@@ -119,37 +125,30 @@ module SongtradrApiClientRuby
119
125
  # @param [Hash] attributes Model attributes in the form of hash
120
126
  # @return [Object] Returns the model itself
121
127
  def self.build_from_hash(attributes)
122
- new.build_from_hash(attributes)
123
- end
124
-
125
- # Builds the object from hash
126
- # @param [Hash] attributes Model attributes in the form of hash
127
- # @return [Object] Returns the model itself
128
- def build_from_hash(attributes)
129
128
  return nil unless attributes.is_a?(Hash)
130
129
  attributes = attributes.transform_keys(&:to_sym)
131
- self.class.openapi_types.each_pair do |key, type|
132
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
133
- self.send("#{key}=", nil)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
134
  elsif type =~ /\AArray<(.*)>/i
135
135
  # check to ensure the input is an array given that the attribute
136
136
  # is documented as an array but the input is not
137
- if attributes[self.class.attribute_map[key]].is_a?(Array)
138
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
139
  end
140
- elsif !attributes[self.class.attribute_map[key]].nil?
141
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
142
  end
143
143
  end
144
-
145
- self
144
+ new(transformed_hash)
146
145
  end
147
146
 
148
147
  # Deserializes the data based on type
149
148
  # @param string type Data type
150
149
  # @param string value Value to be deserialized
151
150
  # @return [Object] Deserialized data
152
- def _deserialize(type, value)
151
+ def self._deserialize(type, value)
153
152
  case type.to_sym
154
153
  when :Time
155
154
  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
@@ -20,12 +20,12 @@ module SongtradrApiClientRuby
20
20
 
21
21
  attr_accessor :state
22
22
 
23
+ attr_accessor :description
24
+
23
25
  attr_accessor :created
24
26
 
25
27
  attr_accessor :updated
26
28
 
27
- attr_accessor :description
28
-
29
29
  attr_accessor :usages
30
30
 
31
31
  attr_accessor :songtradr_playlist_guid
@@ -65,9 +65,9 @@ module SongtradrApiClientRuby
65
65
  {
66
66
  :'name' => :'name',
67
67
  :'state' => :'state',
68
+ :'description' => :'description',
68
69
  :'created' => :'created',
69
70
  :'updated' => :'updated',
70
- :'description' => :'description',
71
71
  :'usages' => :'usages',
72
72
  :'songtradr_playlist_guid' => :'songtradrPlaylistGuid',
73
73
  :'asset_url' => :'assetURL',
@@ -87,9 +87,9 @@ module SongtradrApiClientRuby
87
87
  {
88
88
  :'name' => :'String',
89
89
  :'state' => :'String',
90
+ :'description' => :'String',
90
91
  :'created' => :'Time',
91
92
  :'updated' => :'Time',
92
- :'description' => :'String',
93
93
  :'usages' => :'Array<UsageDTO>',
94
94
  :'songtradr_playlist_guid' => :'String',
95
95
  :'asset_url' => :'String',
@@ -122,12 +122,18 @@ module SongtradrApiClientRuby
122
122
 
123
123
  if attributes.key?(:'name')
124
124
  self.name = attributes[:'name']
125
+ else
126
+ self.name = nil
125
127
  end
126
128
 
127
129
  if attributes.key?(:'state')
128
130
  self.state = attributes[:'state']
129
131
  end
130
132
 
133
+ if attributes.key?(:'description')
134
+ self.description = attributes[:'description']
135
+ end
136
+
131
137
  if attributes.key?(:'created')
132
138
  self.created = attributes[:'created']
133
139
  end
@@ -136,10 +142,6 @@ module SongtradrApiClientRuby
136
142
  self.updated = attributes[:'updated']
137
143
  end
138
144
 
139
- if attributes.key?(:'description')
140
- self.description = attributes[:'description']
141
- end
142
-
143
145
  if attributes.key?(:'usages')
144
146
  if (value = attributes[:'usages']).is_a?(Array)
145
147
  self.usages = value
@@ -172,6 +174,7 @@ module SongtradrApiClientRuby
172
174
  # Show invalid properties with the reasons. Usually used together with valid?
173
175
  # @return Array for valid properties with the reasons
174
176
  def list_invalid_properties
177
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
175
178
  invalid_properties = Array.new
176
179
  if @name.nil?
177
180
  invalid_properties.push('invalid value for "name", name cannot be nil.')
@@ -183,6 +186,7 @@ module SongtradrApiClientRuby
183
186
  # Check to see if the all the properties in the model are valid
184
187
  # @return true if the model is valid
185
188
  def valid?
189
+ warn '[DEPRECATED] the `valid?` method is obsolete'
186
190
  return false if @name.nil?
187
191
  state_validator = EnumAttributeValidator.new('String', ["active", "draft"])
188
192
  return false unless state_validator.valid?(@state)
@@ -206,9 +210,9 @@ module SongtradrApiClientRuby
206
210
  self.class == o.class &&
207
211
  name == o.name &&
208
212
  state == o.state &&
213
+ description == o.description &&
209
214
  created == o.created &&
210
215
  updated == o.updated &&
211
- description == o.description &&
212
216
  usages == o.usages &&
213
217
  songtradr_playlist_guid == o.songtradr_playlist_guid &&
214
218
  asset_url == o.asset_url &&
@@ -226,44 +230,37 @@ module SongtradrApiClientRuby
226
230
  # Calculates hash code according to all attributes.
227
231
  # @return [Integer] Hash code
228
232
  def hash
229
- [name, state, created, updated, description, usages, songtradr_playlist_guid, asset_url, pretzel_tier, usage, tracks].hash
233
+ [name, state, description, created, updated, usages, songtradr_playlist_guid, asset_url, pretzel_tier, usage, tracks].hash
230
234
  end
231
235
 
232
236
  # Builds the object from hash
233
237
  # @param [Hash] attributes Model attributes in the form of hash
234
238
  # @return [Object] Returns the model itself
235
239
  def self.build_from_hash(attributes)
236
- new.build_from_hash(attributes)
237
- end
238
-
239
- # Builds the object from hash
240
- # @param [Hash] attributes Model attributes in the form of hash
241
- # @return [Object] Returns the model itself
242
- def build_from_hash(attributes)
243
240
  return nil unless attributes.is_a?(Hash)
244
241
  attributes = attributes.transform_keys(&:to_sym)
245
- self.class.openapi_types.each_pair do |key, type|
246
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
247
- self.send("#{key}=", nil)
242
+ transformed_hash = {}
243
+ openapi_types.each_pair do |key, type|
244
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
245
+ transformed_hash["#{key}"] = nil
248
246
  elsif type =~ /\AArray<(.*)>/i
249
247
  # check to ensure the input is an array given that the attribute
250
248
  # is documented as an array but the input is not
251
- if attributes[self.class.attribute_map[key]].is_a?(Array)
252
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
249
+ if attributes[attribute_map[key]].is_a?(Array)
250
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
253
251
  end
254
- elsif !attributes[self.class.attribute_map[key]].nil?
255
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
252
+ elsif !attributes[attribute_map[key]].nil?
253
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
256
254
  end
257
255
  end
258
-
259
- self
256
+ new(transformed_hash)
260
257
  end
261
258
 
262
259
  # Deserializes the data based on type
263
260
  # @param string type Data type
264
261
  # @param string value Value to be deserialized
265
262
  # @return [Object] Deserialized data
266
- def _deserialize(type, value)
263
+ def self._deserialize(type, value)
267
264
  case type.to_sym
268
265
  when :Time
269
266
  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,18 +18,18 @@ module SongtradrApiClientRuby
18
18
  class ProductMediumDTO
19
19
  attr_accessor :duration
20
20
 
21
+ attr_accessor :takedown_date
22
+
23
+ attr_accessor :parties
24
+
21
25
  attr_accessor :gtin
22
26
 
23
27
  attr_accessor :grid
24
28
 
25
29
  attr_accessor :release_date
26
30
 
27
- attr_accessor :takedown_date
28
-
29
31
  attr_accessor :pline
30
32
 
31
- attr_accessor :parties
32
-
33
33
  attr_accessor :genres
34
34
 
35
35
  attr_accessor :titles
@@ -38,12 +38,12 @@ module SongtradrApiClientRuby
38
38
  def self.attribute_map
39
39
  {
40
40
  :'duration' => :'duration',
41
+ :'takedown_date' => :'takedownDate',
42
+ :'parties' => :'parties',
41
43
  :'gtin' => :'gtin',
42
44
  :'grid' => :'grid',
43
45
  :'release_date' => :'releaseDate',
44
- :'takedown_date' => :'takedownDate',
45
46
  :'pline' => :'pline',
46
- :'parties' => :'parties',
47
47
  :'genres' => :'genres',
48
48
  :'titles' => :'titles'
49
49
  }
@@ -58,12 +58,12 @@ module SongtradrApiClientRuby
58
58
  def self.openapi_types
59
59
  {
60
60
  :'duration' => :'Time',
61
+ :'takedown_date' => :'Time',
62
+ :'parties' => :'Array<ProductPartyDTO>',
61
63
  :'gtin' => :'String',
62
64
  :'grid' => :'String',
63
65
  :'release_date' => :'Time',
64
- :'takedown_date' => :'Time',
65
66
  :'pline' => :'PLineDTO',
66
- :'parties' => :'Array<ProductPartyDTO>',
67
67
  :'genres' => :'Array<GenreMinimalDTO>',
68
68
  :'titles' => :'Array<TitleDTO>'
69
69
  }
@@ -94,6 +94,16 @@ module SongtradrApiClientRuby
94
94
  self.duration = attributes[:'duration']
95
95
  end
96
96
 
97
+ if attributes.key?(:'takedown_date')
98
+ self.takedown_date = attributes[:'takedown_date']
99
+ end
100
+
101
+ if attributes.key?(:'parties')
102
+ if (value = attributes[:'parties']).is_a?(Array)
103
+ self.parties = value
104
+ end
105
+ end
106
+
97
107
  if attributes.key?(:'gtin')
98
108
  self.gtin = attributes[:'gtin']
99
109
  end
@@ -106,20 +116,10 @@ module SongtradrApiClientRuby
106
116
  self.release_date = attributes[:'release_date']
107
117
  end
108
118
 
109
- if attributes.key?(:'takedown_date')
110
- self.takedown_date = attributes[:'takedown_date']
111
- end
112
-
113
119
  if attributes.key?(:'pline')
114
120
  self.pline = attributes[:'pline']
115
121
  end
116
122
 
117
- if attributes.key?(:'parties')
118
- if (value = attributes[:'parties']).is_a?(Array)
119
- self.parties = value
120
- end
121
- end
122
-
123
123
  if attributes.key?(:'genres')
124
124
  if (value = attributes[:'genres']).is_a?(Array)
125
125
  self.genres = value
@@ -136,6 +136,7 @@ module SongtradrApiClientRuby
136
136
  # Show invalid properties with the reasons. Usually used together with valid?
137
137
  # @return Array for valid properties with the reasons
138
138
  def list_invalid_properties
139
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
139
140
  invalid_properties = Array.new
140
141
  invalid_properties
141
142
  end
@@ -143,24 +144,37 @@ module SongtradrApiClientRuby
143
144
  # Check to see if the all the properties in the model are valid
144
145
  # @return true if the model is valid
145
146
  def valid?
147
+ warn '[DEPRECATED] the `valid?` method is obsolete'
146
148
  true
147
149
  end
148
150
 
149
151
  # Custom attribute writer method with validation
150
152
  # @param [Object] parties Value to be assigned
151
153
  def parties=(parties)
154
+ if parties.nil?
155
+ fail ArgumentError, 'parties cannot be nil'
156
+ end
157
+
152
158
  @parties = parties
153
159
  end
154
160
 
155
161
  # Custom attribute writer method with validation
156
162
  # @param [Object] genres Value to be assigned
157
163
  def genres=(genres)
164
+ if genres.nil?
165
+ fail ArgumentError, 'genres cannot be nil'
166
+ end
167
+
158
168
  @genres = genres
159
169
  end
160
170
 
161
171
  # Custom attribute writer method with validation
162
172
  # @param [Object] titles Value to be assigned
163
173
  def titles=(titles)
174
+ if titles.nil?
175
+ fail ArgumentError, 'titles cannot be nil'
176
+ end
177
+
164
178
  @titles = titles
165
179
  end
166
180
 
@@ -170,12 +184,12 @@ module SongtradrApiClientRuby
170
184
  return true if self.equal?(o)
171
185
  self.class == o.class &&
172
186
  duration == o.duration &&
187
+ takedown_date == o.takedown_date &&
188
+ parties == o.parties &&
173
189
  gtin == o.gtin &&
174
190
  grid == o.grid &&
175
191
  release_date == o.release_date &&
176
- takedown_date == o.takedown_date &&
177
192
  pline == o.pline &&
178
- parties == o.parties &&
179
193
  genres == o.genres &&
180
194
  titles == o.titles
181
195
  end
@@ -189,44 +203,37 @@ module SongtradrApiClientRuby
189
203
  # Calculates hash code according to all attributes.
190
204
  # @return [Integer] Hash code
191
205
  def hash
192
- [duration, gtin, grid, release_date, takedown_date, pline, parties, genres, titles].hash
206
+ [duration, takedown_date, parties, gtin, grid, release_date, pline, genres, titles].hash
193
207
  end
194
208
 
195
209
  # Builds the object from hash
196
210
  # @param [Hash] attributes Model attributes in the form of hash
197
211
  # @return [Object] Returns the model itself
198
212
  def self.build_from_hash(attributes)
199
- new.build_from_hash(attributes)
200
- end
201
-
202
- # Builds the object from hash
203
- # @param [Hash] attributes Model attributes in the form of hash
204
- # @return [Object] Returns the model itself
205
- def build_from_hash(attributes)
206
213
  return nil unless attributes.is_a?(Hash)
207
214
  attributes = attributes.transform_keys(&:to_sym)
208
- self.class.openapi_types.each_pair do |key, type|
209
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
210
- self.send("#{key}=", nil)
215
+ transformed_hash = {}
216
+ openapi_types.each_pair do |key, type|
217
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
218
+ transformed_hash["#{key}"] = nil
211
219
  elsif type =~ /\AArray<(.*)>/i
212
220
  # check to ensure the input is an array given that the attribute
213
221
  # is documented as an array but the input is not
214
- if attributes[self.class.attribute_map[key]].is_a?(Array)
215
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
222
+ if attributes[attribute_map[key]].is_a?(Array)
223
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
216
224
  end
217
- elsif !attributes[self.class.attribute_map[key]].nil?
218
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
225
+ elsif !attributes[attribute_map[key]].nil?
226
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
219
227
  end
220
228
  end
221
-
222
- self
229
+ new(transformed_hash)
223
230
  end
224
231
 
225
232
  # Deserializes the data based on type
226
233
  # @param string type Data type
227
234
  # @param string value Value to be deserialized
228
235
  # @return [Object] Deserialized data
229
- def _deserialize(type, value)
236
+ def self._deserialize(type, value)
230
237
  case type.to_sym
231
238
  when :Time
232
239
  Time.parse(value)