ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.488.0

This commit is contained in:
speakeasybot
2025-02-11 00:09:18 +00:00
parent 18f383117a
commit 70e432702d
140 changed files with 2733 additions and 268 deletions

View File

@@ -431,6 +431,45 @@ module PlexRubySDK
autoload :GetLibraryItemsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb'
autoload :GetLibraryItemsResponseBody, 'plex_ruby_sdk/models/operations/get_library_items_responsebody.rb'
autoload :GetLibraryItemsResponse, 'plex_ruby_sdk/models/operations/get_library_items_response.rb'
autoload :GetAllMediaLibraryQueryParamType, 'plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb'
autoload :GetAllMediaLibraryQueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb'
autoload :QueryParamIncludeGuids, 'plex_ruby_sdk/models/operations/queryparam_includeguids.rb'
autoload :IncludeAdvanced, 'plex_ruby_sdk/models/operations/includeadvanced.rb'
autoload :QueryParamIncludeCollections, 'plex_ruby_sdk/models/operations/queryparam_includecollections.rb'
autoload :QueryParamIncludeExternalMedia, 'plex_ruby_sdk/models/operations/queryparam_includeexternalmedia.rb'
autoload :GetAllMediaLibraryRequest, 'plex_ruby_sdk/models/operations/get_all_media_library_request.rb'
autoload :GetAllMediaLibraryLibraryErrors, 'plex_ruby_sdk/models/operations/get_all_media_library_library_errors.rb'
autoload :GetAllMediaLibraryUnauthorized, 'plex_ruby_sdk/models/operations/get_all_media_library_unauthorized.rb'
autoload :GetAllMediaLibraryErrors, 'plex_ruby_sdk/models/operations/get_all_media_library_errors.rb'
autoload :GetAllMediaLibraryBadRequest, 'plex_ruby_sdk/models/operations/get_all_media_library_badrequest.rb'
autoload :GetAllMediaLibraryFilter, 'plex_ruby_sdk/models/operations/get_all_media_library_filter.rb'
autoload :GetAllMediaLibraryActiveDirection, 'plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb'
autoload :GetAllMediaLibraryDefaultDirection, 'plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb'
autoload :GetAllMediaLibrarySort, 'plex_ruby_sdk/models/operations/get_all_media_library_sort.rb'
autoload :GetAllMediaLibraryField, 'plex_ruby_sdk/models/operations/get_all_media_library_field.rb'
autoload :GetAllMediaLibraryType, 'plex_ruby_sdk/models/operations/get_all_media_library_type.rb'
autoload :GetAllMediaLibraryOperator, 'plex_ruby_sdk/models/operations/get_all_media_library_operator.rb'
autoload :GetAllMediaLibraryFieldType, 'plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb'
autoload :GetAllMediaLibraryMeta, 'plex_ruby_sdk/models/operations/get_all_media_library_meta.rb'
autoload :GetAllMediaLibraryLibraryType, 'plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb'
autoload :GetAllMediaLibraryLibraryResponseType, 'plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb'
autoload :GetAllMediaLibraryImage, 'plex_ruby_sdk/models/operations/get_all_media_library_image.rb'
autoload :GetAllMediaLibraryUltraBlurColors, 'plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb'
autoload :GetAllMediaLibraryHasThumbnail, 'plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb'
autoload :GetAllMediaLibraryStream, 'plex_ruby_sdk/models/operations/get_all_media_library_stream.rb'
autoload :GetAllMediaLibraryPart, 'plex_ruby_sdk/models/operations/get_all_media_library_part.rb'
autoload :GetAllMediaLibraryMedia, 'plex_ruby_sdk/models/operations/get_all_media_library_media.rb'
autoload :GetAllMediaLibraryGenre, 'plex_ruby_sdk/models/operations/get_all_media_library_genre.rb'
autoload :GetAllMediaLibraryCountry, 'plex_ruby_sdk/models/operations/get_all_media_library_country.rb'
autoload :GetAllMediaLibraryDirector, 'plex_ruby_sdk/models/operations/get_all_media_library_director.rb'
autoload :GetAllMediaLibraryWriter, 'plex_ruby_sdk/models/operations/get_all_media_library_writer.rb'
autoload :GetAllMediaLibraryRole, 'plex_ruby_sdk/models/operations/get_all_media_library_role.rb'
autoload :Guids, 'plex_ruby_sdk/models/operations/guids.rb'
autoload :GetAllMediaLibraryCollection, 'plex_ruby_sdk/models/operations/get_all_media_library_collection.rb'
autoload :GetAllMediaLibraryMetadata, 'plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb'
autoload :GetAllMediaLibraryMediaContainer, 'plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb'
autoload :GetAllMediaLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb'
autoload :GetAllMediaLibraryResponse, 'plex_ruby_sdk/models/operations/get_all_media_library_response.rb'
autoload :Force, 'plex_ruby_sdk/models/operations/force.rb'
autoload :GetRefreshLibraryMetadataRequest, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_request.rb'
autoload :GetRefreshLibraryMetadataLibraryErrors, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_library_errors.rb'
@@ -479,8 +518,8 @@ module PlexRubySDK
autoload :GetActorsLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_actors_library_responsebody.rb'
autoload :GetActorsLibraryResponse, 'plex_ruby_sdk/models/operations/get_actors_library_response.rb'
autoload :SearchTypes, 'plex_ruby_sdk/models/operations/searchtypes.rb'
autoload :QueryParamIncludeCollections, 'plex_ruby_sdk/models/operations/queryparam_includecollections.rb'
autoload :QueryParamIncludeExternalMedia, 'plex_ruby_sdk/models/operations/queryparam_includeexternalmedia.rb'
autoload :GetSearchAllLibrariesQueryParamIncludeCollections, 'plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includecollections.rb'
autoload :GetSearchAllLibrariesQueryParamIncludeExternalMedia, 'plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includeexternalmedia.rb'
autoload :GetSearchAllLibrariesRequest, 'plex_ruby_sdk/models/operations/get_search_all_libraries_request.rb'
autoload :GetSearchAllLibrariesLibraryErrors, 'plex_ruby_sdk/models/operations/get_search_all_libraries_library_errors.rb'
autoload :GetSearchAllLibrariesUnauthorized, 'plex_ruby_sdk/models/operations/get_search_all_libraries_unauthorized.rb'
@@ -518,6 +557,7 @@ module PlexRubySDK
autoload :GetMediaMetaDataUnauthorized, 'plex_ruby_sdk/models/operations/get_media_meta_data_unauthorized.rb'
autoload :GetMediaMetaDataErrors, 'plex_ruby_sdk/models/operations/get_media_meta_data_errors.rb'
autoload :GetMediaMetaDataBadRequest, 'plex_ruby_sdk/models/operations/get_media_meta_data_badrequest.rb'
autoload :GetMediaMetaDataHasThumbnail, 'plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb'
autoload :GetMediaMetaDataStream, 'plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb'
autoload :GetMediaMetaDataPart, 'plex_ruby_sdk/models/operations/get_media_meta_data_part.rb'
autoload :GetMediaMetaDataMedia, 'plex_ruby_sdk/models/operations/get_media_meta_data_media.rb'
@@ -525,8 +565,8 @@ module PlexRubySDK
autoload :GetMediaMetaDataUltraBlurColors, 'plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb'
autoload :GetMediaMetaDataGenre, 'plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb'
autoload :GetMediaMetaDataCountry, 'plex_ruby_sdk/models/operations/get_media_meta_data_country.rb'
autoload :Guids, 'plex_ruby_sdk/models/operations/guids.rb'
autoload :Rating, 'plex_ruby_sdk/models/operations/rating.rb'
autoload :GetMediaMetaDataGuids, 'plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb'
autoload :Ratings, 'plex_ruby_sdk/models/operations/ratings.rb'
autoload :GetMediaMetaDataRole, 'plex_ruby_sdk/models/operations/get_media_meta_data_role.rb'
autoload :GetMediaMetaDataDirector, 'plex_ruby_sdk/models/operations/get_media_meta_data_director.rb'
autoload :GetMediaMetaDataWriter, 'plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb'

View File

@@ -23,8 +23,8 @@ module PlexRubySDK
field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
# Specifies whether caching is disabled.
field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# Number of media items returned in this response.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# URL for the thumbnail image of the media container.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The primary title of the media container.
@@ -39,7 +39,7 @@ module PlexRubySDK
field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetActorsLibraryDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Float, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, view_mode: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetActorsLibraryDirectory])).void }
sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, view_mode: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetActorsLibraryDirectory])).void }
def initialize(allow_sync: nil, art: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, view_mode: nil, directory: nil)
@allow_sync = allow_sync
@art = art

View File

@@ -0,0 +1,19 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`.
#
class GetAllMediaLibraryActiveDirection < T::Enum
enums do
ASCENDING = new('asc')
DESCENDING = new('desc')
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class GetAllMediaLibraryBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryCollection < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The user-made collection this media item belongs to
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryCountry < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The country of origin of this media item
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,19 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryDefaultDirection - The direction of the sort. Can be either `asc` or `desc`.
#
class GetAllMediaLibraryDefaultDirection < T::Enum
enums do
ASCENDING = new('asc')
DESCENDING = new('desc')
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryDirector < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The role of Director
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryField < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } }
sig { params(key: ::String, title: ::String, type: ::String, sub_type: T.nilable(::String)).void }
def initialize(key: nil, title: nil, type: nil, sub_type: nil)
@key = key
@title = title
@type = type
@sub_type = sub_type
end
end
end
end

View File

@@ -0,0 +1,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryFieldType < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :operator, T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } }
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
sig { params(operator: T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryOperator], type: ::String).void }
def initialize(operator: nil, type: nil)
@operator = operator
@type = type
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryFilter < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
field :filter_type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filterType') } }
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
@filter = filter
@filter_type = filter_type
@key = key
@title = title
@type = type
@advanced = advanced
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryGenre < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The country of origin of this media item
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryHasThumbnail - Indicates if the part has a thumbnail.
class GetAllMediaLibraryHasThumbnail < T::Enum
enums do
FALSE = new('0')
TRUE = new('1')
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryImage < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
field :type, ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryLibraryResponseType, false) } }
field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryResponseType, url: ::String).void }
def initialize(alt: nil, type: nil, url: nil)
@alt = alt
@type = type
@url = url
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,20 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryLibraryResponseType < T::Enum
enums do
COVER_POSTER = new('coverPoster')
BACKGROUND = new('background')
SNAPSHOT = new('snapshot')
CLEAR_LOGO = new('clearLogo')
end
end
end
end

View File

@@ -0,0 +1,23 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryLibraryType - The type of media content
#
class GetAllMediaLibraryLibraryType < T::Enum
enums do
MOVIE = new('movie')
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
ARTIST = new('artist')
ALBUM = new('album')
end
end
end
end

View File

@@ -0,0 +1,79 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryMedia < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicates whether voice activity is detected.
field :has_voice_activity, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
# Unique media identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# An array of parts for this media item.
field :part, T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
# Aspect ratio of the video.
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
# Number of audio channels.
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
# Audio codec used.
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
# Bitrate in bits per second.
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# File container type.
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
# Duration of the media in milliseconds.
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
# Video height in pixels.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
# Video codec used.
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
# Frame rate of the video. Values found include NTSC, PAL, 24p
#
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
# Video profile (e.g., main 10).
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
# Video resolution (e.g., 4k).
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
# Video width in pixels.
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(has_voice_activity: T::Boolean, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::Object), 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 }
def initialize(has_voice_activity: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
@has_voice_activity = has_voice_activity
@id = id
@part = part
@aspect_ratio = aspect_ratio
@audio_channels = audio_channels
@audio_codec = audio_codec
@audio_profile = audio_profile
@bitrate = bitrate
@container = container
@display_offset = display_offset
@duration = duration
@has64bit_offsets = has64bit_offsets
@height = height
@optimized_for_streaming = optimized_for_streaming
@video_codec = video_codec
@video_frame_rate = video_frame_rate
@video_profile = video_profile
@video_resolution = video_resolution
@width = width
end
end
end
end

View File

@@ -0,0 +1,79 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicates whether syncing is allowed.
field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
# URL for the background artwork of the media container.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# The content type or mode.
field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } }
# An plugin identifier for the media container.
field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
# The unique identifier for the library section.
field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
# The title of the library section.
field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
# The prefix used for media tag resource paths.
field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
# The version number for media tags.
field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
# Specifies whether caching is disabled.
field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
# Offset value for pagination.
field :offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } }
# Number of media items returned in this response.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# URL for the thumbnail image of the media container.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The primary title of the media container.
field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } }
# The secondary title of the media container.
field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } }
# Total number of media items in the library.
field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
# Identifier for the view group layout.
field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } }
# The universally unique identifier for the library section.
field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
# The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
#
field :meta, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } }
# An array of metadata items.
field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, library_section_uuid: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryMeta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryMetadata])).void }
def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, library_section_uuid: nil, meta: nil, metadata: nil)
@allow_sync = allow_sync
@art = art
@content = content
@identifier = identifier
@library_section_id = library_section_id
@library_section_title = library_section_title
@media_tag_prefix = media_tag_prefix
@media_tag_version = media_tag_version
@nocache = nocache
@offset = offset
@size = size
@thumb = thumb
@title1 = title1
@title2 = title2
@total_size = total_size
@view_group = view_group
@library_section_uuid = library_section_uuid
@meta = meta
@metadata = metadata
end
end
end
end

View File

@@ -0,0 +1,28 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
#
class GetAllMediaLibraryMeta < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryType])).void }
def initialize(field_type: nil, type: nil)
@field_type = field_type
@type = type
end
end
end
end

View File

@@ -0,0 +1,214 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unknown
#
class GetAllMediaLibraryMetadata < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
# The art image URL for the media item.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# The audience rating for the media item.
field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
# The number of child items associated with this media item.
field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
# The duration of the media item in milliseconds.
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# The globally unique identifier for the media item.
field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
# The index position of the media item.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# The unique key for the media item.
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# The original release date of the media item.
field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
# The critic rating for the media item.
field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
# The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API.
field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
# The total number of seasons (for TV shows).
field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } }
# A URLfriendly version of the media title.
field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
# A synopsis of the media item.
field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
# A brief tagline for the media item.
field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
# The theme URL for the media item.
field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
# The thumbnail image URL for the media item.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The title of the media item.
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# The sort title used for ordering media items.
field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } }
field :type, ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, false) } }
# The release year of the media item.
field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
# The URL for the audience rating image.
field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
# The source from which chapter data is derived.
field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
field :collection, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCollection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } }
# The content rating for the media item.
field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
# The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available).
field :created_at_accuracy, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtAccuracy') } }
# The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.
field :created_at_tz_offset, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtTZOffset') } }
field :director, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } }
field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
# The art URL for the grandparent media item.
field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } }
# The GUID of the grandparent media item.
field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } }
# The key of the grandparent media item.
field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } }
# The rating key of the grandparent media item.
field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } }
# The slug for the grandparent media item.
field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } }
# The theme URL for the grandparent media item.
field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } }
# The thumbnail URL for the grandparent media item.
field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
# The title of the grandparent media item.
field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
field :guids, T.nilable(T::Array[::PlexRubySDK::Operations::Guids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
field :image, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
# The Unix timestamp representing the last time the item was rated.
field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } }
# Unix timestamp for when the media item was last viewed.
field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
# The number of leaf items (end nodes) under this media item.
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
# The original title of the media item (if different).
field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
# The GUID of the parent media item.
field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } }
# The index position of the parent media item.
field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } }
# The key of the parent media item.
field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } }
# The rating key of the parent media item.
field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } }
# The thumbnail URL for the parent media item.
field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } }
# The title of the parent media item.
field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } }
# The primary extra key associated with this media item.
field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
# The URL for the rating image.
field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
# The number of times this media item has been skipped.
field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
# The studio that produced the media item.
field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } }
# A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip.
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
field :ultra_blur_colors, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
# Unix epoch datetime in seconds
field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
# The rating provided by a user for the item. This value is expressed as a decimal number.
field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } }
# The number of times this media item has been viewed.
field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
# The number of leaf items that have been viewed.
field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } }
# The current playback offset (in milliseconds).
field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } }
field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, originally_available_at: ::Date, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, year: ::Integer, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryGenre]), 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), guids: T.nilable(T::Array[::PlexRubySDK::Operations::Guids]), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryMedia]), 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), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryRole]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryUltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryWriter])).void }
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, originally_available_at: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, year: nil, audience_rating_image: nil, chapter_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: 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, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: 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, rating_image: nil, role: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil)
@added_at = added_at
@art = art
@audience_rating = audience_rating
@child_count = child_count
@duration = duration
@guid = guid
@index = index
@key = key
@originally_available_at = originally_available_at
@rating = rating
@rating_key = rating_key
@season_count = season_count
@slug = slug
@summary = summary
@tagline = tagline
@theme = theme
@thumb = thumb
@title = title
@title_sort = title_sort
@type = type
@year = year
@audience_rating_image = audience_rating_image
@chapter_source = chapter_source
@collection = collection
@content_rating = content_rating
@country = country
@created_at_accuracy = created_at_accuracy
@created_at_tz_offset = created_at_tz_offset
@director = director
@genre = genre
@grandparent_art = grandparent_art
@grandparent_guid = grandparent_guid
@grandparent_key = grandparent_key
@grandparent_rating_key = grandparent_rating_key
@grandparent_slug = grandparent_slug
@grandparent_theme = grandparent_theme
@grandparent_thumb = grandparent_thumb
@grandparent_title = grandparent_title
@guids = guids
@image = image
@last_rated_at = last_rated_at
@last_viewed_at = last_viewed_at
@leaf_count = leaf_count
@media = media
@original_title = original_title
@parent_guid = parent_guid
@parent_index = parent_index
@parent_key = parent_key
@parent_rating_key = parent_rating_key
@parent_thumb = parent_thumb
@parent_title = parent_title
@primary_extra_key = primary_extra_key
@rating_image = rating_image
@role = role
@skip_count = skip_count
@studio = studio
@subtype = subtype
@ultra_blur_colors = ultra_blur_colors
@updated_at = updated_at
@user_rating = user_rating
@view_count = view_count
@viewed_leaf_count = viewed_leaf_count
@view_offset = view_offset
@writer = writer
end
end
end
end

View File

@@ -0,0 +1,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryOperator < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
sig { params(key: ::String, title: ::String).void }
def initialize(key: nil, title: nil)
@key = key
@title = title
end
end
end
end

View File

@@ -0,0 +1,69 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryPart < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# File path for the part.
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
# Unique part identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# Key to access this part.
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# File size in bytes.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# Indicates if the part is accessible.
field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } }
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
# Container format of the part.
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
# Duration of the part in milliseconds.
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# Indicates if the part exists.
field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryHasThumbnail, true) } }
field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } }
# An array of streams for this part.
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
# Video profile for the part.
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
sig { params(file: ::String, id: ::Integer, key: ::String, size: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(::Object), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryStream]), video_profile: T.nilable(::String)).void }
def initialize(file: nil, id: nil, key: nil, size: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, packet_length: nil, stream: nil, video_profile: nil)
@file = file
@id = id
@key = key
@size = size
@accessible = accessible
@audio_profile = audio_profile
@container = container
@duration = duration
@exists = exists
@has64bit_offsets = has64bit_offsets
@has_thumbnail = has_thumbnail
@indexes = indexes
@optimized_for_streaming = optimized_for_streaming
@packet_length = packet_length
@stream = stream
@video_profile = video_profile
end
end
end
end

View File

@@ -0,0 +1,19 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryQueryParamIncludeMeta - Adds the Meta object to the response
#
class GetAllMediaLibraryQueryParamIncludeMeta < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -0,0 +1,29 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetAllMediaLibraryQueryParamType - The type of media to retrieve or filter by.
# 1 = movie
# 2 = show
# 3 = season
# 4 = episode
# E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
#
class GetAllMediaLibraryQueryParamType < T::Enum
enums do
MOVIE = new(1)
TV_SHOW = new(2)
SEASON = new(3)
EPISODE = new(4)
AUDIO = new(8)
ALBUM = new(9)
TRACK = new(10)
end
end
end
end

View File

@@ -0,0 +1,64 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The unique key of the Plex library.
# Note: This is unique in the context of the Plex server.
#
field :section_key, ::Integer, { 'path_param': { 'field_name': 'sectionKey', 'style': 'simple', 'explode': false } }
# The type of media to retrieve or filter by.
# 1 = movie
# 2 = show
# 3 = season
# 4 = episode
# E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
#
field :type, ::PlexRubySDK::Operations::GetAllMediaLibraryQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } }
field :include_advanced, T.nilable(::PlexRubySDK::Operations::IncludeAdvanced), { 'query_param': { 'field_name': 'includeAdvanced', 'style': 'form', 'explode': true } }
field :include_collections, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }
field :include_external_media, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
# Adds the Guid object to the response
#
field :include_guids, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } }
# Adds the Meta object to the response
#
field :include_meta, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryQueryParamIncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } }
# The number of items to return. If not specified, all items will be returned.
# If the number of items exceeds the limit, the response will be paginated.
# By default this is 50
#
field :x_plex_container_size, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Size', 'style': 'form', 'explode': true } }
# The index of the first item to return. If not specified, the first item will be returned.
# If the number of items exceeds the limit, the response will be paginated.
# By default this is 0
#
field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } }
sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::GetAllMediaLibraryQueryParamType, include_advanced: T.nilable(::PlexRubySDK::Operations::IncludeAdvanced), include_collections: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), include_external_media: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), include_guids: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeGuids), include_meta: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryQueryParamIncludeMeta), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void }
def initialize(section_key: nil, type: nil, include_advanced: nil, include_collections: nil, include_external_media: nil, include_guids: nil, include_meta: nil, x_plex_container_size: nil, x_plex_container_start: nil)
@section_key = section_key
@type = type
@include_advanced = include_advanced
@include_collections = include_collections
@include_external_media = include_external_media
@include_guids = include_guids
@include_meta = include_meta
@x_plex_container_size = x_plex_container_size
@x_plex_container_start = x_plex_container_start
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryBadRequest)
# Successful response containing media container data.
field :object, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryResponseBody)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, object: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@object = object
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Successful response containing media container data.
class GetAllMediaLibraryResponseBody < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :media_container, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
sig { params(media_container: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryMediaContainer)).void }
def initialize(media_container: nil)
@media_container = media_container
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryRole < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The name of the actor for this role
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,47 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibrarySort < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The direction of the sort. Can be either `asc` or `desc`.
#
field :default_direction, ::PlexRubySDK::Operations::GetAllMediaLibraryDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryDefaultDirection, false) } }
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
# The direction of the sort. Can be either `asc` or `desc`.
#
field :active_direction, T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryActiveDirection, true) } }
field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } }
field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } }
sig { params(default_direction: ::PlexRubySDK::Operations::GetAllMediaLibraryDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void }
def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil)
@default_direction = default_direction
@key = key
@title = title
@active = active
@active_direction = active_direction
@default = default
@desc_key = desc_key
@first_character_key = first_character_key
end
end
end
end

View File

@@ -0,0 +1,162 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryStream < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Codec used by the stream.
field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
# Display title for the stream.
field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
# Extended display title for the stream.
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
# Unique stream identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# Index of the stream.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Language of the stream.
field :language, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
# ISO language code.
field :language_code, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
# Language tag (e.g., en).
field :language_tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
# Stream type (1=video, 2=audio, 3=subtitle).
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
# Audio channel layout.
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# Bit depth of the video stream.
field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
# Bitrate of the stream.
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# Indicates if the stream can auto-sync.
field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
# Number of audio channels (for audio streams).
field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } }
# Chroma sample location.
field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
# Chroma subsampling format.
field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
# Coded video height.
field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
# Coded video width.
field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
# Color primaries used.
field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
# Color range (e.g., tv).
field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
# Color space.
field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
# Color transfer characteristics.
field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
# Indicates if this stream is default.
field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
# Dolby Vision BL compatibility ID.
field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } }
# Indicates if Dolby Vision BL is present.
field :dovibl_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLPresent') } }
# Indicates if Dolby Vision EL is present.
field :doviel_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIELPresent') } }
# Dolby Vision level.
field :dovi_level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVILevel') } }
# Indicates if Dolby Vision is present.
field :dovi_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIPresent') } }
# Dolby Vision profile.
field :dovi_profile, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIProfile') } }
# Indicates if Dolby Vision RPU is present.
field :dovirpu_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIRPUPresent') } }
# Dolby Vision version.
field :dovi_version, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIVersion') } }
# Indicates if the stream is a dub.
field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
# Frame rate of the stream.
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
# Indicates whether header compression is enabled.
field :header_compression, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('headerCompression') } }
# Indicates if the stream is for the hearing impaired.
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# Height of the video stream.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Video level.
field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
# Indicates if this is the original stream.
field :original, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('original') } }
# Video profile.
field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } }
# Number of reference frames.
field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } }
# Sampling rate for the audio stream.
field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } }
field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
# Indicates if this stream is selected (applicable for audio streams).
field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } }
# Optional title for the stream (e.g., language variant).
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# Width of the video stream.
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(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), bitrate: 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), header_compression: 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 }
def initialize(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, bitrate: 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, header_compression: 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)
@codec = codec
@display_title = display_title
@extended_display_title = extended_display_title
@id = id
@index = index
@language = language
@language_code = language_code
@language_tag = language_tag
@stream_type = stream_type
@audio_channel_layout = audio_channel_layout
@bit_depth = bit_depth
@bitrate = bitrate
@can_auto_sync = can_auto_sync
@channels = channels
@chroma_location = chroma_location
@chroma_subsampling = chroma_subsampling
@coded_height = coded_height
@coded_width = coded_width
@color_primaries = color_primaries
@color_range = color_range
@color_space = color_space
@color_trc = color_trc
@default = default
@dovibl_compat_id = dovibl_compat_id
@dovibl_present = dovibl_present
@doviel_present = doviel_present
@dovi_level = dovi_level
@dovi_present = dovi_present
@dovi_profile = dovi_profile
@dovirpu_present = dovirpu_present
@dovi_version = dovi_version
@dub = dub
@forced = forced
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@header_compression = header_compression
@hearing_impaired = hearing_impaired
@height = height
@level = level
@original = original
@profile = profile
@ref_frames = ref_frames
@sampling_rate = sampling_rate
@scan_type = scan_type
@selected = selected
@title = title
@width = width
end
end
end
end

View File

@@ -0,0 +1,45 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryType < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } }
field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } }
field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibrarySort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibrarySort]), subtype: T.nilable(::String)).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
@active = active
@key = key
@title = title
@type = type
@field = field
@filter = filter
@sort = sort
@subtype = subtype
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryUltraBlurColors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :bottom_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomLeft') } }
field :bottom_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomRight') } }
field :top_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topLeft') } }
field :top_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topRight') } }
sig { params(bottom_left: ::String, bottom_right: ::String, top_left: ::String, top_right: ::String).void }
def initialize(bottom_left: nil, bottom_right: nil, top_left: nil, top_right: nil)
@bottom_left = bottom_left
@bottom_right = bottom_right
@top_left = top_left
@top_right = top_right
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class GetAllMediaLibraryUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryLibraryErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllMediaLibraryWriter < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The role of Writer
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: ::String).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -11,40 +11,36 @@ module PlexRubySDK
class GetCountriesLibraryMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicates whether syncing is allowed.
field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
# URL for the background artwork of the media container.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# The content type or mode.
field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } }
# An plugin identifier for the media container.
field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
# The prefix used for media tag resource paths.
field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
# The version number for media tags.
field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
# Specifies whether caching is disabled.
field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# Number of media items returned in this response.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# URL for the thumbnail image of the media container.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The primary title of the media container.
field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } }
# The secondary title of the media container.
field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } }
# Identifier for the view group layout.
field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } }
field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetCountriesLibraryDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
field :offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } }
field :total_size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Float, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetCountriesLibraryDirectory]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil, offset: nil, total_size: nil)
sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetCountriesLibraryDirectory])).void }
def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil)
@allow_sync = allow_sync
@art = art
@content = content
@@ -58,8 +54,6 @@ module PlexRubySDK
@title2 = title2
@view_group = view_group
@directory = directory
@offset = offset
@total_size = total_size
end
end
end

View File

@@ -11,40 +11,36 @@ module PlexRubySDK
class GetGenresLibraryMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicates whether syncing is allowed.
field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
# URL for the background artwork of the media container.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# The content type or mode.
field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } }
# An plugin identifier for the media container.
field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
# The prefix used for media tag resource paths.
field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
# The version number for media tags.
field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
# Specifies whether caching is disabled.
field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# Number of media items returned in this response.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# URL for the thumbnail image of the media container.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The primary title of the media container.
field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } }
# The secondary title of the media container.
field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } }
# Identifier for the view group layout.
field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } }
field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetGenresLibraryDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
field :offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } }
field :total_size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Float, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetGenresLibraryDirectory]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil, offset: nil, total_size: nil)
sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetGenresLibraryDirectory])).void }
def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil)
@allow_sync = allow_sync
@art = art
@content = content
@@ -58,8 +54,6 @@ module PlexRubySDK
@title2 = title2
@view_group = view_group
@directory = directory
@offset = offset
@total_size = total_size
end
end
end

View File

@@ -22,14 +22,17 @@ module PlexRubySDK
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
@filter = filter
@filter_type = filter_type
@key = key
@title = title
@type = type
@advanced = advanced
end
end
end

View File

@@ -15,6 +15,8 @@ module PlexRubySDK
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
ARTIST = new('artist')
ALBUM = new('album')
end
end
end

View File

@@ -26,9 +26,11 @@ module PlexRubySDK
field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort])).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), subtype: T.nilable(::String)).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
@active = active
@key = key
@title = title
@@ -36,6 +38,7 @@ module PlexRubySDK
@field = field
@filter = filter
@sort = sort
@subtype = subtype
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetMediaMetaDataGuids < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The GUID value.
field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
sig { params(id: ::String).void }
def initialize(id: nil)
@id = id
end
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetMediaMetaDataHasThumbnail - Indicates if the part has a thumbnail.
class GetMediaMetaDataHasThumbnail < T::Enum
enums do
FALSE = new('0')
TRUE = new('1')
end
end
end
end

View File

@@ -11,50 +11,63 @@ module PlexRubySDK
class GetMediaMetaDataMedia < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Aspect ratio of the video.
field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
# Number of audio channels.
field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
# Audio codec used.
field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
# Bitrate in bits per second.
field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# File container type.
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
# Duration of the media in milliseconds.
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# Indicates whether voice activity is detected.
field :has_voice_activity, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
# Video height in pixels.
field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Unique media identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# An array of parts for this media item.
field :part, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
# Aspect ratio of the video.
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
# Number of audio channels.
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
# Audio codec used.
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
# Bitrate in bits per second.
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# File container type.
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
# Duration of the media in milliseconds.
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
# Video height in pixels.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
# Video codec used.
field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
# Frame rate of the video (e.g., 24p).
field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
# Frame rate of the video. Values found include NTSC, PAL, 24p
#
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
# Video profile (e.g., main 10).
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
# Video resolution (e.g., 4k).
field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
# Video width in pixels.
field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
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 }
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)
sig { params(has_voice_activity: T::Boolean, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::Object), 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 }
def initialize(has_voice_activity: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
@has_voice_activity = has_voice_activity
@id = id
@part = part
@aspect_ratio = aspect_ratio
@audio_channels = audio_channels
@audio_codec = audio_codec
@audio_profile = audio_profile
@bitrate = bitrate
@container = container
@display_offset = display_offset
@duration = duration
@has_voice_activity = has_voice_activity
@has64bit_offsets = has64bit_offsets
@height = height
@id = id
@part = part
@optimized_for_streaming = optimized_for_streaming
@video_codec = video_codec
@video_frame_rate = video_frame_rate
@video_profile = video_profile

View File

@@ -25,13 +25,13 @@ module PlexRubySDK
field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
# An array of metadata items.
field :metadata, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# Number of media items returned in this response.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# The universally unique identifier for the library section.
field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
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 }
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: ::Integer, library_section_uuid: T.nilable(::String)).void }
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)
@allow_sync = allow_sync
@identifier = identifier

View File

@@ -11,22 +11,14 @@ module PlexRubySDK
class GetMediaMetaDataMetadata < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Unix timestamp when the item was added.
field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
# URL of the art image.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# The audience rating for the content.
field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
# The URL for the audience rating image.
field :audience_rating_image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
# The content rating (e.g., TV-MA).
field :content_rating, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
# Duration of the content in milliseconds.
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# The globally unique identifier for the item.
field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
# An array of GUID objects.
field :guids, T::Array[::PlexRubySDK::Operations::Guids], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
# An array of image objects.
field :image, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
# The API key to access metadata details.
@@ -37,10 +29,6 @@ module PlexRubySDK
field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
# The title of the library section.
field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
# The original release date.
field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
# An array of rating objects.
field :rating, T::Array[::PlexRubySDK::Operations::Rating], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
# The rating key of the metadata item.
field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
# A summary of the content.
@@ -53,14 +41,20 @@ module PlexRubySDK
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :ultra_blur_colors, ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
# Unix timestamp when the item was last updated.
field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
# The release year.
field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
# The audience rating for the content.
field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
# The URL for the audience rating image.
field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
# The number of child items.
field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
# The content rating (e.g., TV-MA).
field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
# An array of country tags.
field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
# An array of Director roles.
@@ -81,6 +75,8 @@ module PlexRubySDK
field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
# The title of the grandparent entity (typically the show's title).
field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
# An array of GUID objects.
field :guids, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
# The index or order of the item.
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Unix timestamp of when the item was last viewed.
@@ -91,6 +87,8 @@ module PlexRubySDK
field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
# The original release date.
field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
# The original title of the content.
field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
# A GUID identifying the parent entity (e.g., season) for the item.
@@ -109,6 +107,12 @@ module PlexRubySDK
field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
# An array of Writer roles.
field :producer, T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
# The general rating
field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
# The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
# An array of rating objects.
field :ratings, T.nilable(T::Array[::PlexRubySDK::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
# An array of Actor roles.
field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
# An array of similar content objects.
@@ -131,23 +135,17 @@ module PlexRubySDK
field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
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 }
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)
sig { params(added_at: ::Integer, art: ::String, duration: ::Integer, guid: ::String, image: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, rating_key: ::String, summary: ::String, thumb: ::String, title: ::String, type: ::String, ultra_blur_colors: ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, updated_at: ::Integer, year: ::Integer, audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), content_rating: T.nilable(::String), 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), guids: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGuids]), 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]), 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_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), rating: T.nilable(::Float), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[::PlexRubySDK::Operations::Ratings]), 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 }
def initialize(added_at: nil, art: nil, duration: nil, guid: nil, image: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, rating_key: nil, summary: nil, thumb: nil, title: nil, type: nil, ultra_blur_colors: nil, updated_at: nil, year: nil, audience_rating: nil, audience_rating_image: nil, chapter_source: nil, child_count: nil, content_rating: 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, guids: nil, index: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, originally_available_at: 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, rating: nil, rating_image: nil, ratings: 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)
@added_at = added_at
@art = art
@audience_rating = audience_rating
@audience_rating_image = audience_rating_image
@content_rating = content_rating
@duration = duration
@guid = guid
@guids = guids
@image = image
@key = key
@library_section_id = library_section_id
@library_section_key = library_section_key
@library_section_title = library_section_title
@originally_available_at = originally_available_at
@rating = rating
@rating_key = rating_key
@summary = summary
@thumb = thumb
@@ -156,8 +154,11 @@ module PlexRubySDK
@ultra_blur_colors = ultra_blur_colors
@updated_at = updated_at
@year = year
@audience_rating = audience_rating
@audience_rating_image = audience_rating_image
@chapter_source = chapter_source
@child_count = child_count
@content_rating = content_rating
@country = country
@director = director
@genre = genre
@@ -168,11 +169,13 @@ module PlexRubySDK
@grandparent_slug = grandparent_slug
@grandparent_thumb = grandparent_thumb
@grandparent_title = grandparent_title
@guids = guids
@index = index
@last_viewed_at = last_viewed_at
@leaf_count = leaf_count
@location = location
@media = media
@originally_available_at = originally_available_at
@original_title = original_title
@parent_guid = parent_guid
@parent_index = parent_index
@@ -182,6 +185,9 @@ module PlexRubySDK
@parent_title = parent_title
@primary_extra_key = primary_extra_key
@producer = producer
@rating = rating
@rating_image = rating_image
@ratings = ratings
@role = role
@similar = similar
@skip_count = skip_count

View File

@@ -11,10 +11,6 @@ module PlexRubySDK
class GetMediaMetaDataPart < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Container format of the part.
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
# Duration of the part in milliseconds.
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# File path for the part.
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
# Unique part identifier.
@@ -23,31 +19,50 @@ module PlexRubySDK
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# File size in bytes.
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
# An array of streams for this part.
field :stream, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
# Video profile for the part.
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
# Indicates if the part is accessible.
field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } }
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
# Container format of the part.
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
# Duration of the part in milliseconds.
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# Indicates if the part exists.
field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail, true) } }
field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } }
# An array of streams for this part.
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
# Video profile for the part.
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
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 }
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)
@container = container
@duration = duration
sig { params(file: ::String, id: ::Integer, key: ::String, size: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(::Object), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream]), video_profile: T.nilable(::String)).void }
def initialize(file: nil, id: nil, key: nil, size: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, packet_length: nil, stream: nil, video_profile: nil)
@file = file
@id = id
@key = key
@size = size
@accessible = accessible
@audio_profile = audio_profile
@container = container
@duration = duration
@exists = exists
@has64bit_offsets = has64bit_offsets
@has_thumbnail = has_thumbnail
@indexes = indexes
@optimized_for_streaming = optimized_for_streaming
@packet_length = packet_length
@stream = stream
@video_profile = video_profile
@accessible = accessible
@exists = exists
@indexes = indexes
end
end
end

View File

@@ -11,8 +11,6 @@ module PlexRubySDK
class GetMediaMetaDataStream < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Bitrate of the stream.
field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# Codec used by the stream.
field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
# Display title for the stream.
@@ -35,6 +33,8 @@ module PlexRubySDK
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# Bit depth of the video stream.
field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
# Bitrate of the stream.
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# Indicates if the stream can auto-sync.
field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
# Number of audio channels (for audio streams).
@@ -81,6 +81,8 @@ module PlexRubySDK
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
# Indicates whether header compression is enabled.
field :header_compression, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('headerCompression') } }
# Indicates if the stream is for the hearing impaired.
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# Height of the video stream.
@@ -105,9 +107,8 @@ module PlexRubySDK
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
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 }
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)
@bitrate = bitrate
sig { params(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), bitrate: 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), header_compression: 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 }
def initialize(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, bitrate: 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, header_compression: 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)
@codec = codec
@display_title = display_title
@extended_display_title = extended_display_title
@@ -119,6 +120,7 @@ module PlexRubySDK
@stream_type = stream_type
@audio_channel_layout = audio_channel_layout
@bit_depth = bit_depth
@bitrate = bitrate
@can_auto_sync = can_auto_sync
@channels = channels
@chroma_location = chroma_location
@@ -142,6 +144,7 @@ module PlexRubySDK
@forced = forced
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@header_compression = header_compression
@hearing_impaired = hearing_impaired
@height = height
@level = level

View File

@@ -22,14 +22,17 @@ module PlexRubySDK
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
@filter = filter
@filter_type = filter_type
@key = key
@title = title
@type = type
@advanced = advanced
end
end
end

View File

@@ -15,6 +15,8 @@ module PlexRubySDK
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
ARTIST = new('artist')
ALBUM = new('album')
end
end
end

View File

@@ -22,14 +22,17 @@ module PlexRubySDK
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
@filter = filter
@filter_type = filter_type
@key = key
@title = title
@type = type
@advanced = advanced
end
end
end

View File

@@ -26,9 +26,11 @@ module PlexRubySDK
field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort])).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), subtype: T.nilable(::String)).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
@active = active
@key = key
@title = title
@@ -36,6 +38,7 @@ module PlexRubySDK
@field = field
@filter = filter
@sort = sort
@subtype = subtype
end
end
end

View File

@@ -12,7 +12,7 @@ module PlexRubySDK
extend T::Sig
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
@@ -28,7 +28,7 @@ module PlexRubySDK
field :total_size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
sig { params(size: ::Float, allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
sig { params(size: ::Integer, allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
def initialize(size: nil, allow_sync: nil, identifier: nil, meta: nil, metadata: nil, offset: nil, total_size: nil)
@size = size
@allow_sync = allow_sync

View File

@@ -26,9 +26,11 @@ module PlexRubySDK
field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort])).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort]), subtype: T.nilable(::String)).void }
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
@active = active
@key = key
@title = title
@@ -36,6 +38,7 @@ module PlexRubySDK
@field = field
@filter = filter
@sort = sort
@subtype = subtype
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetSearchAllLibrariesQueryParamIncludeCollections - Whether to include collections in the search results.
class GetSearchAllLibrariesQueryParamIncludeCollections < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetSearchAllLibrariesQueryParamIncludeExternalMedia - Whether to include external media in the search results.
class GetSearchAllLibrariesQueryParamIncludeExternalMedia < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -16,9 +16,9 @@ module PlexRubySDK
# The search query term.
field :query, ::String, { 'query_param': { 'field_name': 'query', 'style': 'form', 'explode': true } }
# Whether to include collections in the search results.
field :include_collections, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }
field :include_collections, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }
# Whether to include external media in the search results.
field :include_external_media, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
field :include_external_media, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeExternalMedia), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
# Limit the number of results returned.
field :limit, T.nilable(::Integer), { 'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': true } }
# A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.
@@ -26,7 +26,7 @@ module PlexRubySDK
field :search_types, T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes]), { 'query_param': { 'field_name': 'searchTypes', 'style': 'form', 'explode': false } }
sig { params(client_id: ::String, query: ::String, include_collections: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), include_external_media: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), limit: T.nilable(::Integer), search_types: T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes])).void }
sig { params(client_id: ::String, query: ::String, include_collections: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeCollections), include_external_media: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeExternalMedia), limit: T.nilable(::Integer), search_types: T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes])).void }
def initialize(client_id: nil, query: nil, include_collections: nil, include_external_media: nil, limit: nil, search_types: nil)
@client_id = client_id
@query = query

View File

@@ -15,6 +15,8 @@ module PlexRubySDK
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
ARTIST = new('artist')
ALBUM = new('album')
end
end
end

View File

@@ -11,11 +11,12 @@ module PlexRubySDK
class Guids < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The GUID value.
field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
#
field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
sig { params(id: ::String).void }
sig { params(id: T.nilable(::String)).void }
def initialize(id: nil)
@id = id
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# IncludeAdvanced
class IncludeAdvanced < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -7,7 +7,7 @@
module PlexRubySDK
module Operations
# QueryParamIncludeCollections - Whether to include collections in the search results.
# QueryParamIncludeCollections
class QueryParamIncludeCollections < T::Enum
enums do
DISABLE = new(0)

View File

@@ -7,7 +7,7 @@
module PlexRubySDK
module Operations
# QueryParamIncludeExternalMedia - Whether to include external media in the search results.
# QueryParamIncludeExternalMedia
class QueryParamIncludeExternalMedia < T::Enum
enums do
DISABLE = new(0)

View File

@@ -0,0 +1,19 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# QueryParamIncludeGuids - Adds the Guid object to the response
#
class QueryParamIncludeGuids < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -8,7 +8,7 @@ module PlexRubySDK
module Operations
class Rating < ::PlexRubySDK::Utils::FieldAugmented
class Ratings < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The image or reference for the rating.

View File

@@ -10,7 +10,6 @@ module PlexRubySDK
# Tag - A key representing a specific tag within the section.
class Tag < T::Enum
enums do
ALL = new('all')
UNWATCHED = new('unwatched')
NEWEST = new('newest')
RECENTLY_ADDED = new('recentlyAdded')
@@ -18,12 +17,9 @@ module PlexRubySDK
ON_DECK = new('onDeck')
COLLECTION = new('collection')
EDITION = new('edition')
GENRE = new('genre')
YEAR = new('year')
DECADE = new('decade')
DIRECTOR = new('director')
ACTOR = new('actor')
COUNTRY = new('country')
CONTENT_RATING = new('contentRating')
RATING = new('rating')
RESOLUTION = new('resolution')