songtradr_api_client_ruby 1.12.22 → 1.12.24

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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +26 -12
  4. data/docs/APIKeysApi.md +217 -0
  5. data/docs/AdminApiUserDTO.md +70 -0
  6. data/docs/AllowedValuesApi.md +2 -2
  7. data/docs/ApiKeyDTO.md +24 -0
  8. data/docs/CreateApiKeyDTO.md +18 -0
  9. data/docs/FileSmallDTO.md +16 -16
  10. data/docs/MusicalFeaturesDTO.md +82 -82
  11. data/docs/PlaylistLargeDTO.md +9 -9
  12. data/docs/ProductMediumDTO.md +2 -2
  13. data/docs/RecordingApi.md +2 -0
  14. data/docs/RecordingGenrePredictionDTO.md +3 -3
  15. data/docs/RecordingLargeDTO.md +11 -11
  16. data/docs/RecordingMediumDTO.md +7 -7
  17. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  18. data/docs/RecordingPlaylistDTO.md +3 -3
  19. data/docs/RecordingSmallDTO.md +3 -3
  20. data/docs/UserApi.md +4 -0
  21. data/docs/UserDTO.md +20 -0
  22. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +4 -4
  23. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +213 -0
  24. data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
  25. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +1 -1
  26. data/lib/songtradr_api_client_ruby/api/recording_api.rb +4 -1
  27. data/lib/songtradr_api_client_ruby/api/user_api.rb +7 -1
  28. data/lib/songtradr_api_client_ruby/api_client.rb +1 -1
  29. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  30. data/lib/songtradr_api_client_ruby/configuration.rb +10 -8
  31. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +448 -0
  32. data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +262 -0
  33. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +17 -18
  34. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +15 -18
  35. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +17 -18
  36. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +17 -18
  37. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +15 -18
  38. data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +214 -0
  39. data/lib/songtradr_api_client_ruby/models/error_response.rb +19 -18
  40. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +19 -18
  41. data/lib/songtradr_api_client_ruby/models/file_dto.rb +23 -18
  42. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +21 -18
  43. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +19 -18
  44. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +81 -76
  45. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +13 -18
  46. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +17 -18
  47. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +15 -18
  48. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +15 -18
  49. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +17 -18
  50. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +15 -18
  51. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +17 -18
  52. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +13 -18
  53. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +17 -18
  54. data/lib/songtradr_api_client_ruby/models/login_dto.rb +17 -18
  55. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +529 -534
  56. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +15 -18
  57. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +15 -18
  58. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +17 -18
  59. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +54 -57
  60. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +35 -28
  61. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +15 -18
  62. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +17 -18
  63. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +37 -36
  64. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +94 -77
  65. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +21 -18
  66. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +64 -51
  67. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +28 -31
  68. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +15 -18
  69. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +15 -18
  70. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +15 -18
  71. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +26 -31
  72. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +36 -31
  73. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +15 -18
  74. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +17 -18
  75. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +21 -18
  76. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +15 -18
  77. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +17 -18
  78. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +17 -18
  79. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +15 -18
  80. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +13 -18
  81. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +13 -18
  82. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +15 -18
  83. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +95 -18
  84. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +15 -18
  85. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +15 -18
  86. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +19 -18
  87. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +17 -18
  88. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +17 -18
  89. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +17 -18
  90. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +17 -18
  91. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +17 -18
  92. data/lib/songtradr_api_client_ruby/models/title_dto.rb +15 -18
  93. data/lib/songtradr_api_client_ruby/models/token_request.rb +15 -18
  94. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +17 -18
  95. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +17 -18
  96. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +13 -18
  97. data/lib/songtradr_api_client_ruby/models/user_dto.rb +210 -19
  98. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  99. data/lib/songtradr_api_client_ruby.rb +5 -1
  100. data/openapi-generator-config.yaml +1 -1
  101. data/songtradr_api_client_ruby.gemspec +1 -1
  102. data/spec/api/allowed_values_api_spec.rb +2 -2
  103. data/spec/api/api_keys_api_spec.rb +70 -0
  104. data/spec/api/party_api_spec.rb +1 -1
  105. data/spec/api/playlist_api_spec.rb +1 -1
  106. data/spec/api/recording_api_spec.rb +2 -1
  107. data/spec/api/user_api_spec.rb +3 -1
  108. data/spec/api_client_spec.rb +1 -1
  109. data/spec/configuration_spec.rb +1 -1
  110. data/spec/models/admin_api_user_dto_spec.rb +190 -0
  111. data/spec/models/api_key_dto_spec.rb +52 -0
  112. data/spec/models/category_medium_dto_spec.rb +1 -1
  113. data/spec/models/category_minimal_dto_spec.rb +1 -1
  114. data/spec/models/config_access_dto_spec.rb +1 -1
  115. data/spec/models/config_identifier_dto_spec.rb +1 -1
  116. data/spec/models/contributor_type_dto_spec.rb +1 -1
  117. data/spec/models/create_api_key_dto_spec.rb +34 -0
  118. data/spec/models/error_response_spec.rb +1 -1
  119. data/spec/models/field_summary_dto_spec.rb +1 -1
  120. data/spec/models/file_dto_spec.rb +1 -1
  121. data/spec/models/file_list_dto_spec.rb +1 -1
  122. data/spec/models/file_minimal_with_url_dto_spec.rb +1 -1
  123. data/spec/models/file_small_dto_spec.rb +15 -15
  124. data/spec/models/file_upload_dto_spec.rb +1 -1
  125. data/spec/models/file_w_ith_url_dto_spec.rb +1 -1
  126. data/spec/models/files_summary_dto_spec.rb +1 -1
  127. data/spec/models/forgot_password_dto_spec.rb +1 -1
  128. data/spec/models/genre_dto_spec.rb +1 -1
  129. data/spec/models/genre_minimal_dto_spec.rb +1 -1
  130. data/spec/models/genres_summary_dto_spec.rb +1 -1
  131. data/spec/models/init_put_recording_audio_dto_spec.rb +1 -1
  132. data/spec/models/jwt_token_dto_spec.rb +1 -1
  133. data/spec/models/login_dto_spec.rb +1 -1
  134. data/spec/models/musical_features_dto_spec.rb +175 -175
  135. data/spec/models/p_line_dto_spec.rb +1 -1
  136. data/spec/models/party_large_dto_spec.rb +1 -1
  137. data/spec/models/party_small_dto_spec.rb +1 -1
  138. data/spec/models/playlist_large_dto_spec.rb +10 -10
  139. data/spec/models/product_medium_dto_spec.rb +7 -7
  140. data/spec/models/product_party_dto_spec.rb +1 -1
  141. data/spec/models/recording_for_similarity_search_dto_spec.rb +1 -1
  142. data/spec/models/recording_genre_prediction_dto_spec.rb +3 -3
  143. data/spec/models/recording_large_dto_spec.rb +12 -12
  144. data/spec/models/recording_list_dto_spec.rb +1 -1
  145. data/spec/models/recording_medium_dto_spec.rb +9 -9
  146. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +3 -3
  147. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +1 -1
  148. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +1 -1
  149. data/spec/models/recording_party_dto_spec.rb +1 -1
  150. data/spec/models/recording_playlist_dto_spec.rb +4 -4
  151. data/spec/models/recording_small_dto_spec.rb +4 -4
  152. data/spec/models/recording_tag_small_dto_spec.rb +1 -1
  153. data/spec/models/save_file_recording_dto_spec.rb +1 -1
  154. data/spec/models/save_playlist_dto_spec.rb +1 -1
  155. data/spec/models/save_recording_genre_dto_spec.rb +1 -1
  156. data/spec/models/save_recording_party_dto_spec.rb +1 -1
  157. data/spec/models/save_recording_playlist_dto_spec.rb +1 -1
  158. data/spec/models/save_recording_tag_dto_spec.rb +1 -1
  159. data/spec/models/save_referrer_dto_spec.rb +1 -1
  160. data/spec/models/save_taggrams_dto_spec.rb +1 -1
  161. data/spec/models/save_user_dto_spec.rb +1 -1
  162. data/spec/models/search_filter_values_dto_spec.rb +1 -1
  163. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +1 -1
  164. data/spec/models/search_recording_granular_dto_spec.rb +1 -1
  165. data/spec/models/sign_up_dto_spec.rb +1 -1
  166. data/spec/models/tag_dto_spec.rb +1 -1
  167. data/spec/models/tag_small_dto_spec.rb +1 -1
  168. data/spec/models/taggram_dto_spec.rb +1 -1
  169. data/spec/models/tags_summary_dto_spec.rb +1 -1
  170. data/spec/models/tagstrength_dto_spec.rb +1 -1
  171. data/spec/models/title_dto_spec.rb +1 -1
  172. data/spec/models/token_request_spec.rb +1 -1
  173. data/spec/models/track_to_medium_product_dto_spec.rb +1 -1
  174. data/spec/models/update_password_dto_spec.rb +1 -1
  175. data/spec/models/usage_dto_spec.rb +1 -1
  176. data/spec/models/user_dto_spec.rb +61 -1
  177. data/spec/spec_helper.rb +1 -1
  178. metadata +72 -56
@@ -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.22
6
+ The version of the OpenAPI document: 1.12.24
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -74,24 +74,33 @@ module SongtradrApiClientRuby
74
74
  if (value = attributes[:'files']).is_a?(Array)
75
75
  self.files = value
76
76
  end
77
+ else
78
+ self.files = nil
77
79
  end
78
80
 
79
81
  if attributes.key?(:'has_next_page')
80
82
  self.has_next_page = attributes[:'has_next_page']
83
+ else
84
+ self.has_next_page = nil
81
85
  end
82
86
 
83
87
  if attributes.key?(:'current_page_number')
84
88
  self.current_page_number = attributes[:'current_page_number']
89
+ else
90
+ self.current_page_number = nil
85
91
  end
86
92
 
87
93
  if attributes.key?(:'total_results')
88
94
  self.total_results = attributes[:'total_results']
95
+ else
96
+ self.total_results = nil
89
97
  end
90
98
  end
91
99
 
92
100
  # Show invalid properties with the reasons. Usually used together with valid?
93
101
  # @return Array for valid properties with the reasons
94
102
  def list_invalid_properties
103
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
95
104
  invalid_properties = Array.new
96
105
  if @files.nil?
97
106
  invalid_properties.push('invalid value for "files", files cannot be nil.')
@@ -115,6 +124,7 @@ module SongtradrApiClientRuby
115
124
  # Check to see if the all the properties in the model are valid
116
125
  # @return true if the model is valid
117
126
  def valid?
127
+ warn '[DEPRECATED] the `valid?` method is obsolete'
118
128
  return false if @files.nil?
119
129
  return false if @has_next_page.nil?
120
130
  return false if @current_page_number.nil?
@@ -149,37 +159,30 @@ module SongtradrApiClientRuby
149
159
  # @param [Hash] attributes Model attributes in the form of hash
150
160
  # @return [Object] Returns the model itself
151
161
  def self.build_from_hash(attributes)
152
- new.build_from_hash(attributes)
153
- end
154
-
155
- # Builds the object from hash
156
- # @param [Hash] attributes Model attributes in the form of hash
157
- # @return [Object] Returns the model itself
158
- def build_from_hash(attributes)
159
162
  return nil unless attributes.is_a?(Hash)
160
163
  attributes = attributes.transform_keys(&:to_sym)
161
- self.class.openapi_types.each_pair do |key, type|
162
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
163
- self.send("#{key}=", nil)
164
+ transformed_hash = {}
165
+ openapi_types.each_pair do |key, type|
166
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = nil
164
168
  elsif type =~ /\AArray<(.*)>/i
165
169
  # check to ensure the input is an array given that the attribute
166
170
  # is documented as an array but the input is not
167
- if attributes[self.class.attribute_map[key]].is_a?(Array)
168
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
171
+ if attributes[attribute_map[key]].is_a?(Array)
172
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
169
173
  end
170
- elsif !attributes[self.class.attribute_map[key]].nil?
171
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
174
+ elsif !attributes[attribute_map[key]].nil?
175
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
172
176
  end
173
177
  end
174
-
175
- self
178
+ new(transformed_hash)
176
179
  end
177
180
 
178
181
  # Deserializes the data based on type
179
182
  # @param string type Data type
180
183
  # @param string value Value to be deserialized
181
184
  # @return [Object] Deserialized data
182
- def _deserialize(type, value)
185
+ def self._deserialize(type, value)
183
186
  case type.to_sym
184
187
  when :Time
185
188
  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.22
6
+ The version of the OpenAPI document: 1.12.24
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -68,20 +68,27 @@ module SongtradrApiClientRuby
68
68
 
69
69
  if attributes.key?(:'file_name')
70
70
  self.file_name = attributes[:'file_name']
71
+ else
72
+ self.file_name = nil
71
73
  end
72
74
 
73
75
  if attributes.key?(:'url')
74
76
  self.url = attributes[:'url']
77
+ else
78
+ self.url = nil
75
79
  end
76
80
 
77
81
  if attributes.key?(:'isrc')
78
82
  self.isrc = attributes[:'isrc']
83
+ else
84
+ self.isrc = nil
79
85
  end
80
86
  end
81
87
 
82
88
  # Show invalid properties with the reasons. Usually used together with valid?
83
89
  # @return Array for valid properties with the reasons
84
90
  def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
85
92
  invalid_properties = Array.new
86
93
  if @file_name.nil?
87
94
  invalid_properties.push('invalid value for "file_name", file_name cannot be nil.')
@@ -101,6 +108,7 @@ module SongtradrApiClientRuby
101
108
  # Check to see if the all the properties in the model are valid
102
109
  # @return true if the model is valid
103
110
  def valid?
111
+ warn '[DEPRECATED] the `valid?` method is obsolete'
104
112
  return false if @file_name.nil?
105
113
  return false if @url.nil?
106
114
  return false if @isrc.nil?
@@ -133,37 +141,30 @@ module SongtradrApiClientRuby
133
141
  # @param [Hash] attributes Model attributes in the form of hash
134
142
  # @return [Object] Returns the model itself
135
143
  def self.build_from_hash(attributes)
136
- new.build_from_hash(attributes)
137
- end
138
-
139
- # Builds the object from hash
140
- # @param [Hash] attributes Model attributes in the form of hash
141
- # @return [Object] Returns the model itself
142
- def build_from_hash(attributes)
143
144
  return nil unless attributes.is_a?(Hash)
144
145
  attributes = attributes.transform_keys(&:to_sym)
145
- self.class.openapi_types.each_pair do |key, type|
146
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
147
- self.send("#{key}=", nil)
146
+ transformed_hash = {}
147
+ openapi_types.each_pair do |key, type|
148
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
149
+ transformed_hash["#{key}"] = nil
148
150
  elsif type =~ /\AArray<(.*)>/i
149
151
  # check to ensure the input is an array given that the attribute
150
152
  # is documented as an array but the input is not
151
- if attributes[self.class.attribute_map[key]].is_a?(Array)
152
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
153
+ if attributes[attribute_map[key]].is_a?(Array)
154
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
153
155
  end
154
- elsif !attributes[self.class.attribute_map[key]].nil?
155
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
156
+ elsif !attributes[attribute_map[key]].nil?
157
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
156
158
  end
157
159
  end
158
-
159
- self
160
+ new(transformed_hash)
160
161
  end
161
162
 
162
163
  # Deserializes the data based on type
163
164
  # @param string type Data type
164
165
  # @param string value Value to be deserialized
165
166
  # @return [Object] Deserialized data
166
- def _deserialize(type, value)
167
+ def self._deserialize(type, value)
167
168
  case type.to_sym
168
169
  when :Time
169
170
  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.22
6
+ The version of the OpenAPI document: 1.12.24
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.0.0-SNAPSHOT
@@ -25,29 +25,29 @@ module SongtradrApiClientRuby
25
25
 
26
26
  attr_accessor :error_message
27
27
 
28
- attr_accessor :folder
28
+ attr_accessor :error_time
29
29
 
30
- attr_accessor :object_key
30
+ attr_accessor :fingerprint_end_time
31
31
 
32
- attr_accessor :upload_start_time
32
+ attr_accessor :inference_start_time
33
33
 
34
- attr_accessor :upload_end_time
34
+ attr_accessor :fingerprint_start_time
35
35
 
36
36
  # status of the audio recognition
37
37
  attr_accessor :fingerprint_status
38
38
 
39
- attr_accessor :fingerprint_start_time
40
-
41
- attr_accessor :fingerprint_end_time
42
-
43
39
  # status of the auto-tagging
44
40
  attr_accessor :inference_status
45
41
 
46
- attr_accessor :inference_start_time
47
-
48
42
  attr_accessor :inference_end_time
49
43
 
50
- attr_accessor :error_time
44
+ attr_accessor :folder
45
+
46
+ attr_accessor :upload_end_time
47
+
48
+ attr_accessor :upload_start_time
49
+
50
+ attr_accessor :object_key
51
51
 
52
52
  class EnumAttributeValidator
53
53
  attr_reader :datatype
@@ -78,17 +78,17 @@ module SongtradrApiClientRuby
78
78
  :'id' => :'id',
79
79
  :'extension' => :'extension',
80
80
  :'error_message' => :'error_message',
81
- :'folder' => :'folder',
82
- :'object_key' => :'objectKey',
83
- :'upload_start_time' => :'uploadStartTime',
84
- :'upload_end_time' => :'uploadEndTime',
85
- :'fingerprint_status' => :'fingerprintStatus',
86
- :'fingerprint_start_time' => :'fingerprintStartTime',
81
+ :'error_time' => :'error_time',
87
82
  :'fingerprint_end_time' => :'fingerprintEndTime',
88
- :'inference_status' => :'inferenceStatus',
89
83
  :'inference_start_time' => :'inferenceStartTime',
84
+ :'fingerprint_start_time' => :'fingerprintStartTime',
85
+ :'fingerprint_status' => :'fingerprintStatus',
86
+ :'inference_status' => :'inferenceStatus',
90
87
  :'inference_end_time' => :'inferenceEndTime',
91
- :'error_time' => :'error_time'
88
+ :'folder' => :'folder',
89
+ :'upload_end_time' => :'uploadEndTime',
90
+ :'upload_start_time' => :'uploadStartTime',
91
+ :'object_key' => :'objectKey'
92
92
  }
93
93
  end
94
94
 
@@ -104,17 +104,17 @@ module SongtradrApiClientRuby
104
104
  :'id' => :'Integer',
105
105
  :'extension' => :'String',
106
106
  :'error_message' => :'String',
107
- :'folder' => :'String',
108
- :'object_key' => :'String',
109
- :'upload_start_time' => :'Time',
110
- :'upload_end_time' => :'Time',
111
- :'fingerprint_status' => :'String',
112
- :'fingerprint_start_time' => :'Time',
107
+ :'error_time' => :'Time',
113
108
  :'fingerprint_end_time' => :'Time',
114
- :'inference_status' => :'String',
115
109
  :'inference_start_time' => :'Time',
110
+ :'fingerprint_start_time' => :'Time',
111
+ :'fingerprint_status' => :'String',
112
+ :'inference_status' => :'String',
116
113
  :'inference_end_time' => :'Time',
117
- :'error_time' => :'Time'
114
+ :'folder' => :'String',
115
+ :'upload_end_time' => :'Time',
116
+ :'upload_start_time' => :'Time',
117
+ :'object_key' => :'String'
118
118
  }
119
119
  end
120
120
 
@@ -141,68 +141,79 @@ module SongtradrApiClientRuby
141
141
 
142
142
  if attributes.key?(:'name')
143
143
  self.name = attributes[:'name']
144
+ else
145
+ self.name = nil
144
146
  end
145
147
 
146
148
  if attributes.key?(:'id')
147
149
  self.id = attributes[:'id']
150
+ else
151
+ self.id = nil
148
152
  end
149
153
 
150
154
  if attributes.key?(:'extension')
151
155
  self.extension = attributes[:'extension']
156
+ else
157
+ self.extension = nil
152
158
  end
153
159
 
154
160
  if attributes.key?(:'error_message')
155
161
  self.error_message = attributes[:'error_message']
156
162
  end
157
163
 
158
- if attributes.key?(:'folder')
159
- self.folder = attributes[:'folder']
164
+ if attributes.key?(:'error_time')
165
+ self.error_time = attributes[:'error_time']
160
166
  end
161
167
 
162
- if attributes.key?(:'object_key')
163
- self.object_key = attributes[:'object_key']
168
+ if attributes.key?(:'fingerprint_end_time')
169
+ self.fingerprint_end_time = attributes[:'fingerprint_end_time']
164
170
  end
165
171
 
166
- if attributes.key?(:'upload_start_time')
167
- self.upload_start_time = attributes[:'upload_start_time']
172
+ if attributes.key?(:'inference_start_time')
173
+ self.inference_start_time = attributes[:'inference_start_time']
168
174
  end
169
175
 
170
- if attributes.key?(:'upload_end_time')
171
- self.upload_end_time = attributes[:'upload_end_time']
176
+ if attributes.key?(:'fingerprint_start_time')
177
+ self.fingerprint_start_time = attributes[:'fingerprint_start_time']
172
178
  end
173
179
 
174
180
  if attributes.key?(:'fingerprint_status')
175
181
  self.fingerprint_status = attributes[:'fingerprint_status']
176
182
  end
177
183
 
178
- if attributes.key?(:'fingerprint_start_time')
179
- self.fingerprint_start_time = attributes[:'fingerprint_start_time']
184
+ if attributes.key?(:'inference_status')
185
+ self.inference_status = attributes[:'inference_status']
180
186
  end
181
187
 
182
- if attributes.key?(:'fingerprint_end_time')
183
- self.fingerprint_end_time = attributes[:'fingerprint_end_time']
188
+ if attributes.key?(:'inference_end_time')
189
+ self.inference_end_time = attributes[:'inference_end_time']
184
190
  end
185
191
 
186
- if attributes.key?(:'inference_status')
187
- self.inference_status = attributes[:'inference_status']
192
+ if attributes.key?(:'folder')
193
+ self.folder = attributes[:'folder']
194
+ else
195
+ self.folder = nil
188
196
  end
189
197
 
190
- if attributes.key?(:'inference_start_time')
191
- self.inference_start_time = attributes[:'inference_start_time']
198
+ if attributes.key?(:'upload_end_time')
199
+ self.upload_end_time = attributes[:'upload_end_time']
192
200
  end
193
201
 
194
- if attributes.key?(:'inference_end_time')
195
- self.inference_end_time = attributes[:'inference_end_time']
202
+ if attributes.key?(:'upload_start_time')
203
+ self.upload_start_time = attributes[:'upload_start_time']
196
204
  end
197
205
 
198
- if attributes.key?(:'error_time')
199
- self.error_time = attributes[:'error_time']
206
+ if attributes.key?(:'object_key')
207
+ self.object_key = attributes[:'object_key']
208
+ else
209
+ self.object_key = nil
200
210
  end
201
211
  end
202
212
 
203
213
  # Show invalid properties with the reasons. Usually used together with valid?
204
214
  # @return Array for valid properties with the reasons
205
215
  def list_invalid_properties
216
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
206
217
  invalid_properties = Array.new
207
218
  if @name.nil?
208
219
  invalid_properties.push('invalid value for "name", name cannot be nil.')
@@ -230,17 +241,18 @@ module SongtradrApiClientRuby
230
241
  # Check to see if the all the properties in the model are valid
231
242
  # @return true if the model is valid
232
243
  def valid?
244
+ warn '[DEPRECATED] the `valid?` method is obsolete'
233
245
  return false if @name.nil?
234
246
  return false if @id.nil?
235
247
  return false if @extension.nil?
236
248
  extension_validator = EnumAttributeValidator.new('String', ["mp3", "wav", "flac"])
237
249
  return false unless extension_validator.valid?(@extension)
238
- return false if @folder.nil?
239
- return false if @object_key.nil?
240
250
  fingerprint_status_validator = EnumAttributeValidator.new('String', ["processing", "error", "found", "not_found", "not_started"])
241
251
  return false unless fingerprint_status_validator.valid?(@fingerprint_status)
242
252
  inference_status_validator = EnumAttributeValidator.new('String', ["processing", "error", "done", "not_started"])
243
253
  return false unless inference_status_validator.valid?(@inference_status)
254
+ return false if @folder.nil?
255
+ return false if @object_key.nil?
244
256
  true
245
257
  end
246
258
 
@@ -283,17 +295,17 @@ module SongtradrApiClientRuby
283
295
  id == o.id &&
284
296
  extension == o.extension &&
285
297
  error_message == o.error_message &&
286
- folder == o.folder &&
287
- object_key == o.object_key &&
288
- upload_start_time == o.upload_start_time &&
289
- upload_end_time == o.upload_end_time &&
290
- fingerprint_status == o.fingerprint_status &&
291
- fingerprint_start_time == o.fingerprint_start_time &&
298
+ error_time == o.error_time &&
292
299
  fingerprint_end_time == o.fingerprint_end_time &&
293
- inference_status == o.inference_status &&
294
300
  inference_start_time == o.inference_start_time &&
301
+ fingerprint_start_time == o.fingerprint_start_time &&
302
+ fingerprint_status == o.fingerprint_status &&
303
+ inference_status == o.inference_status &&
295
304
  inference_end_time == o.inference_end_time &&
296
- error_time == o.error_time
305
+ folder == o.folder &&
306
+ upload_end_time == o.upload_end_time &&
307
+ upload_start_time == o.upload_start_time &&
308
+ object_key == o.object_key
297
309
  end
298
310
 
299
311
  # @see the `==` method
@@ -305,44 +317,37 @@ module SongtradrApiClientRuby
305
317
  # Calculates hash code according to all attributes.
306
318
  # @return [Integer] Hash code
307
319
  def hash
308
- [name, id, extension, error_message, folder, object_key, upload_start_time, upload_end_time, fingerprint_status, fingerprint_start_time, fingerprint_end_time, inference_status, inference_start_time, inference_end_time, error_time].hash
320
+ [name, id, extension, error_message, error_time, fingerprint_end_time, inference_start_time, fingerprint_start_time, fingerprint_status, inference_status, inference_end_time, folder, upload_end_time, upload_start_time, object_key].hash
309
321
  end
310
322
 
311
323
  # Builds the object from hash
312
324
  # @param [Hash] attributes Model attributes in the form of hash
313
325
  # @return [Object] Returns the model itself
314
326
  def self.build_from_hash(attributes)
315
- new.build_from_hash(attributes)
316
- end
317
-
318
- # Builds the object from hash
319
- # @param [Hash] attributes Model attributes in the form of hash
320
- # @return [Object] Returns the model itself
321
- def build_from_hash(attributes)
322
327
  return nil unless attributes.is_a?(Hash)
323
328
  attributes = attributes.transform_keys(&:to_sym)
324
- self.class.openapi_types.each_pair do |key, type|
325
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
326
- self.send("#{key}=", nil)
329
+ transformed_hash = {}
330
+ openapi_types.each_pair do |key, type|
331
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
332
+ transformed_hash["#{key}"] = nil
327
333
  elsif type =~ /\AArray<(.*)>/i
328
334
  # check to ensure the input is an array given that the attribute
329
335
  # is documented as an array but the input is not
330
- if attributes[self.class.attribute_map[key]].is_a?(Array)
331
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
336
+ if attributes[attribute_map[key]].is_a?(Array)
337
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
332
338
  end
333
- elsif !attributes[self.class.attribute_map[key]].nil?
334
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
339
+ elsif !attributes[attribute_map[key]].nil?
340
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
335
341
  end
336
342
  end
337
-
338
- self
343
+ new(transformed_hash)
339
344
  end
340
345
 
341
346
  # Deserializes the data based on type
342
347
  # @param string type Data type
343
348
  # @param string value Value to be deserialized
344
349
  # @return [Object] Deserialized data
345
- def _deserialize(type, value)
350
+ def self._deserialize(type, value)
346
351
  case type.to_sym
347
352
  when :Time
348
353
  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.22
6
+ The version of the OpenAPI document: 1.12.24
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,7 @@ module SongtradrApiClientRuby
88
88
  # Show invalid properties with the reasons. Usually used together with valid?
89
89
  # @return Array for valid properties with the reasons
90
90
  def list_invalid_properties
91
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
91
92
  invalid_properties = Array.new
92
93
  invalid_properties
93
94
  end
@@ -95,6 +96,7 @@ module SongtradrApiClientRuby
95
96
  # Check to see if the all the properties in the model are valid
96
97
  # @return true if the model is valid
97
98
  def valid?
99
+ warn '[DEPRECATED] the `valid?` method is obsolete'
98
100
  true
99
101
  end
100
102
 
@@ -124,37 +126,30 @@ module SongtradrApiClientRuby
124
126
  # @param [Hash] attributes Model attributes in the form of hash
125
127
  # @return [Object] Returns the model itself
126
128
  def self.build_from_hash(attributes)
127
- new.build_from_hash(attributes)
128
- end
129
-
130
- # Builds the object from hash
131
- # @param [Hash] attributes Model attributes in the form of hash
132
- # @return [Object] Returns the model itself
133
- def build_from_hash(attributes)
134
129
  return nil unless attributes.is_a?(Hash)
135
130
  attributes = attributes.transform_keys(&:to_sym)
136
- self.class.openapi_types.each_pair do |key, type|
137
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
138
- self.send("#{key}=", nil)
131
+ transformed_hash = {}
132
+ openapi_types.each_pair do |key, type|
133
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
134
+ transformed_hash["#{key}"] = nil
139
135
  elsif type =~ /\AArray<(.*)>/i
140
136
  # check to ensure the input is an array given that the attribute
141
137
  # is documented as an array but the input is not
142
- if attributes[self.class.attribute_map[key]].is_a?(Array)
143
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ if attributes[attribute_map[key]].is_a?(Array)
139
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
144
140
  end
145
- elsif !attributes[self.class.attribute_map[key]].nil?
146
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ elsif !attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
147
143
  end
148
144
  end
149
-
150
- self
145
+ new(transformed_hash)
151
146
  end
152
147
 
153
148
  # Deserializes the data based on type
154
149
  # @param string type Data type
155
150
  # @param string value Value to be deserialized
156
151
  # @return [Object] Deserialized data
157
- def _deserialize(type, value)
152
+ def self._deserialize(type, value)
158
153
  case type.to_sym
159
154
  when :Time
160
155
  Time.parse(value)