songtradr_api_client_ruby 1.12.23 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
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)