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.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +6 -5
- data/docs/AllowedValuesApi.md +2 -2
- data/docs/ApiKeyDTO.md +2 -2
- data/docs/CategoryMediumDTO.md +3 -3
- data/docs/FileSmallDTO.md +3 -3
- data/docs/MusicalFeaturesDTO.md +38 -38
- data/docs/PlaylistLargeDTO.md +2 -2
- data/docs/ProductMediumDTO.md +4 -4
- data/docs/RecordingApi.md +6 -0
- data/docs/RecordingLargeDTO.md +5 -5
- data/docs/RecordingMediumDTO.md +5 -3
- data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
- data/docs/RecordingSmallDTO.md +3 -3
- data/docs/TrackDTO.md +18 -0
- data/docs/UserApi.md +4 -0
- data/docs/UserDTO.md +18 -0
- data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +4 -4
- data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +1 -1
- data/lib/songtradr_api_client_ruby/api/party_api.rb +1 -1
- data/lib/songtradr_api_client_ruby/api/playlist_api.rb +1 -1
- data/lib/songtradr_api_client_ruby/api/recording_api.rb +10 -1
- data/lib/songtradr_api_client_ruby/api/user_api.rb +7 -1
- data/lib/songtradr_api_client_ruby/api_client.rb +1 -1
- data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
- data/lib/songtradr_api_client_ruby/configuration.rb +10 -8
- data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +29 -28
- data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +30 -31
- data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/error_response.rb +19 -18
- data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +19 -18
- data/lib/songtradr_api_client_ruby/models/file_dto.rb +23 -18
- data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +21 -18
- data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +19 -18
- data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +41 -36
- data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/genre_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/login_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +354 -359
- data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +25 -28
- data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +46 -39
- data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +19 -18
- data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +57 -40
- data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +21 -18
- data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +55 -31
- data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +28 -31
- data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +36 -31
- data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +21 -18
- data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +95 -18
- data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +19 -18
- data/lib/songtradr_api_client_ruby/models/tag_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/title_dto.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/token_request.rb +15 -18
- data/lib/songtradr_api_client_ruby/models/track_dto.rb +215 -0
- data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +17 -18
- data/lib/songtradr_api_client_ruby/models/usage_dto.rb +13 -18
- data/lib/songtradr_api_client_ruby/models/user_dto.rb +196 -19
- data/lib/songtradr_api_client_ruby/version.rb +2 -2
- data/lib/songtradr_api_client_ruby.rb +2 -1
- data/openapi-generator-config.yaml +1 -1
- data/songtradr_api_client_ruby.gemspec +1 -1
- data/spec/api/allowed_values_api_spec.rb +2 -2
- data/spec/api/api_keys_api_spec.rb +1 -1
- data/spec/api/party_api_spec.rb +1 -1
- data/spec/api/playlist_api_spec.rb +1 -1
- data/spec/api/recording_api_spec.rb +4 -1
- data/spec/api/user_api_spec.rb +3 -1
- data/spec/api_client_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/models/admin_api_user_dto_spec.rb +1 -1
- data/spec/models/api_key_dto_spec.rb +3 -3
- data/spec/models/category_medium_dto_spec.rb +3 -3
- data/spec/models/category_minimal_dto_spec.rb +1 -1
- data/spec/models/config_access_dto_spec.rb +1 -1
- data/spec/models/config_identifier_dto_spec.rb +1 -1
- data/spec/models/contributor_type_dto_spec.rb +1 -1
- data/spec/models/create_api_key_dto_spec.rb +1 -1
- data/spec/models/error_response_spec.rb +1 -1
- data/spec/models/field_summary_dto_spec.rb +1 -1
- data/spec/models/file_dto_spec.rb +1 -1
- data/spec/models/file_list_dto_spec.rb +1 -1
- data/spec/models/file_minimal_with_url_dto_spec.rb +1 -1
- data/spec/models/file_small_dto_spec.rb +7 -7
- data/spec/models/file_upload_dto_spec.rb +1 -1
- data/spec/models/file_w_ith_url_dto_spec.rb +1 -1
- data/spec/models/files_summary_dto_spec.rb +1 -1
- data/spec/models/forgot_password_dto_spec.rb +1 -1
- data/spec/models/genre_dto_spec.rb +1 -1
- data/spec/models/genre_minimal_dto_spec.rb +1 -1
- data/spec/models/genres_summary_dto_spec.rb +1 -1
- data/spec/models/init_put_recording_audio_dto_spec.rb +1 -1
- data/spec/models/jwt_token_dto_spec.rb +1 -1
- data/spec/models/login_dto_spec.rb +1 -1
- data/spec/models/musical_features_dto_spec.rb +163 -163
- data/spec/models/p_line_dto_spec.rb +1 -1
- data/spec/models/party_large_dto_spec.rb +1 -1
- data/spec/models/party_small_dto_spec.rb +1 -1
- data/spec/models/playlist_large_dto_spec.rb +4 -4
- data/spec/models/product_medium_dto_spec.rb +7 -7
- data/spec/models/product_party_dto_spec.rb +1 -1
- data/spec/models/recording_for_similarity_search_dto_spec.rb +1 -1
- data/spec/models/recording_genre_prediction_dto_spec.rb +1 -1
- data/spec/models/recording_large_dto_spec.rb +9 -9
- data/spec/models/recording_list_dto_spec.rb +1 -1
- data/spec/models/recording_medium_dto_spec.rb +10 -4
- data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +3 -3
- data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +1 -1
- data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +1 -1
- data/spec/models/recording_party_dto_spec.rb +1 -1
- data/spec/models/recording_playlist_dto_spec.rb +1 -1
- data/spec/models/recording_small_dto_spec.rb +4 -4
- data/spec/models/recording_tag_small_dto_spec.rb +1 -1
- data/spec/models/save_file_recording_dto_spec.rb +1 -1
- data/spec/models/save_playlist_dto_spec.rb +1 -1
- data/spec/models/save_recording_genre_dto_spec.rb +1 -1
- data/spec/models/save_recording_party_dto_spec.rb +1 -1
- data/spec/models/save_recording_playlist_dto_spec.rb +1 -1
- data/spec/models/save_recording_tag_dto_spec.rb +1 -1
- data/spec/models/save_referrer_dto_spec.rb +1 -1
- data/spec/models/save_taggrams_dto_spec.rb +1 -1
- data/spec/models/save_user_dto_spec.rb +1 -1
- data/spec/models/search_filter_values_dto_spec.rb +1 -1
- data/spec/models/search_recording_granular_abstraction_dto_spec.rb +1 -1
- data/spec/models/search_recording_granular_dto_spec.rb +1 -1
- data/spec/models/sign_up_dto_spec.rb +1 -1
- data/spec/models/tag_dto_spec.rb +1 -1
- data/spec/models/tag_small_dto_spec.rb +1 -1
- data/spec/models/taggram_dto_spec.rb +1 -1
- data/spec/models/tags_summary_dto_spec.rb +1 -1
- data/spec/models/tagstrength_dto_spec.rb +1 -1
- data/spec/models/title_dto_spec.rb +1 -1
- data/spec/models/token_request_spec.rb +1 -1
- data/spec/models/track_dto_spec.rb +34 -0
- data/spec/models/track_to_medium_product_dto_spec.rb +1 -1
- data/spec/models/update_password_dto_spec.rb +1 -1
- data/spec/models/usage_dto_spec.rb +1 -1
- data/spec/models/user_dto_spec.rb +55 -1
- data/spec/spec_helper.rb +1 -1
- 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.
|
|
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
|
|
@@ -70,12 +70,15 @@ module SongtradrApiClientRuby
|
|
|
70
70
|
|
|
71
71
|
if attributes.key?(:'party')
|
|
72
72
|
self.party = attributes[:'party']
|
|
73
|
+
else
|
|
74
|
+
self.party = nil
|
|
73
75
|
end
|
|
74
76
|
end
|
|
75
77
|
|
|
76
78
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
77
79
|
# @return Array for valid properties with the reasons
|
|
78
80
|
def list_invalid_properties
|
|
81
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
79
82
|
invalid_properties = Array.new
|
|
80
83
|
if @party.nil?
|
|
81
84
|
invalid_properties.push('invalid value for "party", party cannot be nil.')
|
|
@@ -87,6 +90,7 @@ module SongtradrApiClientRuby
|
|
|
87
90
|
# Check to see if the all the properties in the model are valid
|
|
88
91
|
# @return true if the model is valid
|
|
89
92
|
def valid?
|
|
93
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
90
94
|
return false if @party.nil?
|
|
91
95
|
true
|
|
92
96
|
end
|
|
@@ -116,37 +120,30 @@ module SongtradrApiClientRuby
|
|
|
116
120
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
117
121
|
# @return [Object] Returns the model itself
|
|
118
122
|
def self.build_from_hash(attributes)
|
|
119
|
-
new.build_from_hash(attributes)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
# Builds the object from hash
|
|
123
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
124
|
-
# @return [Object] Returns the model itself
|
|
125
|
-
def build_from_hash(attributes)
|
|
126
123
|
return nil unless attributes.is_a?(Hash)
|
|
127
124
|
attributes = attributes.transform_keys(&:to_sym)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
125
|
+
transformed_hash = {}
|
|
126
|
+
openapi_types.each_pair do |key, type|
|
|
127
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
128
|
+
transformed_hash["#{key}"] = nil
|
|
131
129
|
elsif type =~ /\AArray<(.*)>/i
|
|
132
130
|
# check to ensure the input is an array given that the attribute
|
|
133
131
|
# is documented as an array but the input is not
|
|
134
|
-
if attributes[
|
|
135
|
-
|
|
132
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
133
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
136
134
|
end
|
|
137
|
-
elsif !attributes[
|
|
138
|
-
|
|
135
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
136
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
139
137
|
end
|
|
140
138
|
end
|
|
141
|
-
|
|
142
|
-
self
|
|
139
|
+
new(transformed_hash)
|
|
143
140
|
end
|
|
144
141
|
|
|
145
142
|
# Deserializes the data based on type
|
|
146
143
|
# @param string type Data type
|
|
147
144
|
# @param string value Value to be deserialized
|
|
148
145
|
# @return [Object] Deserialized data
|
|
149
|
-
def _deserialize(type, value)
|
|
146
|
+
def self._deserialize(type, value)
|
|
150
147
|
case type.to_sym
|
|
151
148
|
when :Time
|
|
152
149
|
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.
|
|
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?(:'recording')
|
|
66
66
|
self.recording = attributes[:'recording']
|
|
67
|
+
else
|
|
68
|
+
self.recording = nil
|
|
67
69
|
end
|
|
68
70
|
|
|
69
71
|
if attributes.key?(:'score')
|
|
70
72
|
self.score = attributes[:'score']
|
|
73
|
+
else
|
|
74
|
+
self.score = 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 @recording.nil?
|
|
79
84
|
invalid_properties.push('invalid value for "recording", recording 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 @recording.nil?
|
|
93
99
|
return false if @score.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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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[
|
|
138
|
-
|
|
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[
|
|
141
|
-
|
|
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.
|
|
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,20 +68,27 @@ module SongtradrApiClientRuby
|
|
|
68
68
|
|
|
69
69
|
if attributes.key?(:'genre')
|
|
70
70
|
self.genre = attributes[:'genre']
|
|
71
|
+
else
|
|
72
|
+
self.genre = nil
|
|
71
73
|
end
|
|
72
74
|
|
|
73
75
|
if attributes.key?(:'probability')
|
|
74
76
|
self.probability = attributes[:'probability']
|
|
77
|
+
else
|
|
78
|
+
self.probability = nil
|
|
75
79
|
end
|
|
76
80
|
|
|
77
81
|
if attributes.key?(:'genre_type')
|
|
78
82
|
self.genre_type = attributes[:'genre_type']
|
|
83
|
+
else
|
|
84
|
+
self.genre_type = 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 @genre.nil?
|
|
87
94
|
invalid_properties.push('invalid value for "genre", genre 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 @genre.nil?
|
|
105
113
|
return false if @probability.nil?
|
|
106
114
|
return false if @genre_type.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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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[
|
|
152
|
-
|
|
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[
|
|
155
|
-
|
|
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.
|
|
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,12 +18,14 @@ module SongtradrApiClientRuby
|
|
|
18
18
|
class RecordingLargeDTO
|
|
19
19
|
attr_accessor :duration
|
|
20
20
|
|
|
21
|
-
attr_accessor :pline
|
|
22
|
-
|
|
23
21
|
attr_accessor :spotify_id
|
|
24
22
|
|
|
23
|
+
attr_accessor :pline
|
|
24
|
+
|
|
25
25
|
attr_accessor :genre_predictions
|
|
26
26
|
|
|
27
|
+
attr_accessor :isrc
|
|
28
|
+
|
|
27
29
|
attr_accessor :parties
|
|
28
30
|
|
|
29
31
|
attr_accessor :genres
|
|
@@ -38,23 +40,21 @@ module SongtradrApiClientRuby
|
|
|
38
40
|
|
|
39
41
|
attr_accessor :tags
|
|
40
42
|
|
|
41
|
-
attr_accessor :isrc
|
|
42
|
-
|
|
43
43
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
44
44
|
def self.attribute_map
|
|
45
45
|
{
|
|
46
46
|
:'duration' => :'duration',
|
|
47
|
-
:'pline' => :'pline',
|
|
48
47
|
:'spotify_id' => :'spotifyId',
|
|
48
|
+
:'pline' => :'pline',
|
|
49
49
|
:'genre_predictions' => :'genrePredictions',
|
|
50
|
+
:'isrc' => :'isrc',
|
|
50
51
|
:'parties' => :'parties',
|
|
51
52
|
:'genres' => :'genres',
|
|
52
53
|
:'language_of_performance' => :'languageOfPerformance',
|
|
53
54
|
:'titles' => :'titles',
|
|
54
55
|
:'tracks' => :'tracks',
|
|
55
56
|
:'musical_features' => :'musicalFeatures',
|
|
56
|
-
:'tags' => :'tags'
|
|
57
|
-
:'isrc' => :'isrc'
|
|
57
|
+
:'tags' => :'tags'
|
|
58
58
|
}
|
|
59
59
|
end
|
|
60
60
|
|
|
@@ -67,17 +67,17 @@ module SongtradrApiClientRuby
|
|
|
67
67
|
def self.openapi_types
|
|
68
68
|
{
|
|
69
69
|
:'duration' => :'Integer',
|
|
70
|
-
:'pline' => :'PLineDTO',
|
|
71
70
|
:'spotify_id' => :'String',
|
|
71
|
+
:'pline' => :'PLineDTO',
|
|
72
72
|
:'genre_predictions' => :'Array<RecordingGenrePredictionDTO>',
|
|
73
|
+
:'isrc' => :'String',
|
|
73
74
|
:'parties' => :'Array<RecordingPartyDTO>',
|
|
74
75
|
:'genres' => :'Array<GenreDTO>',
|
|
75
76
|
:'language_of_performance' => :'String',
|
|
76
77
|
:'titles' => :'Array<TitleDTO>',
|
|
77
78
|
:'tracks' => :'Array<TrackToMediumProductDTO>',
|
|
78
79
|
:'musical_features' => :'MusicalFeaturesDTO',
|
|
79
|
-
:'tags' => :'Array<RecordingTagSmallDTO>'
|
|
80
|
-
:'isrc' => :'String'
|
|
80
|
+
:'tags' => :'Array<RecordingTagSmallDTO>'
|
|
81
81
|
}
|
|
82
82
|
end
|
|
83
83
|
|
|
@@ -106,20 +106,26 @@ module SongtradrApiClientRuby
|
|
|
106
106
|
self.duration = attributes[:'duration']
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
-
if attributes.key?(:'pline')
|
|
110
|
-
self.pline = attributes[:'pline']
|
|
111
|
-
end
|
|
112
|
-
|
|
113
109
|
if attributes.key?(:'spotify_id')
|
|
114
110
|
self.spotify_id = attributes[:'spotify_id']
|
|
115
111
|
end
|
|
116
112
|
|
|
113
|
+
if attributes.key?(:'pline')
|
|
114
|
+
self.pline = attributes[:'pline']
|
|
115
|
+
end
|
|
116
|
+
|
|
117
117
|
if attributes.key?(:'genre_predictions')
|
|
118
118
|
if (value = attributes[:'genre_predictions']).is_a?(Array)
|
|
119
119
|
self.genre_predictions = value
|
|
120
120
|
end
|
|
121
121
|
end
|
|
122
122
|
|
|
123
|
+
if attributes.key?(:'isrc')
|
|
124
|
+
self.isrc = attributes[:'isrc']
|
|
125
|
+
else
|
|
126
|
+
self.isrc = nil
|
|
127
|
+
end
|
|
128
|
+
|
|
123
129
|
if attributes.key?(:'parties')
|
|
124
130
|
if (value = attributes[:'parties']).is_a?(Array)
|
|
125
131
|
self.parties = value
|
|
@@ -157,15 +163,12 @@ module SongtradrApiClientRuby
|
|
|
157
163
|
self.tags = value
|
|
158
164
|
end
|
|
159
165
|
end
|
|
160
|
-
|
|
161
|
-
if attributes.key?(:'isrc')
|
|
162
|
-
self.isrc = attributes[:'isrc']
|
|
163
|
-
end
|
|
164
166
|
end
|
|
165
167
|
|
|
166
168
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
167
169
|
# @return Array for valid properties with the reasons
|
|
168
170
|
def list_invalid_properties
|
|
171
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
169
172
|
invalid_properties = Array.new
|
|
170
173
|
if @isrc.nil?
|
|
171
174
|
invalid_properties.push('invalid value for "isrc", isrc cannot be nil.')
|
|
@@ -177,6 +180,7 @@ module SongtradrApiClientRuby
|
|
|
177
180
|
# Check to see if the all the properties in the model are valid
|
|
178
181
|
# @return true if the model is valid
|
|
179
182
|
def valid?
|
|
183
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
180
184
|
return false if @isrc.nil?
|
|
181
185
|
true
|
|
182
186
|
end
|
|
@@ -184,30 +188,50 @@ module SongtradrApiClientRuby
|
|
|
184
188
|
# Custom attribute writer method with validation
|
|
185
189
|
# @param [Object] genre_predictions Value to be assigned
|
|
186
190
|
def genre_predictions=(genre_predictions)
|
|
191
|
+
if genre_predictions.nil?
|
|
192
|
+
fail ArgumentError, 'genre_predictions cannot be nil'
|
|
193
|
+
end
|
|
194
|
+
|
|
187
195
|
@genre_predictions = genre_predictions
|
|
188
196
|
end
|
|
189
197
|
|
|
190
198
|
# Custom attribute writer method with validation
|
|
191
199
|
# @param [Object] parties Value to be assigned
|
|
192
200
|
def parties=(parties)
|
|
201
|
+
if parties.nil?
|
|
202
|
+
fail ArgumentError, 'parties cannot be nil'
|
|
203
|
+
end
|
|
204
|
+
|
|
193
205
|
@parties = parties
|
|
194
206
|
end
|
|
195
207
|
|
|
196
208
|
# Custom attribute writer method with validation
|
|
197
209
|
# @param [Object] genres Value to be assigned
|
|
198
210
|
def genres=(genres)
|
|
211
|
+
if genres.nil?
|
|
212
|
+
fail ArgumentError, 'genres cannot be nil'
|
|
213
|
+
end
|
|
214
|
+
|
|
199
215
|
@genres = genres
|
|
200
216
|
end
|
|
201
217
|
|
|
202
218
|
# Custom attribute writer method with validation
|
|
203
219
|
# @param [Object] titles Value to be assigned
|
|
204
220
|
def titles=(titles)
|
|
221
|
+
if titles.nil?
|
|
222
|
+
fail ArgumentError, 'titles cannot be nil'
|
|
223
|
+
end
|
|
224
|
+
|
|
205
225
|
@titles = titles
|
|
206
226
|
end
|
|
207
227
|
|
|
208
228
|
# Custom attribute writer method with validation
|
|
209
229
|
# @param [Object] tracks Value to be assigned
|
|
210
230
|
def tracks=(tracks)
|
|
231
|
+
if tracks.nil?
|
|
232
|
+
fail ArgumentError, 'tracks cannot be nil'
|
|
233
|
+
end
|
|
234
|
+
|
|
211
235
|
@tracks = tracks
|
|
212
236
|
end
|
|
213
237
|
|
|
@@ -217,17 +241,17 @@ module SongtradrApiClientRuby
|
|
|
217
241
|
return true if self.equal?(o)
|
|
218
242
|
self.class == o.class &&
|
|
219
243
|
duration == o.duration &&
|
|
220
|
-
pline == o.pline &&
|
|
221
244
|
spotify_id == o.spotify_id &&
|
|
245
|
+
pline == o.pline &&
|
|
222
246
|
genre_predictions == o.genre_predictions &&
|
|
247
|
+
isrc == o.isrc &&
|
|
223
248
|
parties == o.parties &&
|
|
224
249
|
genres == o.genres &&
|
|
225
250
|
language_of_performance == o.language_of_performance &&
|
|
226
251
|
titles == o.titles &&
|
|
227
252
|
tracks == o.tracks &&
|
|
228
253
|
musical_features == o.musical_features &&
|
|
229
|
-
tags == o.tags
|
|
230
|
-
isrc == o.isrc
|
|
254
|
+
tags == o.tags
|
|
231
255
|
end
|
|
232
256
|
|
|
233
257
|
# @see the `==` method
|
|
@@ -239,44 +263,37 @@ module SongtradrApiClientRuby
|
|
|
239
263
|
# Calculates hash code according to all attributes.
|
|
240
264
|
# @return [Integer] Hash code
|
|
241
265
|
def hash
|
|
242
|
-
[duration,
|
|
266
|
+
[duration, spotify_id, pline, genre_predictions, isrc, parties, genres, language_of_performance, titles, tracks, musical_features, tags].hash
|
|
243
267
|
end
|
|
244
268
|
|
|
245
269
|
# Builds the object from hash
|
|
246
270
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
247
271
|
# @return [Object] Returns the model itself
|
|
248
272
|
def self.build_from_hash(attributes)
|
|
249
|
-
new.build_from_hash(attributes)
|
|
250
|
-
end
|
|
251
|
-
|
|
252
|
-
# Builds the object from hash
|
|
253
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
254
|
-
# @return [Object] Returns the model itself
|
|
255
|
-
def build_from_hash(attributes)
|
|
256
273
|
return nil unless attributes.is_a?(Hash)
|
|
257
274
|
attributes = attributes.transform_keys(&:to_sym)
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
275
|
+
transformed_hash = {}
|
|
276
|
+
openapi_types.each_pair do |key, type|
|
|
277
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
278
|
+
transformed_hash["#{key}"] = nil
|
|
261
279
|
elsif type =~ /\AArray<(.*)>/i
|
|
262
280
|
# check to ensure the input is an array given that the attribute
|
|
263
281
|
# is documented as an array but the input is not
|
|
264
|
-
if attributes[
|
|
265
|
-
|
|
282
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
283
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
266
284
|
end
|
|
267
|
-
elsif !attributes[
|
|
268
|
-
|
|
285
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
286
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
269
287
|
end
|
|
270
288
|
end
|
|
271
|
-
|
|
272
|
-
self
|
|
289
|
+
new(transformed_hash)
|
|
273
290
|
end
|
|
274
291
|
|
|
275
292
|
# Deserializes the data based on type
|
|
276
293
|
# @param string type Data type
|
|
277
294
|
# @param string value Value to be deserialized
|
|
278
295
|
# @return [Object] Deserialized data
|
|
279
|
-
def _deserialize(type, value)
|
|
296
|
+
def self._deserialize(type, value)
|
|
280
297
|
case type.to_sym
|
|
281
298
|
when :Time
|
|
282
299
|
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.
|
|
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
|
|
@@ -74,24 +74,33 @@ module SongtradrApiClientRuby
|
|
|
74
74
|
if (value = attributes[:'recordings']).is_a?(Array)
|
|
75
75
|
self.recordings = value
|
|
76
76
|
end
|
|
77
|
+
else
|
|
78
|
+
self.recordings = 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 @recordings.nil?
|
|
97
106
|
invalid_properties.push('invalid value for "recordings", recordings 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 @recordings.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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
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[
|
|
168
|
-
|
|
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[
|
|
171
|
-
|
|
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)
|