plex_ruby_sdk 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/authentication.rb +3 -5
  3. data/lib/plex_ruby_sdk/library.rb +44 -0
  4. data/lib/plex_ruby_sdk/media.rb +2 -2
  5. data/lib/plex_ruby_sdk/models/operations/autoselectsubtitle.rb +1 -1
  6. data/lib/plex_ruby_sdk/models/operations/billing.rb +1 -1
  7. data/lib/plex_ruby_sdk/models/operations/connections.rb +1 -1
  8. data/lib/plex_ruby_sdk/models/operations/defaultsubtitleaccessibility.rb +1 -1
  9. data/lib/plex_ruby_sdk/models/operations/defaultsubtitleforced.rb +1 -1
  10. data/lib/plex_ruby_sdk/models/operations/friend.rb +1 -1
  11. data/lib/plex_ruby_sdk/models/operations/geodata.rb +1 -1
  12. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb +2 -2
  13. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_location.rb +27 -0
  14. data/lib/plex_ruby_sdk/models/operations/get_banner_image_request.rb +2 -2
  15. data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +24 -0
  16. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +27 -27
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +5 -5
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +5 -2
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +8 -8
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +1 -0
  21. data/lib/plex_ruby_sdk/models/operations/get_media_providers_request.rb +2 -2
  22. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +5 -2
  23. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_badrequest.rb +24 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb +24 -0
  25. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +24 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +24 -0
  27. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_errors.rb +30 -0
  28. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +18 -0
  29. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +24 -0
  30. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +18 -0
  31. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_image.rb +30 -0
  32. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_errors.rb +30 -0
  33. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_type.rb +20 -0
  34. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +24 -0
  35. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +75 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +27 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb +26 -0
  38. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +255 -0
  39. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +30 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +18 -0
  41. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +61 -0
  42. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_request.rb +40 -0
  43. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_response.rb +39 -0
  44. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_responsebody.rb +24 -0
  45. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +39 -0
  46. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +27 -0
  47. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +135 -0
  48. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +21 -0
  49. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_ultrablurcolors.rb +33 -0
  50. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_unauthorized.rb +24 -0
  51. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +24 -0
  52. data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +1 -0
  53. data/lib/plex_ruby_sdk/models/operations/get_server_resources_badrequest.rb +1 -1
  54. data/lib/plex_ruby_sdk/models/operations/get_server_resources_errors.rb +1 -1
  55. data/lib/plex_ruby_sdk/models/operations/get_server_resources_plex_errors.rb +1 -1
  56. data/lib/plex_ruby_sdk/models/operations/get_server_resources_request.rb +6 -3
  57. data/lib/plex_ruby_sdk/models/operations/get_server_resources_response.rb +1 -1
  58. data/lib/plex_ruby_sdk/models/operations/get_server_resources_unauthorized.rb +1 -1
  59. data/lib/plex_ruby_sdk/models/operations/get_thumb_image_request.rb +2 -2
  60. data/lib/plex_ruby_sdk/models/operations/get_watch_list_request.rb +2 -2
  61. data/lib/plex_ruby_sdk/models/operations/getbandwidthstatistics_request.rb +1 -1
  62. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_badrequest.rb +1 -1
  63. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_errors.rb +1 -1
  64. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_plex_errors.rb +1 -1
  65. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_response.rb +1 -1
  66. data/lib/plex_ruby_sdk/models/operations/getcompanionsdata_unauthorized.rb +1 -1
  67. data/lib/plex_ruby_sdk/models/operations/getgeodata_badrequest.rb +1 -1
  68. data/lib/plex_ruby_sdk/models/operations/getgeodata_errors.rb +1 -1
  69. data/lib/plex_ruby_sdk/models/operations/getgeodata_geodata.rb +1 -1
  70. data/lib/plex_ruby_sdk/models/operations/getgeodata_plex_errors.rb +1 -1
  71. data/lib/plex_ruby_sdk/models/operations/getgeodata_response.rb +1 -1
  72. data/lib/plex_ruby_sdk/models/operations/getgeodata_unauthorized.rb +1 -1
  73. data/lib/plex_ruby_sdk/models/operations/getpin_authpincontainer.rb +1 -1
  74. data/lib/plex_ruby_sdk/models/operations/getpin_badrequest.rb +1 -1
  75. data/lib/plex_ruby_sdk/models/operations/getpin_errors.rb +1 -1
  76. data/lib/plex_ruby_sdk/models/operations/getpin_request.rb +15 -18
  77. data/lib/plex_ruby_sdk/models/operations/getpin_response.rb +1 -1
  78. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +1 -0
  79. data/lib/plex_ruby_sdk/models/operations/getresourcesstatistics_request.rb +1 -1
  80. data/lib/plex_ruby_sdk/models/operations/getstatistics_request.rb +1 -1
  81. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_authpincontainer.rb +1 -1
  82. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_badrequest.rb +1 -1
  83. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_errors.rb +1 -1
  84. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_geodata.rb +1 -1
  85. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_plex_errors.rb +1 -1
  86. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_request.rb +18 -3
  87. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_response.rb +1 -1
  88. data/lib/plex_ruby_sdk/models/operations/gettokenbypinid_responsebody.rb +1 -1
  89. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_errors.rb +1 -1
  90. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_response_status.rb +1 -1
  91. data/lib/plex_ruby_sdk/models/operations/gettokendetails_authentication_status.rb +1 -1
  92. data/lib/plex_ruby_sdk/models/operations/gettokendetails_badrequest.rb +1 -1
  93. data/lib/plex_ruby_sdk/models/operations/gettokendetails_errors.rb +1 -1
  94. data/lib/plex_ruby_sdk/models/operations/gettokendetails_response.rb +1 -1
  95. data/lib/plex_ruby_sdk/models/operations/gettokendetails_status.rb +1 -1
  96. data/lib/plex_ruby_sdk/models/operations/gettokendetails_subscription.rb +3 -3
  97. data/lib/plex_ruby_sdk/models/operations/gettokendetails_unauthorized.rb +1 -1
  98. data/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb +7 -7
  99. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +1 -0
  100. data/lib/plex_ruby_sdk/models/operations/getuserfriends_badrequest.rb +1 -1
  101. data/lib/plex_ruby_sdk/models/operations/getuserfriends_errors.rb +1 -1
  102. data/lib/plex_ruby_sdk/models/operations/getuserfriends_plex_errors.rb +1 -1
  103. data/lib/plex_ruby_sdk/models/operations/getuserfriends_response.rb +1 -1
  104. data/lib/plex_ruby_sdk/models/operations/getuserfriends_unauthorized.rb +1 -1
  105. data/lib/plex_ruby_sdk/models/operations/includehttps.rb +1 -1
  106. data/lib/plex_ruby_sdk/models/operations/includeipv6.rb +1 -1
  107. data/lib/plex_ruby_sdk/models/operations/includerelay.rb +1 -1
  108. data/lib/plex_ruby_sdk/models/operations/internalpaymentmethod.rb +1 -1
  109. data/lib/plex_ruby_sdk/models/operations/location.rb +3 -6
  110. data/lib/plex_ruby_sdk/models/operations/mailingliststatus.rb +2 -2
  111. data/lib/plex_ruby_sdk/models/operations/media.rb +27 -27
  112. data/lib/plex_ruby_sdk/models/operations/mediareviewsvisibility.rb +1 -1
  113. data/lib/plex_ruby_sdk/models/operations/part.rb +8 -8
  114. data/lib/plex_ruby_sdk/models/operations/pastsubscription.rb +1 -1
  115. data/lib/plex_ruby_sdk/models/operations/plexdevice.rb +1 -1
  116. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_errors.rb +1 -1
  117. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_response_status.rb +1 -1
  118. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_status.rb +1 -1
  119. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_subscription.rb +3 -3
  120. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_autoselectsubtitle.rb +1 -1
  121. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_badrequest.rb +1 -1
  122. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleaccessibility.rb +1 -1
  123. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleforced.rb +1 -1
  124. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_errors.rb +1 -1
  125. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mailingliststatus.rb +2 -2
  126. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mediareviewsvisibility.rb +1 -1
  127. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb +15 -18
  128. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_requestbody.rb +1 -1
  129. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_response.rb +1 -1
  130. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_services.rb +1 -1
  131. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_state.rb +1 -1
  132. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_status.rb +1 -1
  133. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_subscription.rb +3 -3
  134. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_unauthorized.rb +1 -1
  135. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb +7 -7
  136. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userprofile.rb +1 -1
  137. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_watchedindicator.rb +1 -1
  138. data/lib/plex_ruby_sdk/models/operations/protocol.rb +1 -1
  139. data/lib/plex_ruby_sdk/models/operations/queryparam_includecollections.rb +18 -0
  140. data/lib/plex_ruby_sdk/models/operations/queryparam_includeexternalmedia.rb +18 -0
  141. data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +1 -0
  142. data/lib/plex_ruby_sdk/models/operations/responsebody.rb +1 -1
  143. data/lib/plex_ruby_sdk/models/operations/searchresult.rb +27 -0
  144. data/lib/plex_ruby_sdk/models/operations/searchtypes.rb +21 -0
  145. data/lib/plex_ruby_sdk/models/operations/services.rb +1 -1
  146. data/lib/plex_ruby_sdk/models/operations/sharedservers.rb +1 -1
  147. data/lib/plex_ruby_sdk/models/operations/sharedsources.rb +1 -1
  148. data/lib/plex_ruby_sdk/models/operations/status.rb +1 -1
  149. data/lib/plex_ruby_sdk/models/operations/subscription.rb +3 -3
  150. data/lib/plex_ruby_sdk/models/operations/trials.rb +1 -1
  151. data/lib/plex_ruby_sdk/models/operations/type.rb +1 -0
  152. data/lib/plex_ruby_sdk/models/operations/userprofile.rb +1 -1
  153. data/lib/plex_ruby_sdk/models/operations/watchedindicator.rb +1 -1
  154. data/lib/plex_ruby_sdk/models/operations.rb +36 -5
  155. data/lib/plex_ruby_sdk/plex.rb +15 -18
  156. data/lib/plex_ruby_sdk/plex_api.rb +11 -11
  157. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  158. data/lib/plex_ruby_sdk/server.rb +1 -3
  159. data/lib/plex_ruby_sdk/watchlist.rb +1 -1
  160. metadata +41 -10
  161. data/lib/plex_ruby_sdk/models/operations/features.rb +0 -78
  162. data/lib/plex_ruby_sdk/models/operations/gettokendetails_features.rb +0 -78
  163. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_features.rb +0 -78
  164. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_features.rb +0 -78
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b767fe216f9922678431893d7ae24bbf475adf9eaeddb3734338ecf96d650540
4
- data.tar.gz: b7e2f83ea1856f5abe6c80ae7407fed4480b94eba1aea2fc280f141da2c24e08
3
+ metadata.gz: fdf16d2c5e3648513b796d680ee959261fc44ed2f15c6458402e590f5d872b55
4
+ data.tar.gz: b6bed1c0d7343228d71e2f3c9d297a5faabefaf4c035de39e792aa726e787c7c
5
5
  SHA512:
6
- metadata.gz: a27814c2cf952d546a0afbadb92ee6f94f79a9596660237b3629f0562f1a81bd4ac8628b611a9bb4544e67406b095c5b8714956a4bf41c4a3aa3962cfa096797
7
- data.tar.gz: fda538aa3f7aca64b3503e42ee8535e093cc20347df63785973c3971599e340edddfbd202db0d5b570b17f76339fdb55b9fb633de2e2d537506066f911be137a
6
+ metadata.gz: b783a9bfba2fdaee7c1fc1c91d8dc832abd00a0fd13000af6b08b7a78bc1c7be8784d66b705d128229e79a4d9cd36b2f82a519f4f4a4277cb4d79fffd315aa08
7
+ data.tar.gz: 1ae55ba9d6f29c2a4b48f3293f57dd1953a97d64a44a7bb2b618013c563a4cae44dfc96f63bbb6cdea5841ccb2923029c865a92955924c0c7a6822822ae5ecd5
@@ -14,12 +14,12 @@ module PlexRubySDK
14
14
 
15
15
  # GET_TOKEN_DETAILS_SERVERS contains the list of server urls available to the SDK.
16
16
  GET_TOKEN_DETAILS_SERVERS = [
17
- 'https://plex.tv/api/v2/',
17
+ 'https://plex.tv/api/v2',
18
18
  ].freeze
19
19
 
20
20
  # POST_USERS_SIGN_IN_DATA_SERVERS contains the list of server urls available to the SDK.
21
21
  POST_USERS_SIGN_IN_DATA_SERVERS = [
22
- 'https://plex.tv/api/v2/',
22
+ 'https://plex.tv/api/v2',
23
23
  ].freeze
24
24
  # API Calls regarding authentication for Plex Media Server
25
25
  #
@@ -170,16 +170,14 @@ module PlexRubySDK
170
170
  })
171
171
  base_url = server_url if !server_url.nil?
172
172
  url = "#{base_url}/users/signin"
173
- headers = {}
173
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
174
174
  req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :form)
175
175
  headers['content-type'] = req_content_type
176
- query_params = Utils.get_query_params(::PlexRubySDK::Operations::PostUsersSignInDataRequest, request, @sdk_configuration.globals)
177
176
  headers['Accept'] = 'application/json'
178
177
  headers['user-agent'] = @sdk_configuration.user_agent
179
178
 
180
179
  r = @sdk_configuration.client.post(url) do |req|
181
180
  req.headers = headers
182
- req.params = query_params
183
181
  if form
184
182
  req.body = Utils.encode_form(form)
185
183
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
@@ -487,6 +487,50 @@ module PlexRubySDK
487
487
  end
488
488
 
489
489
 
490
+ sig { params(request: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesRequest)).returns(::PlexRubySDK::Operations::GetSearchAllLibrariesResponse) }
491
+ def get_search_all_libraries(request)
492
+ # get_search_all_libraries - Search All Libraries
493
+ # Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type.
494
+ #
495
+ url, params = @sdk_configuration.get_server_details
496
+ base_url = Utils.template_url(url, params)
497
+ url = "#{base_url}/library/search"
498
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
499
+ query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetSearchAllLibrariesRequest, request, @sdk_configuration.globals)
500
+ headers['Accept'] = 'application/json'
501
+ headers['user-agent'] = @sdk_configuration.user_agent
502
+
503
+ r = @sdk_configuration.client.get(url) do |req|
504
+ req.headers = headers
505
+ req.params = query_params
506
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
507
+ end
508
+
509
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
510
+
511
+ res = ::PlexRubySDK::Operations::GetSearchAllLibrariesResponse.new(
512
+ status_code: r.status, content_type: content_type, raw_response: r
513
+ )
514
+ if r.status == 200
515
+ if Utils.match_content_type(content_type, 'application/json')
516
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesResponseBody)
517
+ res.object = out
518
+ end
519
+ elsif r.status == 400
520
+ if Utils.match_content_type(content_type, 'application/json')
521
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesBadRequest)
522
+ res.bad_request = out
523
+ end
524
+ elsif r.status == 401
525
+ if Utils.match_content_type(content_type, 'application/json')
526
+ out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesUnauthorized)
527
+ res.unauthorized = out
528
+ end
529
+ end
530
+ res
531
+ end
532
+
533
+
490
534
  sig { params(rating_key: ::Integer).returns(::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponse) }
491
535
  def get_meta_data_by_rating_key(rating_key)
492
536
  # get_meta_data_by_rating_key - Get Metadata by RatingKey
@@ -165,7 +165,7 @@ module PlexRubySDK
165
165
  request,
166
166
  @sdk_configuration.globals
167
167
  )
168
- headers = {}
168
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
169
169
  query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetBannerImageRequest, request, @sdk_configuration.globals)
170
170
  headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
171
171
  headers['user-agent'] = @sdk_configuration.user_agent
@@ -213,7 +213,7 @@ module PlexRubySDK
213
213
  request,
214
214
  @sdk_configuration.globals
215
215
  )
216
- headers = {}
216
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
217
217
  query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetThumbImageRequest, request, @sdk_configuration.globals)
218
218
  headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
219
219
  headers['user-agent'] = @sdk_configuration.user_agent
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  AUTO_SELECT_SUBTITLE_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
  # AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  BILLING_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
 
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  CONNECTIONS_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
 
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  DEFAULT_SUBTITLE_ACCESSIBILITY_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
  # DefaultSubtitleAccessibility - The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only show non-SDH subtitles)
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  DEFAULT_SUBTITLE_FORCED_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
  # DefaultSubtitleForced - The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  FRIEND_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
 
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
  GEO_DATA_SERVERS = [
10
- 'https://plex.tv/api/v2/'
10
+ 'https://plex.tv/api/v2'
11
11
  ].freeze
12
12
 
13
13
  # Geo location data
@@ -36,7 +36,7 @@ module PlexRubySDK
36
36
 
37
37
  field :language, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
38
38
 
39
- field :location, T::Array[::PlexRubySDK::Operations::Location], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
39
+ field :location, T::Array[::PlexRubySDK::Operations::GetAllLibrariesLocation], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
40
40
 
41
41
  field :refreshing, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refreshing') } }
42
42
  # Unix epoch datetime in seconds
@@ -55,7 +55,7 @@ module PlexRubySDK
55
55
  field :uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } }
56
56
 
57
57
 
58
- sig { params(agent: ::String, allow_sync: T::Boolean, art: ::String, composite: ::String, content: T::Boolean, content_changed_at: ::Integer, created_at: ::Integer, directory: T::Boolean, filters: T::Boolean, hidden: ::Integer, key: ::String, language: ::String, location: T::Array[::PlexRubySDK::Operations::Location], refreshing: T::Boolean, scanned_at: ::Integer, scanner: ::String, thumb: ::String, title: ::String, type: ::String, updated_at: ::Integer, uuid: ::String).void }
58
+ sig { params(agent: ::String, allow_sync: T::Boolean, art: ::String, composite: ::String, content: T::Boolean, content_changed_at: ::Integer, created_at: ::Integer, directory: T::Boolean, filters: T::Boolean, hidden: ::Integer, key: ::String, language: ::String, location: T::Array[::PlexRubySDK::Operations::GetAllLibrariesLocation], refreshing: T::Boolean, scanned_at: ::Integer, scanner: ::String, thumb: ::String, title: ::String, type: ::String, updated_at: ::Integer, uuid: ::String).void }
59
59
  def initialize(agent: nil, allow_sync: nil, art: nil, composite: nil, content: nil, content_changed_at: nil, created_at: nil, directory: nil, filters: nil, hidden: nil, key: nil, language: nil, location: nil, refreshing: nil, scanned_at: nil, scanner: nil, thumb: nil, title: nil, type: nil, updated_at: nil, uuid: nil)
60
60
  @agent = agent
61
61
  @allow_sync = allow_sync
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+
11
+ class GetAllLibrariesLocation < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
16
+
17
+ field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
18
+
19
+
20
+ sig { params(id: ::Integer, path: ::String).void }
21
+ def initialize(id: nil, path: nil)
22
+ @id = id
23
+ @path = path
24
+ end
25
+ end
26
+ end
27
+ end
@@ -21,8 +21,8 @@ module PlexRubySDK
21
21
  field :upscale, ::Integer, { 'query_param': { 'field_name': 'upscale', 'style': 'form', 'explode': true } }
22
22
 
23
23
  field :width, ::Integer, { 'query_param': { 'field_name': 'width', 'style': 'form', 'explode': true } }
24
- # Plex Authentication Token
25
- field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
24
+ # An authentication token, obtained from plex.tv
25
+ field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
26
26
 
27
27
 
28
28
  sig { params(height: ::Integer, min_size: ::Integer, rating_key: ::Integer, upscale: ::Integer, width: ::Integer, x_plex_token: ::String).void }
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+
11
+ class GetLibraryItemsLocation < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
16
+
17
+
18
+ sig { params(path: T.nilable(::String)).void }
19
+ def initialize(path: nil)
20
+ @path = path
21
+ end
22
+ end
23
+ end
24
+ end
@@ -12,63 +12,63 @@ module PlexRubySDK
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
16
-
17
- field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
18
-
19
- field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
20
-
21
- field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
22
-
23
15
  field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
24
16
 
25
- field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
-
27
- field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
28
-
29
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
30
18
 
31
19
  field :part, T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
32
20
 
33
- field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
21
+ field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
34
22
 
35
- field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
23
+ field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
36
24
 
37
- field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
25
+ field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
38
26
 
39
- field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
27
+ field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
40
28
 
41
- field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
29
+ field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
42
30
 
43
- field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
31
+ field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
44
32
 
45
33
  field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
46
34
 
47
35
  field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
48
36
 
37
+ field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
38
+
49
39
  field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming, true) } }
50
40
 
41
+ field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
42
+
43
+ field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
44
+
45
+ field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
46
+
47
+ field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
48
+
49
+ field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
50
+
51
51
 
52
- sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming)).void }
53
- def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil, audio_profile: nil, has64bit_offsets: nil, has_voice_activity: nil, optimized_for_streaming: nil)
52
+ sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
53
+ def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
54
+ @container = container
55
+ @id = id
56
+ @part = part
54
57
  @aspect_ratio = aspect_ratio
55
58
  @audio_channels = audio_channels
56
59
  @audio_codec = audio_codec
60
+ @audio_profile = audio_profile
57
61
  @bitrate = bitrate
58
- @container = container
59
62
  @duration = duration
63
+ @has64bit_offsets = has64bit_offsets
64
+ @has_voice_activity = has_voice_activity
60
65
  @height = height
61
- @id = id
62
- @part = part
66
+ @optimized_for_streaming = optimized_for_streaming
63
67
  @video_codec = video_codec
64
68
  @video_frame_rate = video_frame_rate
65
69
  @video_profile = video_profile
66
70
  @video_resolution = video_resolution
67
71
  @width = width
68
- @audio_profile = audio_profile
69
- @has64bit_offsets = has64bit_offsets
70
- @has_voice_activity = has_voice_activity
71
- @optimized_for_streaming = optimized_for_streaming
72
72
  end
73
73
  end
74
74
  end
@@ -31,8 +31,6 @@ module PlexRubySDK
31
31
 
32
32
  field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
33
33
 
34
- field :metadata, T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
35
-
36
34
  field :offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } }
37
35
 
38
36
  field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
@@ -52,6 +50,8 @@ module PlexRubySDK
52
50
  #
53
51
  field :meta, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } }
54
52
 
53
+ field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
54
+
55
55
  field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } }
56
56
 
57
57
  field :nocache, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
@@ -61,8 +61,8 @@ module PlexRubySDK
61
61
  field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } }
62
62
 
63
63
 
64
- sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), meta: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType]), view_mode: T.nilable(::Integer)).void }
65
- def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, field_type: nil, meta: nil, mixed_parents: nil, nocache: nil, type: nil, view_mode: nil)
64
+ sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), meta: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata]), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType]), view_mode: T.nilable(::Integer)).void }
65
+ def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, field_type: nil, meta: nil, metadata: nil, mixed_parents: nil, nocache: nil, type: nil, view_mode: nil)
66
66
  @allow_sync = allow_sync
67
67
  @art = art
68
68
  @content = content
@@ -72,7 +72,6 @@ module PlexRubySDK
72
72
  @library_section_uuid = library_section_uuid
73
73
  @media_tag_prefix = media_tag_prefix
74
74
  @media_tag_version = media_tag_version
75
- @metadata = metadata
76
75
  @offset = offset
77
76
  @size = size
78
77
  @thumb = thumb
@@ -82,6 +81,7 @@ module PlexRubySDK
82
81
  @view_group = view_group
83
82
  @field_type = field_type
84
83
  @meta = meta
84
+ @metadata = metadata
85
85
  @mixed_parents = mixed_parents
86
86
  @nocache = nocache
87
87
  @type = type
@@ -88,6 +88,8 @@ module PlexRubySDK
88
88
  field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
89
89
 
90
90
  field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
91
+
92
+ field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
91
93
  # The Media object is only included when type query is `4` or higher.
92
94
  #
93
95
  field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
@@ -171,8 +173,8 @@ module PlexRubySDK
171
173
  field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
172
174
 
173
175
 
174
- sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void }
175
- def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
176
+ sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void }
177
+ def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
176
178
  @added_at = added_at
177
179
  @guid = guid
178
180
  @key = key
@@ -210,6 +212,7 @@ module PlexRubySDK
210
212
  @library_section_id = library_section_id
211
213
  @library_section_key = library_section_key
212
214
  @library_section_title = library_section_title
215
+ @location = location
213
216
  @media = media
214
217
  @media_guid = media_guid
215
218
  @meta_data_rating = meta_data_rating
@@ -15,8 +15,6 @@ module PlexRubySDK
15
15
  #
16
16
  field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
17
17
 
18
- field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
19
-
20
18
  field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
21
19
 
22
20
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
@@ -25,10 +23,10 @@ module PlexRubySDK
25
23
 
26
24
  field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
27
25
 
28
- field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
29
-
30
26
  field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
31
27
 
28
+ field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
29
+
32
30
  field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
33
31
 
34
32
  field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail, true) } }
@@ -39,22 +37,24 @@ module PlexRubySDK
39
37
 
40
38
  field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
41
39
 
40
+ field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
41
+
42
42
 
43
- sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, video_profile: ::String, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream])).void }
44
- def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil)
43
+ sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream]), video_profile: T.nilable(::String)).void }
44
+ def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
45
45
  @container = container
46
- @duration = duration
47
46
  @file = file
48
47
  @id = id
49
48
  @key = key
50
49
  @size = size
51
- @video_profile = video_profile
52
50
  @audio_profile = audio_profile
51
+ @duration = duration
53
52
  @has64bit_offsets = has64bit_offsets
54
53
  @has_thumbnail = has_thumbnail
55
54
  @indexes = indexes
56
55
  @optimized_for_streaming = optimized_for_streaming
57
56
  @stream = stream
57
+ @video_profile = video_profile
58
58
  end
59
59
  end
60
60
  end
@@ -20,6 +20,7 @@ module PlexRubySDK
20
20
  TV_SHOW = new(2)
21
21
  SEASON = new(3)
22
22
  EPISODE = new(4)
23
+ AUDIO = new(8)
23
24
  end
24
25
  end
25
26
  end
@@ -11,8 +11,8 @@ module PlexRubySDK
11
11
  class GetMediaProvidersRequest < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # Plex Authentication Token
15
- field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
14
+ # An authentication token, obtained from plex.tv
15
+ field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
16
16
 
17
17
 
18
18
  sig { params(x_plex_token: ::String).void }
@@ -88,6 +88,8 @@ module PlexRubySDK
88
88
  field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
89
89
 
90
90
  field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
91
+
92
+ field :location, T.nilable(T::Array[::PlexRubySDK::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
91
93
  # The Media object is only included when type query is `4` or higher.
92
94
  #
93
95
  field :media, T.nilable(T::Array[::PlexRubySDK::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
@@ -171,8 +173,8 @@ module PlexRubySDK
171
173
  field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
172
174
 
173
175
 
174
- sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetRecentlyAddedHubsType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::Country]), director: T.nilable(T::Array[::PlexRubySDK::Operations::Director]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::Media]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::Role]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), year: T.nilable(::Integer)).void }
175
- def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
176
+ sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetRecentlyAddedHubsType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::Country]), director: T.nilable(T::Array[::PlexRubySDK::Operations::Director]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::Location]), media: T.nilable(T::Array[::PlexRubySDK::Operations::Media]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::Role]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), year: T.nilable(::Integer)).void }
177
+ def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
176
178
  @added_at = added_at
177
179
  @guid = guid
178
180
  @key = key
@@ -210,6 +212,7 @@ module PlexRubySDK
210
212
  @library_section_id = library_section_id
211
213
  @library_section_key = library_section_key
212
214
  @library_section_title = library_section_title
215
+ @location = location
213
216
  @media = media
214
217
  @media_guid = media_guid
215
218
  @meta_data_rating = meta_data_rating
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+ # Bad Request - A parameter was not specified, or was specified incorrectly.
11
+ class GetSearchAllLibrariesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
16
+
17
+
18
+ sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesErrors])).void }
19
+ def initialize(errors: nil)
20
+ @errors = errors
21
+ end
22
+ end
23
+ end
24
+ end