songtradr_api_client_ruby 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +5 -30
  4. data/docs/ImageRecognitionResponse.md +2 -2
  5. data/docs/MusicalFeaturesDTO.md +78 -78
  6. data/docs/RecordingGenrePredictionDTO.md +3 -3
  7. data/docs/RecordingMediumDTO.md +4 -4
  8. data/docs/RecordingPartyDTO.md +3 -3
  9. data/docs/RecordingSmallDTO.md +3 -3
  10. data/docs/VideoRecognitionResponse.md +2 -2
  11. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  12. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +2 -2
  13. data/lib/songtradr_api_client_ruby/api/recording_api.rb +2 -2
  14. data/lib/songtradr_api_client_ruby/api/user_api.rb +2 -2
  15. data/lib/songtradr_api_client_ruby/api_client.rb +4 -4
  16. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  17. data/lib/songtradr_api_client_ruby/configuration.rb +2 -2
  18. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  20. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  21. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  23. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  27. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +4 -4
  38. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  39. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  40. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +557 -557
  42. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  44. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +22 -22
  45. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +35 -35
  47. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +2 -2
  48. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  49. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  50. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +17 -17
  51. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +27 -27
  52. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +2 -2
  55. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  57. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  61. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  63. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  66. data/lib/songtradr_api_client_ruby/models/user_dto.rb +2 -2
  67. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +4 -4
  68. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  69. data/lib/songtradr_api_client_ruby.rb +2 -27
  70. data/openapi-generator-config.yaml +1 -1
  71. data/songtradr_api_client_ruby.gemspec +2 -2
  72. data/spec/api/allowed_values_api_spec.rb +2 -2
  73. data/spec/api/playlist_api_spec.rb +2 -2
  74. data/spec/api/recording_api_spec.rb +2 -2
  75. data/spec/api/user_api_spec.rb +2 -2
  76. data/spec/models/category_medium_dto_spec.rb +2 -2
  77. data/spec/models/category_minimal_dto_spec.rb +2 -2
  78. data/spec/models/config_access_dto_spec.rb +2 -2
  79. data/spec/models/config_identifier_dto_spec.rb +2 -2
  80. data/spec/models/contributor_type_dto_spec.rb +2 -2
  81. data/spec/models/curate_playlist_dto_spec.rb +2 -2
  82. data/spec/models/curate_playlist_response_dto_spec.rb +2 -2
  83. data/spec/models/error_response_spec.rb +2 -2
  84. data/spec/models/field_summary_dto_spec.rb +2 -2
  85. data/spec/models/file_dto_spec.rb +2 -2
  86. data/spec/models/file_list_dto_spec.rb +2 -2
  87. data/spec/models/file_small_dto_spec.rb +2 -2
  88. data/spec/models/file_upload_dto_spec.rb +2 -2
  89. data/spec/models/file_w_ith_url_dto_spec.rb +2 -2
  90. data/spec/models/files_summary_dto_spec.rb +2 -2
  91. data/spec/models/forgot_password_dto_spec.rb +2 -2
  92. data/spec/models/genre_dto_spec.rb +2 -2
  93. data/spec/models/genre_minimal_dto_spec.rb +2 -2
  94. data/spec/models/genres_summary_dto_spec.rb +2 -2
  95. data/spec/models/image_recognition_response_spec.rb +2 -2
  96. data/spec/models/init_put_recording_audio_dto_spec.rb +2 -2
  97. data/spec/models/jwt_token_dto_spec.rb +2 -2
  98. data/spec/models/login_dto_spec.rb +2 -2
  99. data/spec/models/musical_features_dto_spec.rb +171 -171
  100. data/spec/models/party_small_dto_spec.rb +2 -2
  101. data/spec/models/recording_for_similarity_search_dto_spec.rb +2 -2
  102. data/spec/models/recording_genre_prediction_dto_spec.rb +5 -5
  103. data/spec/models/recording_list_dto_spec.rb +2 -2
  104. data/spec/models/recording_medium_dto_spec.rb +9 -9
  105. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +2 -2
  106. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +2 -2
  107. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +2 -2
  108. data/spec/models/recording_party_dto_spec.rb +4 -4
  109. data/spec/models/recording_small_dto_spec.rb +5 -5
  110. data/spec/models/recording_tag_small_dto_spec.rb +2 -2
  111. data/spec/models/save_user_dto_spec.rb +2 -2
  112. data/spec/models/search_filter_values_dto_spec.rb +2 -2
  113. data/spec/models/search_recording_granular_dto_spec.rb +2 -2
  114. data/spec/models/sign_up_dto_spec.rb +2 -2
  115. data/spec/models/tag_dto_spec.rb +2 -2
  116. data/spec/models/tag_small_dto_spec.rb +2 -2
  117. data/spec/models/taggram_dto_spec.rb +2 -2
  118. data/spec/models/tags_summary_dto_spec.rb +2 -2
  119. data/spec/models/tagstrength_dto_spec.rb +2 -2
  120. data/spec/models/title_dto_spec.rb +2 -2
  121. data/spec/models/token_request_spec.rb +2 -2
  122. data/spec/models/track_dto_spec.rb +2 -2
  123. data/spec/models/update_password_dto_spec.rb +2 -2
  124. data/spec/models/user_dto_spec.rb +2 -2
  125. data/spec/models/video_recognition_response_spec.rb +2 -2
  126. data/spec/spec_helper.rb +2 -2
  127. metadata +42 -146
  128. data/docs/AgeRange.md +0 -20
  129. data/docs/Beard.md +0 -20
  130. data/docs/BoundingBox.md +0 -24
  131. data/docs/DominantColor.md +0 -30
  132. data/docs/Emotion.md +0 -20
  133. data/docs/EyeDirection.md +0 -22
  134. data/docs/EyeOpen.md +0 -20
  135. data/docs/Eyeglasses.md +0 -20
  136. data/docs/FaceDetail.md +0 -50
  137. data/docs/FaceDetection.md +0 -20
  138. data/docs/FaceOccluded.md +0 -20
  139. data/docs/Gender.md +0 -20
  140. data/docs/ImageQuality.md +0 -20
  141. data/docs/Instance.md +0 -22
  142. data/docs/Label.md +0 -28
  143. data/docs/LabelAlias.md +0 -18
  144. data/docs/LabelCategory.md +0 -18
  145. data/docs/LabelDetection.md +0 -26
  146. data/docs/Landmark.md +0 -22
  147. data/docs/MouthOpen.md +0 -20
  148. data/docs/Mustache.md +0 -20
  149. data/docs/Parent.md +0 -18
  150. data/docs/Pose.md +0 -22
  151. data/docs/Smile.md +0 -20
  152. data/docs/Sunglasses.md +0 -20
  153. data/lib/songtradr_api_client_ruby/models/age_range.rb +0 -223
  154. data/lib/songtradr_api_client_ruby/models/beard.rb +0 -223
  155. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +0 -241
  156. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +0 -268
  157. data/lib/songtradr_api_client_ruby/models/emotion.rb +0 -223
  158. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +0 -232
  159. data/lib/songtradr_api_client_ruby/models/eye_open.rb +0 -223
  160. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +0 -223
  161. data/lib/songtradr_api_client_ruby/models/face_detail.rb +0 -362
  162. data/lib/songtradr_api_client_ruby/models/face_detection.rb +0 -223
  163. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +0 -223
  164. data/lib/songtradr_api_client_ruby/models/gender.rb +0 -223
  165. data/lib/songtradr_api_client_ruby/models/image_quality.rb +0 -223
  166. data/lib/songtradr_api_client_ruby/models/instance.rb +0 -234
  167. data/lib/songtradr_api_client_ruby/models/label.rb +0 -267
  168. data/lib/songtradr_api_client_ruby/models/label_alias.rb +0 -214
  169. data/lib/songtradr_api_client_ruby/models/label_category.rb +0 -214
  170. data/lib/songtradr_api_client_ruby/models/label_detection.rb +0 -250
  171. data/lib/songtradr_api_client_ruby/models/landmark.rb +0 -232
  172. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +0 -223
  173. data/lib/songtradr_api_client_ruby/models/mustache.rb +0 -223
  174. data/lib/songtradr_api_client_ruby/models/parent.rb +0 -214
  175. data/lib/songtradr_api_client_ruby/models/pose.rb +0 -232
  176. data/lib/songtradr_api_client_ruby/models/smile.rb +0 -223
  177. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +0 -223
  178. data/spec/api_client_spec.rb +0 -223
  179. data/spec/configuration_spec.rb +0 -82
  180. data/spec/models/age_range_spec.rb +0 -42
  181. data/spec/models/beard_spec.rb +0 -42
  182. data/spec/models/bounding_box_spec.rb +0 -54
  183. data/spec/models/dominant_color_spec.rb +0 -72
  184. data/spec/models/emotion_spec.rb +0 -42
  185. data/spec/models/eye_direction_spec.rb +0 -48
  186. data/spec/models/eye_open_spec.rb +0 -42
  187. data/spec/models/eyeglasses_spec.rb +0 -42
  188. data/spec/models/face_detail_spec.rb +0 -132
  189. data/spec/models/face_detection_spec.rb +0 -42
  190. data/spec/models/face_occluded_spec.rb +0 -42
  191. data/spec/models/gender_spec.rb +0 -42
  192. data/spec/models/image_quality_spec.rb +0 -42
  193. data/spec/models/instance_spec.rb +0 -48
  194. data/spec/models/label_alias_spec.rb +0 -36
  195. data/spec/models/label_category_spec.rb +0 -36
  196. data/spec/models/label_detection_spec.rb +0 -60
  197. data/spec/models/label_spec.rb +0 -66
  198. data/spec/models/landmark_spec.rb +0 -48
  199. data/spec/models/mouth_open_spec.rb +0 -42
  200. data/spec/models/mustache_spec.rb +0 -42
  201. data/spec/models/parent_spec.rb +0 -36
  202. data/spec/models/pose_spec.rb +0 -48
  203. data/spec/models/smile_spec.rb +0 -42
  204. data/spec/models/sunglasses_spec.rb +0 -42
@@ -1,223 +0,0 @@
1
- =begin
2
- #Songtradr API
3
-
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
-
6
- The version of the OpenAPI document: 1.16.0
7
- Contact: info@songtradr.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.2.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module SongtradrApiClientRuby
17
- class Eyeglasses
18
- attr_accessor :value
19
-
20
- attr_accessor :confidence
21
-
22
- # Attribute mapping from ruby-style variable name to JSON key.
23
- def self.attribute_map
24
- {
25
- :'value' => :'value',
26
- :'confidence' => :'confidence'
27
- }
28
- end
29
-
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
33
- end
34
-
35
- # Attribute type mapping.
36
- def self.openapi_types
37
- {
38
- :'value' => :'Boolean',
39
- :'confidence' => :'Float'
40
- }
41
- end
42
-
43
- # List of attributes with nullable: true
44
- def self.openapi_nullable
45
- Set.new([
46
- ])
47
- end
48
-
49
- # Initializes the object
50
- # @param [Hash] attributes Model attributes in the form of hash
51
- def initialize(attributes = {})
52
- if (!attributes.is_a?(Hash))
53
- fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::Eyeglasses` initialize method"
54
- end
55
-
56
- # check to see if the attribute exists and convert string to symbol for hash key
57
- attributes = attributes.each_with_object({}) { |(k, v), h|
58
- if (!self.class.attribute_map.key?(k.to_sym))
59
- fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::Eyeglasses`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
- end
61
- h[k.to_sym] = v
62
- }
63
-
64
- if attributes.key?(:'value')
65
- self.value = attributes[:'value']
66
- end
67
-
68
- if attributes.key?(:'confidence')
69
- self.confidence = attributes[:'confidence']
70
- end
71
- end
72
-
73
- # Show invalid properties with the reasons. Usually used together with valid?
74
- # @return Array for valid properties with the reasons
75
- def list_invalid_properties
76
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
77
- invalid_properties = Array.new
78
- invalid_properties
79
- end
80
-
81
- # Check to see if the all the properties in the model are valid
82
- # @return true if the model is valid
83
- def valid?
84
- warn '[DEPRECATED] the `valid?` method is obsolete'
85
- true
86
- end
87
-
88
- # Checks equality by comparing each attribute.
89
- # @param [Object] Object to be compared
90
- def ==(o)
91
- return true if self.equal?(o)
92
- self.class == o.class &&
93
- value == o.value &&
94
- confidence == o.confidence
95
- end
96
-
97
- # @see the `==` method
98
- # @param [Object] Object to be compared
99
- def eql?(o)
100
- self == o
101
- end
102
-
103
- # Calculates hash code according to all attributes.
104
- # @return [Integer] Hash code
105
- def hash
106
- [value, confidence].hash
107
- end
108
-
109
- # Builds the object from hash
110
- # @param [Hash] attributes Model attributes in the form of hash
111
- # @return [Object] Returns the model itself
112
- def self.build_from_hash(attributes)
113
- return nil unless attributes.is_a?(Hash)
114
- attributes = attributes.transform_keys(&:to_sym)
115
- transformed_hash = {}
116
- openapi_types.each_pair do |key, type|
117
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
- transformed_hash["#{key}"] = nil
119
- elsif type =~ /\AArray<(.*)>/i
120
- # check to ensure the input is an array given that the attribute
121
- # is documented as an array but the input is not
122
- if attributes[attribute_map[key]].is_a?(Array)
123
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
- end
125
- elsif !attributes[attribute_map[key]].nil?
126
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
127
- end
128
- end
129
- new(transformed_hash)
130
- end
131
-
132
- # Deserializes the data based on type
133
- # @param string type Data type
134
- # @param string value Value to be deserialized
135
- # @return [Object] Deserialized data
136
- def self._deserialize(type, value)
137
- case type.to_sym
138
- when :Time
139
- Time.parse(value)
140
- when :Date
141
- Date.parse(value)
142
- when :String
143
- value.to_s
144
- when :Integer
145
- value.to_i
146
- when :Float
147
- value.to_f
148
- when :Boolean
149
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
- true
151
- else
152
- false
153
- end
154
- when :Object
155
- # generic object (usually a Hash), return directly
156
- value
157
- when /\AArray<(?<inner_type>.+)>\z/
158
- inner_type = Regexp.last_match[:inner_type]
159
- value.map { |v| _deserialize(inner_type, v) }
160
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
- k_type = Regexp.last_match[:k_type]
162
- v_type = Regexp.last_match[:v_type]
163
- {}.tap do |hash|
164
- value.each do |k, v|
165
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
- end
167
- end
168
- else # model
169
- # models (e.g. Pet) or oneOf
170
- klass = SongtradrApiClientRuby.const_get(type)
171
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
- end
173
- end
174
-
175
- # Returns the string representation of the object
176
- # @return [String] String presentation of the object
177
- def to_s
178
- to_hash.to_s
179
- end
180
-
181
- # to_body is an alias to to_hash (backward compatibility)
182
- # @return [Hash] Returns the object in the form of hash
183
- def to_body
184
- to_hash
185
- end
186
-
187
- # Returns the object in the form of hash
188
- # @return [Hash] Returns the object in the form of hash
189
- def to_hash
190
- hash = {}
191
- self.class.attribute_map.each_pair do |attr, param|
192
- value = self.send(attr)
193
- if value.nil?
194
- is_nullable = self.class.openapi_nullable.include?(attr)
195
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
- end
197
-
198
- hash[param] = _to_hash(value)
199
- end
200
- hash
201
- end
202
-
203
- # Outputs non-array value in the form of hash
204
- # For object, use to_hash. Otherwise, just return the value
205
- # @param [Object] value Any valid value
206
- # @return [Hash] Returns the value in the form of hash
207
- def _to_hash(value)
208
- if value.is_a?(Array)
209
- value.compact.map { |v| _to_hash(v) }
210
- elsif value.is_a?(Hash)
211
- {}.tap do |hash|
212
- value.each { |k, v| hash[k] = _to_hash(v) }
213
- end
214
- elsif value.respond_to? :to_hash
215
- value.to_hash
216
- else
217
- value
218
- end
219
- end
220
-
221
- end
222
-
223
- end
@@ -1,362 +0,0 @@
1
- =begin
2
- #Songtradr API
3
-
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
-
6
- The version of the OpenAPI document: 1.16.0
7
- Contact: info@songtradr.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.2.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module SongtradrApiClientRuby
17
- class FaceDetail
18
- attr_accessor :bounding_box
19
-
20
- attr_accessor :age_range
21
-
22
- attr_accessor :smile
23
-
24
- attr_accessor :eyeglasses
25
-
26
- attr_accessor :sunglasses
27
-
28
- attr_accessor :gender
29
-
30
- attr_accessor :beard
31
-
32
- attr_accessor :mustache
33
-
34
- attr_accessor :eyes_open
35
-
36
- attr_accessor :mouth_open
37
-
38
- attr_accessor :emotions
39
-
40
- attr_accessor :landmarks
41
-
42
- attr_accessor :pose
43
-
44
- attr_accessor :quality
45
-
46
- attr_accessor :confidence
47
-
48
- attr_accessor :face_occluded
49
-
50
- attr_accessor :eye_direction
51
-
52
- # Attribute mapping from ruby-style variable name to JSON key.
53
- def self.attribute_map
54
- {
55
- :'bounding_box' => :'boundingBox',
56
- :'age_range' => :'ageRange',
57
- :'smile' => :'smile',
58
- :'eyeglasses' => :'eyeglasses',
59
- :'sunglasses' => :'sunglasses',
60
- :'gender' => :'gender',
61
- :'beard' => :'beard',
62
- :'mustache' => :'mustache',
63
- :'eyes_open' => :'eyesOpen',
64
- :'mouth_open' => :'mouthOpen',
65
- :'emotions' => :'emotions',
66
- :'landmarks' => :'landmarks',
67
- :'pose' => :'pose',
68
- :'quality' => :'quality',
69
- :'confidence' => :'confidence',
70
- :'face_occluded' => :'faceOccluded',
71
- :'eye_direction' => :'eyeDirection'
72
- }
73
- end
74
-
75
- # Returns all the JSON keys this model knows about
76
- def self.acceptable_attributes
77
- attribute_map.values
78
- end
79
-
80
- # Attribute type mapping.
81
- def self.openapi_types
82
- {
83
- :'bounding_box' => :'BoundingBox',
84
- :'age_range' => :'AgeRange',
85
- :'smile' => :'Smile',
86
- :'eyeglasses' => :'Eyeglasses',
87
- :'sunglasses' => :'Sunglasses',
88
- :'gender' => :'Gender',
89
- :'beard' => :'Beard',
90
- :'mustache' => :'Mustache',
91
- :'eyes_open' => :'EyeOpen',
92
- :'mouth_open' => :'MouthOpen',
93
- :'emotions' => :'Array<Emotion>',
94
- :'landmarks' => :'Array<Landmark>',
95
- :'pose' => :'Pose',
96
- :'quality' => :'ImageQuality',
97
- :'confidence' => :'Float',
98
- :'face_occluded' => :'FaceOccluded',
99
- :'eye_direction' => :'EyeDirection'
100
- }
101
- end
102
-
103
- # List of attributes with nullable: true
104
- def self.openapi_nullable
105
- Set.new([
106
- ])
107
- end
108
-
109
- # Initializes the object
110
- # @param [Hash] attributes Model attributes in the form of hash
111
- def initialize(attributes = {})
112
- if (!attributes.is_a?(Hash))
113
- fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::FaceDetail` initialize method"
114
- end
115
-
116
- # check to see if the attribute exists and convert string to symbol for hash key
117
- attributes = attributes.each_with_object({}) { |(k, v), h|
118
- if (!self.class.attribute_map.key?(k.to_sym))
119
- fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::FaceDetail`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
- end
121
- h[k.to_sym] = v
122
- }
123
-
124
- if attributes.key?(:'bounding_box')
125
- self.bounding_box = attributes[:'bounding_box']
126
- end
127
-
128
- if attributes.key?(:'age_range')
129
- self.age_range = attributes[:'age_range']
130
- end
131
-
132
- if attributes.key?(:'smile')
133
- self.smile = attributes[:'smile']
134
- end
135
-
136
- if attributes.key?(:'eyeglasses')
137
- self.eyeglasses = attributes[:'eyeglasses']
138
- end
139
-
140
- if attributes.key?(:'sunglasses')
141
- self.sunglasses = attributes[:'sunglasses']
142
- end
143
-
144
- if attributes.key?(:'gender')
145
- self.gender = attributes[:'gender']
146
- end
147
-
148
- if attributes.key?(:'beard')
149
- self.beard = attributes[:'beard']
150
- end
151
-
152
- if attributes.key?(:'mustache')
153
- self.mustache = attributes[:'mustache']
154
- end
155
-
156
- if attributes.key?(:'eyes_open')
157
- self.eyes_open = attributes[:'eyes_open']
158
- end
159
-
160
- if attributes.key?(:'mouth_open')
161
- self.mouth_open = attributes[:'mouth_open']
162
- end
163
-
164
- if attributes.key?(:'emotions')
165
- if (value = attributes[:'emotions']).is_a?(Array)
166
- self.emotions = value
167
- end
168
- end
169
-
170
- if attributes.key?(:'landmarks')
171
- if (value = attributes[:'landmarks']).is_a?(Array)
172
- self.landmarks = value
173
- end
174
- end
175
-
176
- if attributes.key?(:'pose')
177
- self.pose = attributes[:'pose']
178
- end
179
-
180
- if attributes.key?(:'quality')
181
- self.quality = attributes[:'quality']
182
- end
183
-
184
- if attributes.key?(:'confidence')
185
- self.confidence = attributes[:'confidence']
186
- end
187
-
188
- if attributes.key?(:'face_occluded')
189
- self.face_occluded = attributes[:'face_occluded']
190
- end
191
-
192
- if attributes.key?(:'eye_direction')
193
- self.eye_direction = attributes[:'eye_direction']
194
- end
195
- end
196
-
197
- # Show invalid properties with the reasons. Usually used together with valid?
198
- # @return Array for valid properties with the reasons
199
- def list_invalid_properties
200
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
201
- invalid_properties = Array.new
202
- invalid_properties
203
- end
204
-
205
- # Check to see if the all the properties in the model are valid
206
- # @return true if the model is valid
207
- def valid?
208
- warn '[DEPRECATED] the `valid?` method is obsolete'
209
- true
210
- end
211
-
212
- # Checks equality by comparing each attribute.
213
- # @param [Object] Object to be compared
214
- def ==(o)
215
- return true if self.equal?(o)
216
- self.class == o.class &&
217
- bounding_box == o.bounding_box &&
218
- age_range == o.age_range &&
219
- smile == o.smile &&
220
- eyeglasses == o.eyeglasses &&
221
- sunglasses == o.sunglasses &&
222
- gender == o.gender &&
223
- beard == o.beard &&
224
- mustache == o.mustache &&
225
- eyes_open == o.eyes_open &&
226
- mouth_open == o.mouth_open &&
227
- emotions == o.emotions &&
228
- landmarks == o.landmarks &&
229
- pose == o.pose &&
230
- quality == o.quality &&
231
- confidence == o.confidence &&
232
- face_occluded == o.face_occluded &&
233
- eye_direction == o.eye_direction
234
- end
235
-
236
- # @see the `==` method
237
- # @param [Object] Object to be compared
238
- def eql?(o)
239
- self == o
240
- end
241
-
242
- # Calculates hash code according to all attributes.
243
- # @return [Integer] Hash code
244
- def hash
245
- [bounding_box, age_range, smile, eyeglasses, sunglasses, gender, beard, mustache, eyes_open, mouth_open, emotions, landmarks, pose, quality, confidence, face_occluded, eye_direction].hash
246
- end
247
-
248
- # Builds the object from hash
249
- # @param [Hash] attributes Model attributes in the form of hash
250
- # @return [Object] Returns the model itself
251
- def self.build_from_hash(attributes)
252
- return nil unless attributes.is_a?(Hash)
253
- attributes = attributes.transform_keys(&:to_sym)
254
- transformed_hash = {}
255
- openapi_types.each_pair do |key, type|
256
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
257
- transformed_hash["#{key}"] = nil
258
- elsif type =~ /\AArray<(.*)>/i
259
- # check to ensure the input is an array given that the attribute
260
- # is documented as an array but the input is not
261
- if attributes[attribute_map[key]].is_a?(Array)
262
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
263
- end
264
- elsif !attributes[attribute_map[key]].nil?
265
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
266
- end
267
- end
268
- new(transformed_hash)
269
- end
270
-
271
- # Deserializes the data based on type
272
- # @param string type Data type
273
- # @param string value Value to be deserialized
274
- # @return [Object] Deserialized data
275
- def self._deserialize(type, value)
276
- case type.to_sym
277
- when :Time
278
- Time.parse(value)
279
- when :Date
280
- Date.parse(value)
281
- when :String
282
- value.to_s
283
- when :Integer
284
- value.to_i
285
- when :Float
286
- value.to_f
287
- when :Boolean
288
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
289
- true
290
- else
291
- false
292
- end
293
- when :Object
294
- # generic object (usually a Hash), return directly
295
- value
296
- when /\AArray<(?<inner_type>.+)>\z/
297
- inner_type = Regexp.last_match[:inner_type]
298
- value.map { |v| _deserialize(inner_type, v) }
299
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
300
- k_type = Regexp.last_match[:k_type]
301
- v_type = Regexp.last_match[:v_type]
302
- {}.tap do |hash|
303
- value.each do |k, v|
304
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
305
- end
306
- end
307
- else # model
308
- # models (e.g. Pet) or oneOf
309
- klass = SongtradrApiClientRuby.const_get(type)
310
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
311
- end
312
- end
313
-
314
- # Returns the string representation of the object
315
- # @return [String] String presentation of the object
316
- def to_s
317
- to_hash.to_s
318
- end
319
-
320
- # to_body is an alias to to_hash (backward compatibility)
321
- # @return [Hash] Returns the object in the form of hash
322
- def to_body
323
- to_hash
324
- end
325
-
326
- # Returns the object in the form of hash
327
- # @return [Hash] Returns the object in the form of hash
328
- def to_hash
329
- hash = {}
330
- self.class.attribute_map.each_pair do |attr, param|
331
- value = self.send(attr)
332
- if value.nil?
333
- is_nullable = self.class.openapi_nullable.include?(attr)
334
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
335
- end
336
-
337
- hash[param] = _to_hash(value)
338
- end
339
- hash
340
- end
341
-
342
- # Outputs non-array value in the form of hash
343
- # For object, use to_hash. Otherwise, just return the value
344
- # @param [Object] value Any valid value
345
- # @return [Hash] Returns the value in the form of hash
346
- def _to_hash(value)
347
- if value.is_a?(Array)
348
- value.compact.map { |v| _to_hash(v) }
349
- elsif value.is_a?(Hash)
350
- {}.tap do |hash|
351
- value.each { |k, v| hash[k] = _to_hash(v) }
352
- end
353
- elsif value.respond_to? :to_hash
354
- value.to_hash
355
- else
356
- value
357
- end
358
- end
359
-
360
- end
361
-
362
- end