songtradr_api_client_ruby 1.13.7 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +5 -37
  4. data/docs/FileSmallDTO.md +7 -7
  5. data/docs/MusicalFeaturesDTO.md +2 -2
  6. data/docs/PlaylistApi.md +0 -214
  7. data/docs/RecordingApi.md +0 -204
  8. data/docs/RecordingMediumDTO.md +2 -2
  9. data/docs/UserApi.md +0 -456
  10. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +1 -1
  11. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +1 -201
  12. data/lib/songtradr_api_client_ruby/api/recording_api.rb +1 -189
  13. data/lib/songtradr_api_client_ruby/api/user_api.rb +134 -746
  14. data/lib/songtradr_api_client_ruby/api_client.rb +37 -35
  15. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  16. data/lib/songtradr_api_client_ruby/configuration.rb +1 -1
  17. data/lib/songtradr_api_client_ruby/models/age_range.rb +2 -2
  18. data/lib/songtradr_api_client_ruby/models/beard.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +2 -2
  20. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +2 -2
  21. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  23. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +2 -2
  27. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/emotion.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/eye_open.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/face_detail.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/face_detection.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  38. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  39. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +36 -36
  40. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  42. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  44. data/lib/songtradr_api_client_ruby/models/gender.rb +2 -2
  45. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  47. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  48. data/lib/songtradr_api_client_ruby/models/image_quality.rb +2 -2
  49. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +2 -2
  50. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  51. data/lib/songtradr_api_client_ruby/models/instance.rb +2 -2
  52. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/label.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/models/label_alias.rb +2 -2
  55. data/lib/songtradr_api_client_ruby/models/label_category.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/label_detection.rb +2 -2
  57. data/lib/songtradr_api_client_ruby/models/landmark.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +24 -24
  61. data/lib/songtradr_api_client_ruby/models/mustache.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/parent.rb +2 -2
  63. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/models/pose.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  66. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +2 -2
  67. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  68. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +12 -12
  69. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +2 -2
  70. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  71. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  72. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +2 -2
  73. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +2 -2
  74. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  75. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  76. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +2 -2
  77. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  78. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  79. data/lib/songtradr_api_client_ruby/models/smile.rb +2 -2
  80. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +2 -2
  81. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  82. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  83. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  84. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  85. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  86. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  87. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  88. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  89. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  90. data/lib/songtradr_api_client_ruby/models/user_dto.rb +2 -2
  91. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +2 -2
  92. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  93. data/lib/songtradr_api_client_ruby.rb +1 -22
  94. data/openapi-generator-config.yaml +1 -1
  95. data/songtradr_api_client_ruby.gemspec +2 -1
  96. data/spec/api/allowed_values_api_spec.rb +1 -1
  97. data/spec/api/playlist_api_spec.rb +1 -38
  98. data/spec/api/recording_api_spec.rb +1 -34
  99. data/spec/api/user_api_spec.rb +1 -110
  100. data/spec/api_client_spec.rb +1 -1
  101. data/spec/configuration_spec.rb +1 -1
  102. data/spec/models/age_range_spec.rb +1 -1
  103. data/spec/models/beard_spec.rb +1 -1
  104. data/spec/models/bounding_box_spec.rb +1 -1
  105. data/spec/models/category_medium_dto_spec.rb +1 -1
  106. data/spec/models/category_minimal_dto_spec.rb +1 -1
  107. data/spec/models/config_access_dto_spec.rb +1 -1
  108. data/spec/models/config_identifier_dto_spec.rb +1 -1
  109. data/spec/models/contributor_type_dto_spec.rb +1 -1
  110. data/spec/models/curate_playlist_dto_spec.rb +1 -1
  111. data/spec/models/curate_playlist_response_dto_spec.rb +1 -1
  112. data/spec/models/dominant_color_spec.rb +1 -1
  113. data/spec/models/emotion_spec.rb +1 -1
  114. data/spec/models/error_response_spec.rb +1 -1
  115. data/spec/models/eye_direction_spec.rb +1 -1
  116. data/spec/models/eye_open_spec.rb +1 -1
  117. data/spec/models/eyeglasses_spec.rb +1 -1
  118. data/spec/models/face_detail_spec.rb +1 -1
  119. data/spec/models/face_detection_spec.rb +1 -1
  120. data/spec/models/face_occluded_spec.rb +1 -1
  121. data/spec/models/field_summary_dto_spec.rb +1 -1
  122. data/spec/models/file_dto_spec.rb +1 -1
  123. data/spec/models/file_list_dto_spec.rb +1 -1
  124. data/spec/models/file_small_dto_spec.rb +17 -17
  125. data/spec/models/file_upload_dto_spec.rb +1 -1
  126. data/spec/models/file_w_ith_url_dto_spec.rb +1 -1
  127. data/spec/models/files_summary_dto_spec.rb +1 -1
  128. data/spec/models/forgot_password_dto_spec.rb +1 -1
  129. data/spec/models/gender_spec.rb +1 -1
  130. data/spec/models/genre_dto_spec.rb +1 -1
  131. data/spec/models/genre_minimal_dto_spec.rb +1 -1
  132. data/spec/models/genres_summary_dto_spec.rb +1 -1
  133. data/spec/models/image_quality_spec.rb +1 -1
  134. data/spec/models/image_recognition_response_spec.rb +1 -1
  135. data/spec/models/init_put_recording_audio_dto_spec.rb +1 -1
  136. data/spec/models/instance_spec.rb +1 -1
  137. data/spec/models/jwt_token_dto_spec.rb +1 -1
  138. data/spec/models/label_alias_spec.rb +1 -1
  139. data/spec/models/label_category_spec.rb +1 -1
  140. data/spec/models/label_detection_spec.rb +1 -1
  141. data/spec/models/label_spec.rb +1 -1
  142. data/spec/models/landmark_spec.rb +1 -1
  143. data/spec/models/login_dto_spec.rb +1 -1
  144. data/spec/models/mouth_open_spec.rb +1 -1
  145. data/spec/models/musical_features_dto_spec.rb +11 -11
  146. data/spec/models/mustache_spec.rb +1 -1
  147. data/spec/models/parent_spec.rb +1 -1
  148. data/spec/models/party_small_dto_spec.rb +1 -1
  149. data/spec/models/pose_spec.rb +1 -1
  150. data/spec/models/recording_for_similarity_search_dto_spec.rb +1 -1
  151. data/spec/models/recording_genre_prediction_dto_spec.rb +1 -1
  152. data/spec/models/recording_list_dto_spec.rb +1 -1
  153. data/spec/models/recording_medium_dto_spec.rb +3 -3
  154. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +1 -1
  155. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +1 -1
  156. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +1 -1
  157. data/spec/models/recording_party_dto_spec.rb +1 -1
  158. data/spec/models/recording_small_dto_spec.rb +1 -1
  159. data/spec/models/recording_tag_small_dto_spec.rb +1 -1
  160. data/spec/models/save_user_dto_spec.rb +1 -1
  161. data/spec/models/search_filter_values_dto_spec.rb +1 -1
  162. data/spec/models/search_recording_granular_dto_spec.rb +1 -1
  163. data/spec/models/sign_up_dto_spec.rb +1 -1
  164. data/spec/models/smile_spec.rb +1 -1
  165. data/spec/models/sunglasses_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_dto_spec.rb +1 -1
  174. data/spec/models/update_password_dto_spec.rb +1 -1
  175. data/spec/models/user_dto_spec.rb +1 -1
  176. data/spec/models/video_recognition_response_spec.rb +1 -1
  177. data/spec/spec_helper.rb +1 -1
  178. metadata +63 -147
  179. data/docs/ContextValue.md +0 -18
  180. data/docs/FileMinimalWithUrlDTO.md +0 -22
  181. data/docs/PLineDTO.md +0 -20
  182. data/docs/PartyApi.md +0 -75
  183. data/docs/PartyLargeDTO.md +0 -32
  184. data/docs/PlaylistLargeDTO.md +0 -38
  185. data/docs/ProductMediumDTO.md +0 -34
  186. data/docs/ProductPartyDTO.md +0 -20
  187. data/docs/RecordingLargeDTO.md +0 -40
  188. data/docs/RecordingPlaylistDTO.md +0 -24
  189. data/docs/SaveFileRecordingDTO.md +0 -240
  190. data/docs/SavePlaylistDTO.md +0 -34
  191. data/docs/SaveRecordingGenreDTO.md +0 -22
  192. data/docs/SaveRecordingPartyDTO.md +0 -20
  193. data/docs/SaveRecordingPlaylistDTO.md +0 -22
  194. data/docs/SaveRecordingTagDTO.md +0 -20
  195. data/docs/SaveReferrerDTO.md +0 -20
  196. data/docs/SaveTaggramsDTO.md +0 -82
  197. data/docs/SearchRecordingGranularAbstractionDTO.md +0 -20
  198. data/docs/TrackToMediumProductDTO.md +0 -22
  199. data/docs/UsageDTO.md +0 -18
  200. data/lib/songtradr_api_client_ruby/api/party_api.rb +0 -84
  201. data/lib/songtradr_api_client_ruby/models/context_value.rb +0 -216
  202. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +0 -254
  203. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +0 -231
  204. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +0 -285
  205. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +0 -350
  206. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +0 -323
  207. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +0 -233
  208. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +0 -383
  209. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +0 -242
  210. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +0 -1864
  211. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +0 -353
  212. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +0 -240
  213. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +0 -272
  214. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +0 -247
  215. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +0 -231
  216. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +0 -224
  217. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +0 -569
  218. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +0 -267
  219. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +0 -247
  220. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +0 -215
  221. data/spec/api/party_api_spec.rb +0 -46
  222. data/spec/models/context_value_spec.rb +0 -36
  223. data/spec/models/file_minimal_with_url_dto_spec.rb +0 -48
  224. data/spec/models/p_line_dto_spec.rb +0 -42
  225. data/spec/models/party_large_dto_spec.rb +0 -78
  226. data/spec/models/playlist_large_dto_spec.rb +0 -100
  227. data/spec/models/product_medium_dto_spec.rb +0 -84
  228. data/spec/models/product_party_dto_spec.rb +0 -42
  229. data/spec/models/recording_large_dto_spec.rb +0 -102
  230. data/spec/models/recording_playlist_dto_spec.rb +0 -54
  231. data/spec/models/save_file_recording_dto_spec.rb +0 -894
  232. data/spec/models/save_playlist_dto_spec.rb +0 -88
  233. data/spec/models/save_recording_genre_dto_spec.rb +0 -48
  234. data/spec/models/save_recording_party_dto_spec.rb +0 -46
  235. data/spec/models/save_recording_playlist_dto_spec.rb +0 -48
  236. data/spec/models/save_recording_tag_dto_spec.rb +0 -42
  237. data/spec/models/save_referrer_dto_spec.rb +0 -42
  238. data/spec/models/save_taggrams_dto_spec.rb +0 -228
  239. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +0 -46
  240. data/spec/models/track_to_medium_product_dto_spec.rb +0 -48
  241. data/spec/models/usage_dto_spec.rb +0 -36
@@ -1,350 +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.13.7
7
- Contact: info@songtradr.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.1.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module SongtradrApiClientRuby
17
- # Details on a playlist
18
- class PlaylistLargeDTO
19
- attr_accessor :name
20
-
21
- attr_accessor :state
22
-
23
- attr_accessor :usages
24
-
25
- attr_accessor :songtradr_playlist_guid
26
-
27
- attr_accessor :asset_url
28
-
29
- attr_accessor :pretzel_tier
30
-
31
- attr_accessor :usage
32
-
33
- attr_accessor :tracks
34
-
35
- attr_accessor :created
36
-
37
- attr_accessor :updated
38
-
39
- attr_accessor :description
40
-
41
- class EnumAttributeValidator
42
- attr_reader :datatype
43
- attr_reader :allowable_values
44
-
45
- def initialize(datatype, allowable_values)
46
- @allowable_values = allowable_values.map do |value|
47
- case datatype.to_s
48
- when /Integer/i
49
- value.to_i
50
- when /Float/i
51
- value.to_f
52
- else
53
- value
54
- end
55
- end
56
- end
57
-
58
- def valid?(value)
59
- !value || allowable_values.include?(value)
60
- end
61
- end
62
-
63
- # Attribute mapping from ruby-style variable name to JSON key.
64
- def self.attribute_map
65
- {
66
- :'name' => :'name',
67
- :'state' => :'state',
68
- :'usages' => :'usages',
69
- :'songtradr_playlist_guid' => :'songtradrPlaylistGuid',
70
- :'asset_url' => :'assetURL',
71
- :'pretzel_tier' => :'pretzelTier',
72
- :'usage' => :'usage',
73
- :'tracks' => :'tracks',
74
- :'created' => :'created',
75
- :'updated' => :'updated',
76
- :'description' => :'description'
77
- }
78
- end
79
-
80
- # Returns all the JSON keys this model knows about
81
- def self.acceptable_attributes
82
- attribute_map.values
83
- end
84
-
85
- # Attribute type mapping.
86
- def self.openapi_types
87
- {
88
- :'name' => :'String',
89
- :'state' => :'String',
90
- :'usages' => :'Array<UsageDTO>',
91
- :'songtradr_playlist_guid' => :'String',
92
- :'asset_url' => :'String',
93
- :'pretzel_tier' => :'String',
94
- :'usage' => :'String',
95
- :'tracks' => :'Array<RecordingPlaylistDTO>',
96
- :'created' => :'Time',
97
- :'updated' => :'Time',
98
- :'description' => :'String'
99
- }
100
- end
101
-
102
- # List of attributes with nullable: true
103
- def self.openapi_nullable
104
- Set.new([
105
- ])
106
- end
107
-
108
- # Initializes the object
109
- # @param [Hash] attributes Model attributes in the form of hash
110
- def initialize(attributes = {})
111
- if (!attributes.is_a?(Hash))
112
- fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::PlaylistLargeDTO` initialize method"
113
- end
114
-
115
- # check to see if the attribute exists and convert string to symbol for hash key
116
- attributes = attributes.each_with_object({}) { |(k, v), h|
117
- if (!self.class.attribute_map.key?(k.to_sym))
118
- fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::PlaylistLargeDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
119
- end
120
- h[k.to_sym] = v
121
- }
122
-
123
- if attributes.key?(:'name')
124
- self.name = attributes[:'name']
125
- else
126
- self.name = nil
127
- end
128
-
129
- if attributes.key?(:'state')
130
- self.state = attributes[:'state']
131
- end
132
-
133
- if attributes.key?(:'usages')
134
- if (value = attributes[:'usages']).is_a?(Array)
135
- self.usages = value
136
- end
137
- end
138
-
139
- if attributes.key?(:'songtradr_playlist_guid')
140
- self.songtradr_playlist_guid = attributes[:'songtradr_playlist_guid']
141
- end
142
-
143
- if attributes.key?(:'asset_url')
144
- self.asset_url = attributes[:'asset_url']
145
- end
146
-
147
- if attributes.key?(:'pretzel_tier')
148
- self.pretzel_tier = attributes[:'pretzel_tier']
149
- end
150
-
151
- if attributes.key?(:'usage')
152
- self.usage = attributes[:'usage']
153
- end
154
-
155
- if attributes.key?(:'tracks')
156
- if (value = attributes[:'tracks']).is_a?(Array)
157
- self.tracks = value
158
- end
159
- end
160
-
161
- if attributes.key?(:'created')
162
- self.created = attributes[:'created']
163
- end
164
-
165
- if attributes.key?(:'updated')
166
- self.updated = attributes[:'updated']
167
- end
168
-
169
- if attributes.key?(:'description')
170
- self.description = attributes[:'description']
171
- end
172
- end
173
-
174
- # Show invalid properties with the reasons. Usually used together with valid?
175
- # @return Array for valid properties with the reasons
176
- def list_invalid_properties
177
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
178
- invalid_properties = Array.new
179
- if @name.nil?
180
- invalid_properties.push('invalid value for "name", name cannot be nil.')
181
- end
182
-
183
- invalid_properties
184
- end
185
-
186
- # Check to see if the all the properties in the model are valid
187
- # @return true if the model is valid
188
- def valid?
189
- warn '[DEPRECATED] the `valid?` method is obsolete'
190
- return false if @name.nil?
191
- state_validator = EnumAttributeValidator.new('String', ["active", "draft"])
192
- return false unless state_validator.valid?(@state)
193
- true
194
- end
195
-
196
- # Custom attribute writer method checking allowed values (enum).
197
- # @param [Object] state Object to be assigned
198
- def state=(state)
199
- validator = EnumAttributeValidator.new('String', ["active", "draft"])
200
- unless validator.valid?(state)
201
- fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
202
- end
203
- @state = state
204
- end
205
-
206
- # Checks equality by comparing each attribute.
207
- # @param [Object] Object to be compared
208
- def ==(o)
209
- return true if self.equal?(o)
210
- self.class == o.class &&
211
- name == o.name &&
212
- state == o.state &&
213
- usages == o.usages &&
214
- songtradr_playlist_guid == o.songtradr_playlist_guid &&
215
- asset_url == o.asset_url &&
216
- pretzel_tier == o.pretzel_tier &&
217
- usage == o.usage &&
218
- tracks == o.tracks &&
219
- created == o.created &&
220
- updated == o.updated &&
221
- description == o.description
222
- end
223
-
224
- # @see the `==` method
225
- # @param [Object] Object to be compared
226
- def eql?(o)
227
- self == o
228
- end
229
-
230
- # Calculates hash code according to all attributes.
231
- # @return [Integer] Hash code
232
- def hash
233
- [name, state, usages, songtradr_playlist_guid, asset_url, pretzel_tier, usage, tracks, created, updated, description].hash
234
- end
235
-
236
- # Builds the object from hash
237
- # @param [Hash] attributes Model attributes in the form of hash
238
- # @return [Object] Returns the model itself
239
- def self.build_from_hash(attributes)
240
- return nil unless attributes.is_a?(Hash)
241
- attributes = attributes.transform_keys(&:to_sym)
242
- transformed_hash = {}
243
- openapi_types.each_pair do |key, type|
244
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
245
- transformed_hash["#{key}"] = nil
246
- elsif type =~ /\AArray<(.*)>/i
247
- # check to ensure the input is an array given that the attribute
248
- # is documented as an array but the input is not
249
- if attributes[attribute_map[key]].is_a?(Array)
250
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
251
- end
252
- elsif !attributes[attribute_map[key]].nil?
253
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
254
- end
255
- end
256
- new(transformed_hash)
257
- end
258
-
259
- # Deserializes the data based on type
260
- # @param string type Data type
261
- # @param string value Value to be deserialized
262
- # @return [Object] Deserialized data
263
- def self._deserialize(type, value)
264
- case type.to_sym
265
- when :Time
266
- Time.parse(value)
267
- when :Date
268
- Date.parse(value)
269
- when :String
270
- value.to_s
271
- when :Integer
272
- value.to_i
273
- when :Float
274
- value.to_f
275
- when :Boolean
276
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
277
- true
278
- else
279
- false
280
- end
281
- when :Object
282
- # generic object (usually a Hash), return directly
283
- value
284
- when /\AArray<(?<inner_type>.+)>\z/
285
- inner_type = Regexp.last_match[:inner_type]
286
- value.map { |v| _deserialize(inner_type, v) }
287
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
288
- k_type = Regexp.last_match[:k_type]
289
- v_type = Regexp.last_match[:v_type]
290
- {}.tap do |hash|
291
- value.each do |k, v|
292
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
293
- end
294
- end
295
- else # model
296
- # models (e.g. Pet) or oneOf
297
- klass = SongtradrApiClientRuby.const_get(type)
298
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
299
- end
300
- end
301
-
302
- # Returns the string representation of the object
303
- # @return [String] String presentation of the object
304
- def to_s
305
- to_hash.to_s
306
- end
307
-
308
- # to_body is an alias to to_hash (backward compatibility)
309
- # @return [Hash] Returns the object in the form of hash
310
- def to_body
311
- to_hash
312
- end
313
-
314
- # Returns the object in the form of hash
315
- # @return [Hash] Returns the object in the form of hash
316
- def to_hash
317
- hash = {}
318
- self.class.attribute_map.each_pair do |attr, param|
319
- value = self.send(attr)
320
- if value.nil?
321
- is_nullable = self.class.openapi_nullable.include?(attr)
322
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
323
- end
324
-
325
- hash[param] = _to_hash(value)
326
- end
327
- hash
328
- end
329
-
330
- # Outputs non-array value in the form of hash
331
- # For object, use to_hash. Otherwise, just return the value
332
- # @param [Object] value Any valid value
333
- # @return [Hash] Returns the value in the form of hash
334
- def _to_hash(value)
335
- if value.is_a?(Array)
336
- value.compact.map { |v| _to_hash(v) }
337
- elsif value.is_a?(Hash)
338
- {}.tap do |hash|
339
- value.each { |k, v| hash[k] = _to_hash(v) }
340
- end
341
- elsif value.respond_to? :to_hash
342
- value.to_hash
343
- else
344
- value
345
- end
346
- end
347
-
348
- end
349
-
350
- end
@@ -1,323 +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.13.7
7
- Contact: info@songtradr.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.1.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module SongtradrApiClientRuby
17
- # Product details with a mid-sized field-set.
18
- class ProductMediumDTO
19
- attr_accessor :duration
20
-
21
- attr_accessor :genres
22
-
23
- attr_accessor :titles
24
-
25
- attr_accessor :gtin
26
-
27
- attr_accessor :grid
28
-
29
- attr_accessor :release_date
30
-
31
- attr_accessor :takedown_date
32
-
33
- attr_accessor :pline
34
-
35
- attr_accessor :parties
36
-
37
- # Attribute mapping from ruby-style variable name to JSON key.
38
- def self.attribute_map
39
- {
40
- :'duration' => :'duration',
41
- :'genres' => :'genres',
42
- :'titles' => :'titles',
43
- :'gtin' => :'gtin',
44
- :'grid' => :'grid',
45
- :'release_date' => :'releaseDate',
46
- :'takedown_date' => :'takedownDate',
47
- :'pline' => :'pline',
48
- :'parties' => :'parties'
49
- }
50
- end
51
-
52
- # Returns all the JSON keys this model knows about
53
- def self.acceptable_attributes
54
- attribute_map.values
55
- end
56
-
57
- # Attribute type mapping.
58
- def self.openapi_types
59
- {
60
- :'duration' => :'Time',
61
- :'genres' => :'Array<GenreMinimalDTO>',
62
- :'titles' => :'Array<TitleDTO>',
63
- :'gtin' => :'String',
64
- :'grid' => :'String',
65
- :'release_date' => :'Time',
66
- :'takedown_date' => :'Time',
67
- :'pline' => :'PLineDTO',
68
- :'parties' => :'Array<ProductPartyDTO>'
69
- }
70
- end
71
-
72
- # List of attributes with nullable: true
73
- def self.openapi_nullable
74
- Set.new([
75
- ])
76
- end
77
-
78
- # Initializes the object
79
- # @param [Hash] attributes Model attributes in the form of hash
80
- def initialize(attributes = {})
81
- if (!attributes.is_a?(Hash))
82
- fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::ProductMediumDTO` initialize method"
83
- end
84
-
85
- # check to see if the attribute exists and convert string to symbol for hash key
86
- attributes = attributes.each_with_object({}) { |(k, v), h|
87
- if (!self.class.attribute_map.key?(k.to_sym))
88
- fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::ProductMediumDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
- end
90
- h[k.to_sym] = v
91
- }
92
-
93
- if attributes.key?(:'duration')
94
- self.duration = attributes[:'duration']
95
- end
96
-
97
- if attributes.key?(:'genres')
98
- if (value = attributes[:'genres']).is_a?(Array)
99
- self.genres = value
100
- end
101
- end
102
-
103
- if attributes.key?(:'titles')
104
- if (value = attributes[:'titles']).is_a?(Array)
105
- self.titles = value
106
- end
107
- end
108
-
109
- if attributes.key?(:'gtin')
110
- self.gtin = attributes[:'gtin']
111
- end
112
-
113
- if attributes.key?(:'grid')
114
- self.grid = attributes[:'grid']
115
- end
116
-
117
- if attributes.key?(:'release_date')
118
- self.release_date = attributes[:'release_date']
119
- end
120
-
121
- if attributes.key?(:'takedown_date')
122
- self.takedown_date = attributes[:'takedown_date']
123
- end
124
-
125
- if attributes.key?(:'pline')
126
- self.pline = attributes[:'pline']
127
- end
128
-
129
- if attributes.key?(:'parties')
130
- if (value = attributes[:'parties']).is_a?(Array)
131
- self.parties = value
132
- end
133
- end
134
- end
135
-
136
- # Show invalid properties with the reasons. Usually used together with valid?
137
- # @return Array for valid properties with the reasons
138
- def list_invalid_properties
139
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
140
- invalid_properties = Array.new
141
- invalid_properties
142
- end
143
-
144
- # Check to see if the all the properties in the model are valid
145
- # @return true if the model is valid
146
- def valid?
147
- warn '[DEPRECATED] the `valid?` method is obsolete'
148
- true
149
- end
150
-
151
- # Custom attribute writer method with validation
152
- # @param [Object] genres Value to be assigned
153
- def genres=(genres)
154
- if genres.nil?
155
- fail ArgumentError, 'genres cannot be nil'
156
- end
157
-
158
- @genres = genres
159
- end
160
-
161
- # Custom attribute writer method with validation
162
- # @param [Object] titles Value to be assigned
163
- def titles=(titles)
164
- if titles.nil?
165
- fail ArgumentError, 'titles cannot be nil'
166
- end
167
-
168
- @titles = titles
169
- end
170
-
171
- # Custom attribute writer method with validation
172
- # @param [Object] parties Value to be assigned
173
- def parties=(parties)
174
- if parties.nil?
175
- fail ArgumentError, 'parties cannot be nil'
176
- end
177
-
178
- @parties = parties
179
- end
180
-
181
- # Checks equality by comparing each attribute.
182
- # @param [Object] Object to be compared
183
- def ==(o)
184
- return true if self.equal?(o)
185
- self.class == o.class &&
186
- duration == o.duration &&
187
- genres == o.genres &&
188
- titles == o.titles &&
189
- gtin == o.gtin &&
190
- grid == o.grid &&
191
- release_date == o.release_date &&
192
- takedown_date == o.takedown_date &&
193
- pline == o.pline &&
194
- parties == o.parties
195
- end
196
-
197
- # @see the `==` method
198
- # @param [Object] Object to be compared
199
- def eql?(o)
200
- self == o
201
- end
202
-
203
- # Calculates hash code according to all attributes.
204
- # @return [Integer] Hash code
205
- def hash
206
- [duration, genres, titles, gtin, grid, release_date, takedown_date, pline, parties].hash
207
- end
208
-
209
- # Builds the object from hash
210
- # @param [Hash] attributes Model attributes in the form of hash
211
- # @return [Object] Returns the model itself
212
- def self.build_from_hash(attributes)
213
- return nil unless attributes.is_a?(Hash)
214
- attributes = attributes.transform_keys(&:to_sym)
215
- transformed_hash = {}
216
- openapi_types.each_pair do |key, type|
217
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
218
- transformed_hash["#{key}"] = nil
219
- elsif type =~ /\AArray<(.*)>/i
220
- # check to ensure the input is an array given that the attribute
221
- # is documented as an array but the input is not
222
- if attributes[attribute_map[key]].is_a?(Array)
223
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
224
- end
225
- elsif !attributes[attribute_map[key]].nil?
226
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
227
- end
228
- end
229
- new(transformed_hash)
230
- end
231
-
232
- # Deserializes the data based on type
233
- # @param string type Data type
234
- # @param string value Value to be deserialized
235
- # @return [Object] Deserialized data
236
- def self._deserialize(type, value)
237
- case type.to_sym
238
- when :Time
239
- Time.parse(value)
240
- when :Date
241
- Date.parse(value)
242
- when :String
243
- value.to_s
244
- when :Integer
245
- value.to_i
246
- when :Float
247
- value.to_f
248
- when :Boolean
249
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
250
- true
251
- else
252
- false
253
- end
254
- when :Object
255
- # generic object (usually a Hash), return directly
256
- value
257
- when /\AArray<(?<inner_type>.+)>\z/
258
- inner_type = Regexp.last_match[:inner_type]
259
- value.map { |v| _deserialize(inner_type, v) }
260
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
261
- k_type = Regexp.last_match[:k_type]
262
- v_type = Regexp.last_match[:v_type]
263
- {}.tap do |hash|
264
- value.each do |k, v|
265
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
266
- end
267
- end
268
- else # model
269
- # models (e.g. Pet) or oneOf
270
- klass = SongtradrApiClientRuby.const_get(type)
271
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
272
- end
273
- end
274
-
275
- # Returns the string representation of the object
276
- # @return [String] String presentation of the object
277
- def to_s
278
- to_hash.to_s
279
- end
280
-
281
- # to_body is an alias to to_hash (backward compatibility)
282
- # @return [Hash] Returns the object in the form of hash
283
- def to_body
284
- to_hash
285
- end
286
-
287
- # Returns the object in the form of hash
288
- # @return [Hash] Returns the object in the form of hash
289
- def to_hash
290
- hash = {}
291
- self.class.attribute_map.each_pair do |attr, param|
292
- value = self.send(attr)
293
- if value.nil?
294
- is_nullable = self.class.openapi_nullable.include?(attr)
295
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
296
- end
297
-
298
- hash[param] = _to_hash(value)
299
- end
300
- hash
301
- end
302
-
303
- # Outputs non-array value in the form of hash
304
- # For object, use to_hash. Otherwise, just return the value
305
- # @param [Object] value Any valid value
306
- # @return [Hash] Returns the value in the form of hash
307
- def _to_hash(value)
308
- if value.is_a?(Array)
309
- value.compact.map { |v| _to_hash(v) }
310
- elsif value.is_a?(Hash)
311
- {}.tap do |hash|
312
- value.each { |k, v| hash[k] = _to_hash(v) }
313
- end
314
- elsif value.respond_to? :to_hash
315
- value.to_hash
316
- else
317
- value
318
- end
319
- end
320
-
321
- end
322
-
323
- end