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,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 GetMediaMetaDataBadRequest < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
16
+
17
+
18
+ sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataErrors])).void }
19
+ def initialize(errors: nil)
20
+ @errors = errors
21
+ end
22
+ end
23
+ end
24
+ 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 GetMediaMetaDataCountry < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The filter string for the country.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique country identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The country name.
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
@@ -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 GetMediaMetaDataDirector < ::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,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 GetMediaMetaDataErrors < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
16
+
17
+ field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
18
+
19
+ field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
20
+
21
+
22
+ sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
23
+ def initialize(code: nil, message: nil, status: nil)
24
+ @code = code
25
+ @message = message
26
+ @status = status
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 GetMediaMetaDataGenre < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The filter string for the genre.
15
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The unique genre identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The genre name.
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
@@ -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 GetMediaMetaDataImage < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Alternate text for the image.
15
+ field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
16
+ # The type of image (e.g., coverPoster, background, clearLogo).
17
+ field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
18
+ # The URL of the image.
19
+ field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
20
+
21
+
22
+ sig { params(alt: ::String, type: ::String, url: ::String).void }
23
+ def initialize(alt: nil, type: nil, url: nil)
24
+ @alt = alt
25
+ @type = type
26
+ @url = url
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 GetMediaMetaDataLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
16
+
17
+ field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
18
+
19
+ field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
20
+
21
+
22
+ sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
23
+ def initialize(code: nil, message: nil, status: nil)
24
+ @code = code
25
+ @message = message
26
+ @status = status
27
+ end
28
+ end
29
+ end
30
+ 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
+
11
+ class GetMediaMetaDataLocation < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The file path for the location.
15
+ field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
16
+
17
+
18
+ sig { params(path: ::String).void }
19
+ def initialize(path: nil)
20
+ @path = path
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,66 @@
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 GetMediaMetaDataMedia < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Aspect ratio of the video.
15
+ field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
16
+ # Number of audio channels.
17
+ field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
18
+ # Audio codec used.
19
+ field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
20
+ # Bitrate in bits per second.
21
+ field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
22
+ # File container type.
23
+ field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
24
+ # Duration of the media in milliseconds.
25
+ field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
+ # Indicates whether voice activity is detected.
27
+ field :has_voice_activity, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
28
+ # Video height in pixels.
29
+ field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
30
+ # Unique media identifier.
31
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
32
+ # An array of parts for this media item.
33
+ field :part, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
34
+ # Video codec used.
35
+ field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
36
+ # Frame rate of the video (e.g., 24p).
37
+ field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
38
+ # Video profile (e.g., main 10).
39
+ field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
40
+ # Video resolution (e.g., 4k).
41
+ field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
42
+ # Video width in pixels.
43
+ field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
44
+
45
+
46
+ sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, has_voice_activity: T::Boolean, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer).void }
47
+ def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, has_voice_activity: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
48
+ @aspect_ratio = aspect_ratio
49
+ @audio_channels = audio_channels
50
+ @audio_codec = audio_codec
51
+ @bitrate = bitrate
52
+ @container = container
53
+ @duration = duration
54
+ @has_voice_activity = has_voice_activity
55
+ @height = height
56
+ @id = id
57
+ @part = part
58
+ @video_codec = video_codec
59
+ @video_frame_rate = video_frame_rate
60
+ @video_profile = video_profile
61
+ @video_resolution = video_resolution
62
+ @width = width
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,48 @@
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 GetMediaMetaDataMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Indicates whether syncing is allowed.
15
+ field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
16
+ # An plugin identifier for the media container.
17
+ field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
18
+ # The unique identifier for the library section.
19
+ field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
20
+ # The title of the library section.
21
+ field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
22
+ # The prefix used for media tag resource paths.
23
+ field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
24
+ # The version number for media tags.
25
+ field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
26
+ # An array of metadata items.
27
+ field :metadata, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
28
+
29
+ field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
30
+ # The universally unique identifier for the library section.
31
+ field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
32
+
33
+
34
+ sig { params(allow_sync: T::Boolean, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], size: ::Float, library_section_uuid: T.nilable(::String)).void }
35
+ def initialize(allow_sync: nil, identifier: nil, library_section_id: nil, library_section_title: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil, library_section_uuid: nil)
36
+ @allow_sync = allow_sync
37
+ @identifier = identifier
38
+ @library_section_id = library_section_id
39
+ @library_section_title = library_section_title
40
+ @media_tag_prefix = media_tag_prefix
41
+ @media_tag_version = media_tag_version
42
+ @metadata = metadata
43
+ @size = size
44
+ @library_section_uuid = library_section_uuid
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,198 @@
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 GetMediaMetaDataMetadata < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Unix timestamp when the item was added.
15
+ field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
16
+ # URL of the art image.
17
+ field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
18
+ # The audience rating for the content.
19
+ field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
20
+ # The URL for the audience rating image.
21
+ field :audience_rating_image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
22
+ # The content rating (e.g., TV-MA).
23
+ field :content_rating, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
24
+ # Duration of the content in milliseconds.
25
+ field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
+ # The globally unique identifier for the item.
27
+ field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
28
+ # An array of GUID objects.
29
+ field :guids, T::Array[::PlexRubySDK::Operations::Guids], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
30
+ # An array of image objects.
31
+ field :image, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
32
+ # The API key to access metadata details.
33
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
34
+ # The ID of the library section.
35
+ field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
36
+ # The key of the library section.
37
+ field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
38
+ # The title of the library section.
39
+ field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
40
+ # The original release date.
41
+ field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
42
+ # An array of rating objects.
43
+ field :rating, T::Array[::PlexRubySDK::Operations::Rating], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
44
+ # The rating key of the metadata item.
45
+ field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
46
+ # A summary of the content.
47
+ field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
48
+ # URL of the thumbnail image.
49
+ field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
50
+ # The title of the content.
51
+ field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
52
+ # The type of content (e.g., show, movie).
53
+ field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
54
+
55
+ field :ultra_blur_colors, ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
56
+ # Unix timestamp when the item was last updated.
57
+ field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
58
+ # The release year.
59
+ field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
60
+
61
+ field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
62
+ # The number of child items.
63
+ field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
64
+ # An array of country tags.
65
+ field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
66
+ # An array of Director roles.
67
+ field :director, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } }
68
+ # An array of genre tags.
69
+ field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
70
+ # The URL of the grandparent's art image.
71
+ field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } }
72
+ # A GUID identifying the grandparent entity (e.g., show).
73
+ field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } }
74
+ # A key identifying the grandparent metadata in the library.
75
+ field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } }
76
+ # The rating key of the grandparent of this metadata item.
77
+ field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } }
78
+ # A URL-friendly identifier (slug) for the grandparent entity.
79
+ field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } }
80
+ # The URL of the grandparent's thumbnail image.
81
+ field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
82
+ # The title of the grandparent entity (typically the show's title).
83
+ field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
84
+ # The index or order of the item.
85
+ field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
86
+ # Unix timestamp of when the item was last viewed.
87
+ field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
88
+ # The total number of episodes (or leaves).
89
+ field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
90
+ # An array of location objects.
91
+ field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
92
+
93
+ field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
94
+ # The original title of the content.
95
+ field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
96
+ # A GUID identifying the parent entity (e.g., season) for the item.
97
+ field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } }
98
+ # The index number of the parent entity, which could indicate its order or position.
99
+ field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } }
100
+ # A key identifying the parent metadata in the library.
101
+ field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } }
102
+ # The rating key of the parent of this metadata item.
103
+ field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } }
104
+ # The URL of the parent's thumbnail image.
105
+ field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } }
106
+ # The title of the parent entity (typically the season's title).
107
+ field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } }
108
+
109
+ field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
110
+ # An array of Writer roles.
111
+ field :producer, T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
112
+ # An array of Actor roles.
113
+ field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
114
+ # An array of similar content objects.
115
+ field :similar, T.nilable(T::Array[::PlexRubySDK::Operations::Similar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } }
116
+ # The number of times the item has been skipped.
117
+ field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
118
+ # A URL-friendly identifier for the item.
119
+ field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
120
+ # The studio that produced the content.
121
+ field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } }
122
+ # The tagline of the content.
123
+ field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
124
+ # URL of the theme image.
125
+ field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
126
+ # The number of times the item has been viewed.
127
+ field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
128
+ # The number of episodes that have been viewed.
129
+ field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } }
130
+ # An array of Writer roles.
131
+ field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
132
+
133
+
134
+ sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, audience_rating_image: ::String, content_rating: ::String, duration: ::Integer, guid: ::String, guids: T::Array[::PlexRubySDK::Operations::Guids], image: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, rating: T::Array[::PlexRubySDK::Operations::Rating], rating_key: ::String, summary: ::String, thumb: ::String, title: ::String, type: ::String, ultra_blur_colors: ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, updated_at: ::Integer, year: ::Integer, chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGenre]), 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_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), 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_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[::PlexRubySDK::Operations::Similar]), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter])).void }
135
+ def initialize(added_at: nil, art: nil, audience_rating: nil, audience_rating_image: nil, content_rating: nil, duration: nil, guid: nil, guids: nil, image: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, rating: nil, rating_key: nil, summary: nil, thumb: nil, title: nil, type: nil, ultra_blur_colors: nil, updated_at: nil, year: nil, chapter_source: nil, child_count: nil, country: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_thumb: nil, grandparent_title: nil, index: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, role: nil, similar: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, view_count: nil, viewed_leaf_count: nil, writer: nil)
136
+ @added_at = added_at
137
+ @art = art
138
+ @audience_rating = audience_rating
139
+ @audience_rating_image = audience_rating_image
140
+ @content_rating = content_rating
141
+ @duration = duration
142
+ @guid = guid
143
+ @guids = guids
144
+ @image = image
145
+ @key = key
146
+ @library_section_id = library_section_id
147
+ @library_section_key = library_section_key
148
+ @library_section_title = library_section_title
149
+ @originally_available_at = originally_available_at
150
+ @rating = rating
151
+ @rating_key = rating_key
152
+ @summary = summary
153
+ @thumb = thumb
154
+ @title = title
155
+ @type = type
156
+ @ultra_blur_colors = ultra_blur_colors
157
+ @updated_at = updated_at
158
+ @year = year
159
+ @chapter_source = chapter_source
160
+ @child_count = child_count
161
+ @country = country
162
+ @director = director
163
+ @genre = genre
164
+ @grandparent_art = grandparent_art
165
+ @grandparent_guid = grandparent_guid
166
+ @grandparent_key = grandparent_key
167
+ @grandparent_rating_key = grandparent_rating_key
168
+ @grandparent_slug = grandparent_slug
169
+ @grandparent_thumb = grandparent_thumb
170
+ @grandparent_title = grandparent_title
171
+ @index = index
172
+ @last_viewed_at = last_viewed_at
173
+ @leaf_count = leaf_count
174
+ @location = location
175
+ @media = media
176
+ @original_title = original_title
177
+ @parent_guid = parent_guid
178
+ @parent_index = parent_index
179
+ @parent_key = parent_key
180
+ @parent_rating_key = parent_rating_key
181
+ @parent_thumb = parent_thumb
182
+ @parent_title = parent_title
183
+ @primary_extra_key = primary_extra_key
184
+ @producer = producer
185
+ @role = role
186
+ @similar = similar
187
+ @skip_count = skip_count
188
+ @slug = slug
189
+ @studio = studio
190
+ @tagline = tagline
191
+ @theme = theme
192
+ @view_count = view_count
193
+ @viewed_leaf_count = viewed_leaf_count
194
+ @writer = writer
195
+ end
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,54 @@
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 GetMediaMetaDataPart < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # Container format of the part.
15
+ field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
16
+ # Duration of the part in milliseconds.
17
+ field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
18
+ # File path for the part.
19
+ field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
20
+ # Unique part identifier.
21
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
22
+ # Key to access this part.
23
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
24
+ # File size in bytes.
25
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
26
+ # An array of streams for this part.
27
+ field :stream, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
28
+ # Video profile for the part.
29
+ field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
30
+ # Indicates if the part is accessible.
31
+ field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } }
32
+ # Indicates if the part exists.
33
+ field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
34
+
35
+ field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
36
+
37
+
38
+ sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, stream: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream], video_profile: ::String, accessible: T.nilable(T::Boolean), exists: T.nilable(T::Boolean), indexes: T.nilable(::String)).void }
39
+ def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, stream: nil, video_profile: nil, accessible: nil, exists: nil, indexes: nil)
40
+ @container = container
41
+ @duration = duration
42
+ @file = file
43
+ @id = id
44
+ @key = key
45
+ @size = size
46
+ @stream = stream
47
+ @video_profile = video_profile
48
+ @accessible = accessible
49
+ @exists = exists
50
+ @indexes = indexes
51
+ end
52
+ end
53
+ end
54
+ end