plex_ruby_sdk 0.7.3 → 0.7.4

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/library.rb +80 -19
  3. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_badrequest.rb → get_actors_library_badrequest.rb} +3 -3
  4. data/lib/plex_ruby_sdk/models/operations/get_actors_library_directory.rb +33 -0
  5. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_errors.rb → get_actors_library_errors.rb} +1 -1
  6. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_library_errors.rb → get_actors_library_library_errors.rb} +1 -1
  7. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +60 -0
  8. data/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb +29 -0
  9. data/lib/plex_ruby_sdk/models/operations/get_actors_library_request.rb +35 -0
  10. data/lib/plex_ruby_sdk/models/operations/get_actors_library_response.rb +39 -0
  11. data/lib/plex_ruby_sdk/models/operations/get_actors_library_responsebody.rb +24 -0
  12. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_unauthorized.rb → get_actors_library_unauthorized.rb} +3 -3
  13. data/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb +29 -0
  14. data/lib/plex_ruby_sdk/models/operations/get_countries_library_request.rb +11 -2
  15. data/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb +29 -0
  16. data/lib/plex_ruby_sdk/models/operations/get_genres_library_request.rb +11 -2
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +1 -1
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb +11 -11
  19. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_badrequest.rb +24 -0
  20. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +30 -0
  21. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +39 -0
  22. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_errors.rb +30 -0
  23. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +30 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb +30 -0
  25. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_errors.rb +30 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_location.rb +24 -0
  27. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +66 -0
  28. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +48 -0
  29. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +198 -0
  30. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +54 -0
  31. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb +63 -0
  32. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_response.rb → get_media_meta_data_response.rb} +5 -5
  33. data/lib/plex_ruby_sdk/models/operations/{get_meta_data_by_rating_key_responsebody.rb → get_media_meta_data_responsebody.rb} +3 -3
  34. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +39 -0
  35. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +159 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb +33 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_unauthorized.rb +24 -0
  38. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +39 -0
  39. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb +1 -1
  40. data/lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb +1 -1
  41. data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +1 -1
  42. data/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb +1 -1
  43. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +1 -1
  44. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_request.rb +1 -1
  45. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +1 -1
  46. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +1 -1
  47. data/lib/plex_ruby_sdk/models/operations/guids.rb +3 -3
  48. data/lib/plex_ruby_sdk/models/operations/producer.rb +14 -11
  49. data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +1 -1
  50. data/lib/plex_ruby_sdk/models/operations/rating.rb +30 -0
  51. data/lib/plex_ruby_sdk/models/operations/similar.rb +30 -0
  52. data/lib/plex_ruby_sdk/models/operations/type.rb +1 -1
  53. data/lib/plex_ruby_sdk/models/operations.rb +34 -18
  54. data/lib/plex_ruby_sdk/sdkconfiguration.rb +2 -2
  55. metadata +36 -20
  56. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_country.rb +0 -30
  57. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_director.rb +0 -36
  58. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_genre.rb +0 -30
  59. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_media.rb +0 -72
  60. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_mediacontainer.rb +0 -48
  61. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_metadata.rb +0 -135
  62. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb +0 -54
  63. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_request.rb +0 -24
  64. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_role.rb +0 -39
  65. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb +0 -117
  66. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_writer.rb +0 -36
  67. data/lib/plex_ruby_sdk/models/operations/ratings.rb +0 -30
@@ -0,0 +1,63 @@
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 GetMediaMetaDataRequest < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # the id of the library item to return the children of.
15
+ field :rating_key, ::Integer, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } }
16
+ # Trigger asynchronous metadata augmentation.
17
+ field :async_augment_metadata, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncAugmentMetadata', 'style': 'form', 'explode': true } }
18
+ # Trigger asynchronous file checking.
19
+ field :async_check_files, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncCheckFiles', 'style': 'form', 'explode': true } }
20
+ # Trigger asynchronous refresh of analysis.
21
+ field :async_refresh_analysis, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncRefreshAnalysis', 'style': 'form', 'explode': true } }
22
+ # Trigger asynchronous refresh of the local media agent.
23
+ field :async_refresh_local_media_agent, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncRefreshLocalMediaAgent', 'style': 'form', 'explode': true } }
24
+ # Include chapter details.
25
+ field :include_chapters, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeChapters', 'style': 'form', 'explode': true } }
26
+ # Include concerts data if set to true.
27
+ field :include_concerts, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeConcerts', 'style': 'form', 'explode': true } }
28
+ # Include external media data.
29
+ field :include_external_media, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
30
+ # Include extra content (e.g. bonus features).
31
+ field :include_extras, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeExtras', 'style': 'form', 'explode': true } }
32
+ # Include on-deck items.
33
+ field :include_on_deck, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeOnDeck', 'style': 'form', 'explode': true } }
34
+ # Include popular leaves (episodes/chapters).
35
+ field :include_popular_leaves, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includePopularLeaves', 'style': 'form', 'explode': true } }
36
+ # Include preferences information.
37
+ field :include_preferences, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includePreferences', 'style': 'form', 'explode': true } }
38
+ # Include reviews for the content.
39
+ field :include_reviews, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeReviews', 'style': 'form', 'explode': true } }
40
+ # Include station data.
41
+ field :include_stations, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeStations', 'style': 'form', 'explode': true } }
42
+
43
+
44
+ sig { params(rating_key: ::Integer, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void }
45
+ def initialize(rating_key: nil, async_augment_metadata: nil, async_check_files: nil, async_refresh_analysis: nil, async_refresh_local_media_agent: nil, include_chapters: nil, include_concerts: nil, include_external_media: nil, include_extras: nil, include_on_deck: nil, include_popular_leaves: nil, include_preferences: nil, include_reviews: nil, include_stations: nil)
46
+ @rating_key = rating_key
47
+ @async_augment_metadata = async_augment_metadata
48
+ @async_check_files = async_check_files
49
+ @async_refresh_analysis = async_refresh_analysis
50
+ @async_refresh_local_media_agent = async_refresh_local_media_agent
51
+ @include_chapters = include_chapters
52
+ @include_concerts = include_concerts
53
+ @include_external_media = include_external_media
54
+ @include_extras = include_extras
55
+ @include_on_deck = include_on_deck
56
+ @include_popular_leaves = include_popular_leaves
57
+ @include_preferences = include_preferences
58
+ @include_reviews = include_reviews
59
+ @include_stations = include_stations
60
+ end
61
+ end
62
+ end
63
+ end
@@ -8,7 +8,7 @@ module PlexRubySDK
8
8
  module Operations
9
9
 
10
10
 
11
- class GetMetaDataByRatingKeyResponse < ::PlexRubySDK::Utils::FieldAugmented
11
+ class GetMediaMetaDataResponse < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -18,14 +18,14 @@ module PlexRubySDK
18
18
  # HTTP response status code for this operation
19
19
  field :status_code, ::Integer
20
20
  # Bad Request - A parameter was not specified, or was specified incorrectly.
21
- field :bad_request, T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyBadRequest)
21
+ field :bad_request, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataBadRequest)
22
22
  # The metadata of the library item.
23
- field :object, T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponseBody)
23
+ field :object, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataResponseBody)
24
24
  # Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
25
- field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyUnauthorized)
25
+ field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataUnauthorized)
26
26
 
27
27
 
28
- sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyUnauthorized)).void }
28
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataUnauthorized)).void }
29
29
  def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, object: nil, unauthorized: nil)
30
30
  @content_type = content_type
31
31
  @raw_response = raw_response
@@ -8,14 +8,14 @@ module PlexRubySDK
8
8
  module Operations
9
9
 
10
10
  # The metadata of the library item.
11
- class GetMetaDataByRatingKeyResponseBody < ::PlexRubySDK::Utils::FieldAugmented
11
+ class GetMediaMetaDataResponseBody < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :media_container, T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
15
+ field :media_container, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
16
16
 
17
17
 
18
- sig { params(media_container: T.nilable(::PlexRubySDK::Operations::GetMetaDataByRatingKeyMediaContainer)).void }
18
+ sig { params(media_container: T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataMediaContainer)).void }
19
19
  def initialize(media_container: nil)
20
20
  @media_container = media_container
21
21
  end
@@ -0,0 +1,39 @@
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 GetMediaMetaDataRole < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The filter string for the role.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique role identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The actor's name.
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+ # A key associated with the actor tag.
21
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
+ # The character name or role.
23
+ field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
24
+ # URL for the role thumbnail image.
25
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
26
+
27
+
28
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
30
+ @filter = filter
31
+ @id = id
32
+ @tag = tag
33
+ @tag_key = tag_key
34
+ @role = role
35
+ @thumb = thumb
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,159 @@
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 GetMediaMetaDataStream < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Bitrate of the stream.
15
+ field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
16
+ # Codec used by the stream.
17
+ field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
18
+ # Display title for the stream.
19
+ field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
20
+ # Extended display title for the stream.
21
+ field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
22
+ # Unique stream identifier.
23
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
24
+ # Index of the stream.
25
+ field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
26
+ # Language of the stream.
27
+ field :language, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
28
+ # ISO language code.
29
+ field :language_code, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
30
+ # Language tag (e.g., en).
31
+ field :language_tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
32
+ # Stream type (1=video, 2=audio, 3=subtitle).
33
+ field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
34
+ # Audio channel layout.
35
+ field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
36
+ # Bit depth of the video stream.
37
+ field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
38
+ # Indicates if the stream can auto-sync.
39
+ field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
40
+ # Number of audio channels (for audio streams).
41
+ field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } }
42
+ # Chroma sample location.
43
+ field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
44
+ # Chroma subsampling format.
45
+ field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
46
+ # Coded video height.
47
+ field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
48
+ # Coded video width.
49
+ field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
50
+ # Color primaries used.
51
+ field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
52
+ # Color range (e.g., tv).
53
+ field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
54
+ # Color space.
55
+ field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
56
+ # Color transfer characteristics.
57
+ field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
58
+ # Indicates if this stream is default.
59
+ field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
60
+ # Dolby Vision BL compatibility ID.
61
+ field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } }
62
+ # Indicates if Dolby Vision BL is present.
63
+ field :dovibl_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLPresent') } }
64
+ # Indicates if Dolby Vision EL is present.
65
+ field :doviel_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIELPresent') } }
66
+ # Dolby Vision level.
67
+ field :dovi_level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVILevel') } }
68
+ # Indicates if Dolby Vision is present.
69
+ field :dovi_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIPresent') } }
70
+ # Dolby Vision profile.
71
+ field :dovi_profile, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIProfile') } }
72
+ # Indicates if Dolby Vision RPU is present.
73
+ field :dovirpu_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIRPUPresent') } }
74
+ # Dolby Vision version.
75
+ field :dovi_version, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIVersion') } }
76
+ # Indicates if the stream is a dub.
77
+ field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
78
+
79
+ field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
80
+ # Frame rate of the stream.
81
+ field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
82
+
83
+ field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
84
+ # Indicates if the stream is for the hearing impaired.
85
+ field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
86
+ # Height of the video stream.
87
+ field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
88
+ # Video level.
89
+ field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
90
+ # Indicates if this is the original stream.
91
+ field :original, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('original') } }
92
+ # Video profile.
93
+ field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } }
94
+ # Number of reference frames.
95
+ field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } }
96
+ # Sampling rate for the audio stream.
97
+ field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } }
98
+
99
+ field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
100
+ # Indicates if this stream is selected (applicable for audio streams).
101
+ field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } }
102
+ # Optional title for the stream (e.g., language variant).
103
+ field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
104
+ # Width of the video stream.
105
+ field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
106
+
107
+
108
+ sig { params(bitrate: ::Integer, codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, language: ::String, language_code: ::String, language_tag: ::String, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
109
+ def initialize(bitrate: nil, codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, language: nil, language_code: nil, language_tag: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, forced: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
110
+ @bitrate = bitrate
111
+ @codec = codec
112
+ @display_title = display_title
113
+ @extended_display_title = extended_display_title
114
+ @id = id
115
+ @index = index
116
+ @language = language
117
+ @language_code = language_code
118
+ @language_tag = language_tag
119
+ @stream_type = stream_type
120
+ @audio_channel_layout = audio_channel_layout
121
+ @bit_depth = bit_depth
122
+ @can_auto_sync = can_auto_sync
123
+ @channels = channels
124
+ @chroma_location = chroma_location
125
+ @chroma_subsampling = chroma_subsampling
126
+ @coded_height = coded_height
127
+ @coded_width = coded_width
128
+ @color_primaries = color_primaries
129
+ @color_range = color_range
130
+ @color_space = color_space
131
+ @color_trc = color_trc
132
+ @default = default
133
+ @dovibl_compat_id = dovibl_compat_id
134
+ @dovibl_present = dovibl_present
135
+ @doviel_present = doviel_present
136
+ @dovi_level = dovi_level
137
+ @dovi_present = dovi_present
138
+ @dovi_profile = dovi_profile
139
+ @dovirpu_present = dovirpu_present
140
+ @dovi_version = dovi_version
141
+ @dub = dub
142
+ @forced = forced
143
+ @frame_rate = frame_rate
144
+ @has_scaling_matrix = has_scaling_matrix
145
+ @hearing_impaired = hearing_impaired
146
+ @height = height
147
+ @level = level
148
+ @original = original
149
+ @profile = profile
150
+ @ref_frames = ref_frames
151
+ @sampling_rate = sampling_rate
152
+ @scan_type = scan_type
153
+ @selected = selected
154
+ @title = title
155
+ @width = width
156
+ end
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,33 @@
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 GetMediaMetaDataUltraBlurColors < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The bottom-left color value.
15
+ field :bottom_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomLeft') } }
16
+ # The bottom-right color value.
17
+ field :bottom_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomRight') } }
18
+ # The top-left color value.
19
+ field :top_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topLeft') } }
20
+ # The top-right color value.
21
+ field :top_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topRight') } }
22
+
23
+
24
+ sig { params(bottom_left: ::String, bottom_right: ::String, top_left: ::String, top_right: ::String).void }
25
+ def initialize(bottom_left: nil, bottom_right: nil, top_left: nil, top_right: nil)
26
+ @bottom_left = bottom_left
27
+ @bottom_right = bottom_right
28
+ @top_left = top_left
29
+ @top_right = top_right
30
+ end
31
+ end
32
+ end
33
+ end
@@ -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
+ # Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
11
+ class GetMediaMetaDataUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
16
+
17
+
18
+ sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLibraryErrors])).void }
19
+ def initialize(errors: nil)
20
+ @errors = errors
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,39 @@
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 GetMediaMetaDataWriter < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The filter string for the role.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique role identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The actor's name.
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+ # A key associated with the actor tag.
21
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
+ # The character name or role.
23
+ field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
24
+ # URL for the role thumbnail image.
25
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
26
+
27
+
28
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
30
+ @filter = filter
31
+ @id = id
32
+ @tag = tag
33
+ @tag_key = tag_key
34
+ @role = role
35
+ @thumb = thumb
36
+ end
37
+ end
38
+ end
39
+ end
@@ -11,7 +11,7 @@ module PlexRubySDK
11
11
  class GetRecentlyAddedLibraryRequest < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The type of media to retrieve.
14
+ # The type of media to retrieve or filter by.
15
15
  # 1 = movie
16
16
  # 2 = show
17
17
  # 3 = season
@@ -13,7 +13,7 @@ module PlexRubySDK
13
13
 
14
14
  # The content directory ID.
15
15
  field :content_directory_id, ::Integer, { 'query_param': { 'field_name': 'contentDirectoryID', 'style': 'form', 'explode': true } }
16
- # The type of media to retrieve.
16
+ # The type of media to retrieve or filter by.
17
17
  # 1 = movie
18
18
  # 2 = show
19
19
  # 3 = season
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
 
10
- # GetSearchLibraryQueryParamType - The type of media to retrieve.
10
+ # GetSearchLibraryQueryParamType - The type of media to retrieve or filter by.
11
11
  # 1 = movie
12
12
  # 2 = show
13
13
  # 3 = season
@@ -15,7 +15,7 @@ module PlexRubySDK
15
15
  # Note: This is unique in the context of the Plex server.
16
16
  #
17
17
  field :section_key, ::Integer, { 'path_param': { 'field_name': 'sectionKey', 'style': 'simple', 'explode': false } }
18
- # The type of media to retrieve.
18
+ # The type of media to retrieve or filter by.
19
19
  # 1 = movie
20
20
  # 2 = show
21
21
  # 3 = season
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
 
10
- # GetPlaylistContentsQueryParamType - The type of media to retrieve.
10
+ # GetPlaylistContentsQueryParamType - The type of media to retrieve or filter by.
11
11
  # 1 = movie
12
12
  # 2 = show
13
13
  # 3 = season
@@ -13,7 +13,7 @@ module PlexRubySDK
13
13
 
14
14
  # the ID of the playlist
15
15
  field :playlist_id, ::Float, { 'path_param': { 'field_name': 'playlistID', 'style': 'simple', 'explode': false } }
16
- # The type of media to retrieve.
16
+ # The type of media to retrieve or filter by.
17
17
  # 1 = movie
18
18
  # 2 = show
19
19
  # 3 = season
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
 
10
- # GetTopWatchedContentQueryParamType - The type of media to retrieve.
10
+ # GetTopWatchedContentQueryParamType - The type of media to retrieve or filter by.
11
11
  # 1 = movie
12
12
  # 2 = show
13
13
  # 3 = season
@@ -11,7 +11,7 @@ module PlexRubySDK
11
11
  class GetTopWatchedContentRequest < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The type of media to retrieve.
14
+ # The type of media to retrieve or filter by.
15
15
  # 1 = movie
16
16
  # 2 = show
17
17
  # 3 = season
@@ -11,11 +11,11 @@ module PlexRubySDK
11
11
  class Guids < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # The GUID value.
15
+ field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
14
16
 
15
- field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
16
17
 
17
-
18
- sig { params(id: T.nilable(::String)).void }
18
+ sig { params(id: ::String).void }
19
19
  def initialize(id: nil)
20
20
  @id = id
21
21
  end
@@ -11,24 +11,27 @@ module PlexRubySDK
11
11
  class Producer < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
-
15
- field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
-
17
- field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
-
19
- field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
-
21
- field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
-
14
+ # The filter string for the role.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique role identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The actor's name.
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+ # A key associated with the actor tag.
21
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
+ # The character name or role.
23
+ field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
24
+ # URL for the role thumbnail image.
23
25
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
24
26
 
25
27
 
26
- sig { params(filter: T.nilable(::String), id: T.nilable(::Integer), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
27
- def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
28
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
28
30
  @filter = filter
29
31
  @id = id
30
32
  @tag = tag
31
33
  @tag_key = tag_key
34
+ @role = role
32
35
  @thumb = thumb
33
36
  end
34
37
  end
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
 
10
- # QueryParamType - The type of media to retrieve.
10
+ # QueryParamType - The type of media to retrieve or filter by.
11
11
  # 1 = movie
12
12
  # 2 = show
13
13
  # 3 = season
@@ -0,0 +1,30 @@
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 Rating < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The image or reference for the rating.
15
+ field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
16
+ # The type of rating (e.g., audience, critic).
17
+ field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
18
+ # The rating value.
19
+ field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } }
20
+
21
+
22
+ sig { params(image: ::String, type: ::String, value: ::Float).void }
23
+ def initialize(image: nil, type: nil, value: nil)
24
+ @image = image
25
+ @type = type
26
+ @value = value
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
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 Similar < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The filter string for similar items.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique similar item identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The tag or title of the similar content.
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+
21
+
22
+ sig { params(filter: ::String, id: ::Integer, tag: ::String).void }
23
+ def initialize(filter: nil, id: nil, tag: nil)
24
+ @filter = filter
25
+ @id = id
26
+ @tag = tag
27
+ end
28
+ end
29
+ end
30
+ end
@@ -7,7 +7,7 @@
7
7
  module PlexRubySDK
8
8
  module Operations
9
9
 
10
- # Type - The type of media to retrieve.
10
+ # Type - The type of media to retrieve or filter by.
11
11
  # 1 = movie
12
12
  # 2 = show
13
13
  # 3 = season