ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.406.0

This commit is contained in:
speakeasybot
2024-10-03 00:09:32 +00:00
parent d8100e0e9a
commit 0e73ee21f2
155 changed files with 2883 additions and 1722 deletions

View File

@@ -170,16 +170,14 @@ module PlexRubySDK
})
base_url = server_url if !server_url.nil?
url = "#{base_url}/users/signin"
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :form)
headers['content-type'] = req_content_type
query_params = Utils.get_query_params(::PlexRubySDK::Operations::PostUsersSignInDataRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
req.params = query_params
if form
req.body = Utils.encode_form(form)
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')

View File

@@ -487,6 +487,50 @@ module PlexRubySDK
end
sig { params(request: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesRequest)).returns(::PlexRubySDK::Operations::GetSearchAllLibrariesResponse) }
def get_search_all_libraries(request)
# get_search_all_libraries - Search All Libraries
# Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/search"
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetSearchAllLibrariesRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetSearchAllLibrariesResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchAllLibrariesUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(rating_key: ::Integer).returns(::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponse) }
def get_meta_data_by_rating_key(rating_key)
# get_meta_data_by_rating_key - Get Metadata by RatingKey

View File

@@ -165,7 +165,7 @@ module PlexRubySDK
request,
@sdk_configuration.globals
)
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetBannerImageRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
headers['user-agent'] = @sdk_configuration.user_agent
@@ -213,7 +213,7 @@ module PlexRubySDK
request,
@sdk_configuration.globals
)
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetThumbImageRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
headers['user-agent'] = @sdk_configuration.user_agent

View File

@@ -257,6 +257,7 @@ module PlexRubySDK
autoload :Writer, 'plex_ruby_sdk/models/operations/writer.rb'
autoload :Collection, 'plex_ruby_sdk/models/operations/collection.rb'
autoload :Role, 'plex_ruby_sdk/models/operations/role.rb'
autoload :Location, 'plex_ruby_sdk/models/operations/location.rb'
autoload :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb'
autoload :UltraBlurColors, 'plex_ruby_sdk/models/operations/ultrablurcolors.rb'
autoload :MetaDataRating, 'plex_ruby_sdk/models/operations/metadatarating.rb'
@@ -349,7 +350,7 @@ module PlexRubySDK
autoload :GetAllLibrariesUnauthorized, 'plex_ruby_sdk/models/operations/get_all_libraries_unauthorized.rb'
autoload :GetAllLibrariesErrors, 'plex_ruby_sdk/models/operations/get_all_libraries_errors.rb'
autoload :GetAllLibrariesBadRequest, 'plex_ruby_sdk/models/operations/get_all_libraries_badrequest.rb'
autoload :Location, 'plex_ruby_sdk/models/operations/location.rb'
autoload :GetAllLibrariesLocation, 'plex_ruby_sdk/models/operations/get_all_libraries_location.rb'
autoload :GetAllLibrariesDirectory, 'plex_ruby_sdk/models/operations/get_all_libraries_directory.rb'
autoload :GetAllLibrariesMediaContainer, 'plex_ruby_sdk/models/operations/get_all_libraries_mediacontainer.rb'
autoload :GetAllLibrariesResponseBody, 'plex_ruby_sdk/models/operations/get_all_libraries_responsebody.rb'
@@ -407,6 +408,7 @@ module PlexRubySDK
autoload :GetLibraryItemsWriter, 'plex_ruby_sdk/models/operations/get_library_items_writer.rb'
autoload :GetLibraryItemsCollection, 'plex_ruby_sdk/models/operations/get_library_items_collection.rb'
autoload :GetLibraryItemsRole, 'plex_ruby_sdk/models/operations/get_library_items_role.rb'
autoload :GetLibraryItemsLocation, 'plex_ruby_sdk/models/operations/get_library_items_location.rb'
autoload :GetLibraryItemsMediaGuid, 'plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb'
autoload :GetLibraryItemsUltraBlurColors, 'plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb'
autoload :GetLibraryItemsMetaDataRating, 'plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb'
@@ -442,6 +444,39 @@ module PlexRubySDK
autoload :GetSearchLibraryMediaContainer, 'plex_ruby_sdk/models/operations/get_search_library_mediacontainer.rb'
autoload :GetSearchLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_search_library_responsebody.rb'
autoload :GetSearchLibraryResponse, 'plex_ruby_sdk/models/operations/get_search_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 :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'
autoload :GetSearchAllLibrariesErrors, 'plex_ruby_sdk/models/operations/get_search_all_libraries_errors.rb'
autoload :GetSearchAllLibrariesBadRequest, 'plex_ruby_sdk/models/operations/get_search_all_libraries_badrequest.rb'
autoload :GetSearchAllLibrariesType, 'plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb'
autoload :GetSearchAllLibrariesFlattenSeasons, 'plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb'
autoload :GetSearchAllLibrariesShowOrdering, 'plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb'
autoload :GetSearchAllLibrariesOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb'
autoload :GetSearchAllLibrariesHasThumbnail, 'plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb'
autoload :GetSearchAllLibrariesStream, 'plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb'
autoload :GetSearchAllLibrariesPart, 'plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb'
autoload :GetSearchAllLibrariesMedia, 'plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb'
autoload :GetSearchAllLibrariesGenre, 'plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb'
autoload :GetSearchAllLibrariesCountry, 'plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb'
autoload :GetSearchAllLibrariesDirector, 'plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb'
autoload :GetSearchAllLibrariesWriter, 'plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb'
autoload :GetSearchAllLibrariesCollection, 'plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb'
autoload :GetSearchAllLibrariesRole, 'plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb'
autoload :GetSearchAllLibrariesLocation, 'plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb'
autoload :GetSearchAllLibrariesMediaGuid, 'plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb'
autoload :GetSearchAllLibrariesUltraBlurColors, 'plex_ruby_sdk/models/operations/get_search_all_libraries_ultrablurcolors.rb'
autoload :GetSearchAllLibrariesMetaDataRating, 'plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb'
autoload :GetSearchAllLibrariesLibraryType, 'plex_ruby_sdk/models/operations/get_search_all_libraries_library_type.rb'
autoload :GetSearchAllLibrariesImage, 'plex_ruby_sdk/models/operations/get_search_all_libraries_image.rb'
autoload :GetSearchAllLibrariesMetadata, 'plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb'
autoload :SearchResult, 'plex_ruby_sdk/models/operations/searchresult.rb'
autoload :GetSearchAllLibrariesMediaContainer, 'plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb'
autoload :GetSearchAllLibrariesResponseBody, 'plex_ruby_sdk/models/operations/get_search_all_libraries_responsebody.rb'
autoload :GetSearchAllLibrariesResponse, 'plex_ruby_sdk/models/operations/get_search_all_libraries_response.rb'
autoload :GetMetaDataByRatingKeyRequest, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_request.rb'
autoload :GetMetaDataByRatingKeyLibraryErrors, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_library_errors.rb'
autoload :GetMetaDataByRatingKeyUnauthorized, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_unauthorized.rb'
@@ -638,10 +673,8 @@ module PlexRubySDK
autoload :UserProfile, 'plex_ruby_sdk/models/operations/userprofile.rb'
autoload :GetTokenDetailsStatus, 'plex_ruby_sdk/models/operations/gettokendetails_status.rb'
autoload :Services, 'plex_ruby_sdk/models/operations/services.rb'
autoload :Features, 'plex_ruby_sdk/models/operations/features.rb'
autoload :GetTokenDetailsAuthenticationStatus, 'plex_ruby_sdk/models/operations/gettokendetails_authentication_status.rb'
autoload :Subscription, 'plex_ruby_sdk/models/operations/subscription.rb'
autoload :GetTokenDetailsFeatures, 'plex_ruby_sdk/models/operations/gettokendetails_features.rb'
autoload :GetTokenDetailsAuthenticationResponseStatus, 'plex_ruby_sdk/models/operations/gettokendetails_authentication_response_status.rb'
autoload :GetTokenDetailsSubscription, 'plex_ruby_sdk/models/operations/gettokendetails_subscription.rb'
autoload :GetTokenDetailsUserPlexAccount, 'plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb'
@@ -661,10 +694,8 @@ module PlexRubySDK
autoload :PostUsersSignInDataUserProfile, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_userprofile.rb'
autoload :PostUsersSignInDataStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_status.rb'
autoload :PostUsersSignInDataServices, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_services.rb'
autoload :PostUsersSignInDataFeatures, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_features.rb'
autoload :PostUsersSignInDataAuthenticationStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_status.rb'
autoload :PostUsersSignInDataSubscription, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_subscription.rb'
autoload :PostUsersSignInDataAuthenticationFeatures, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_features.rb'
autoload :PostUsersSignInDataAuthenticationResponseStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_response_status.rb'
autoload :PostUsersSignInDataAuthenticationSubscription, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_subscription.rb'
autoload :PostUsersSignInDataState, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_state.rb'

View File

@@ -1,114 +0,0 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
FEATURES_SERVERS = [
'https://plex.tv/api/v2'
].freeze
class Features < T::Enum
enums do
ANDROID_DOLBY_VISION = new('Android - Dolby Vision')
ANDROID_PI_P = new('Android - PiP')
CU_SUNSET = new('CU Sunset')
HRK_ENABLE_EUR = new('HRK_enable_EUR')
TREBLE_SHOW_FEATURES = new('TREBLE-show-features')
AD_COUNTDOWN_TIMER = new('ad-countdown-timer')
ADAPTIVE_BITRATE = new('adaptive_bitrate')
ALBUM_TYPES = new('album-types')
ALLOW_DVR = new('allow_dvr')
AMAZON_LOOP_DEBUG = new('amazon-loop-debug')
AVOD_AD_ANALYSIS = new('avod-ad-analysis')
AVOD_NEW_MEDIA = new('avod-new-media')
BLACKLIST_GET_SIGNIN = new('blacklist_get_signin')
BOOST_VOICES = new('boost-voices')
CAMERA_UPLOAD = new('camera_upload')
CLIENT_RADIO_STATIONS = new('client-radio-stations')
CLOUDFLARE_TURNSTILE_REQUIRED = new('cloudflare-turnstile-required')
CLOUDSYNC = new('cloudsync')
COLLECTIONS = new('collections')
COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = new('comments_and_replies_push_notifications')
COMMUNITY_ACCESS_PLEX_TV = new('community_access_plex_tv')
COMPANIONS_SONOS = new('companions_sonos')
CONTENT_FILTER = new('content_filter')
CUSTOM_HOME_REMOVAL = new('custom-home-removal')
DISABLE_HOME_USER_FRIENDSHIPS = new('disable_home_user_friendships')
DISABLE_SHARING_FRIENDSHIPS = new('disable_sharing_friendships')
DOWNLOADS_GATING = new('downloads-gating')
DRM_SUPPORT = new('drm_support')
DVR = new('dvr')
DVR_BLOCK_UNSUPPORTED_COUNTRIES = new('dvr-block-unsupported-countries')
EPG_RECENT_CHANNELS = new('epg-recent-channels')
EXCLUDE_RESTRICTIONS = new('exclude restrictions')
FEDERATED_AUTH = new('federated-auth')
FRIEND_REQUEST_PUSH_NOTIFICATIONS = new('friend_request_push_notifications')
GRANDFATHER_SYNC = new('grandfather-sync')
GUIDED_UPGRADE = new('guided-upgrade')
HARDWARE_TRANSCODING = new('hardware_transcoding')
HOME = new('home')
HWTRANSCODE = new('hwtranscode')
IMAGGA_V2 = new('imagga-v2')
INCREASE_PASSWORD_COMPLEXITY = new('increase-password-complexity')
IOS14_PRIVACY_BANNER = new('ios14-privacy-banner')
ITERABLE_NOTIFICATION_TOKENS = new('iterable-notification-tokens')
ITEM_CLUSTERS = new('item_clusters')
KEEP_PAYMENT_METHOD = new('keep-payment-method')
KEVIN_BACON = new('kevin-bacon')
KOREA_CONSENT = new('korea-consent')
LE_ISRG_ROOT_X1 = new('le_isrg_root_x1')
LETS_ENCRYPT = new('lets_encrypt')
LIGHTNING_DVR_PIVOT = new('lightning-dvr-pivot')
LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = new('live-tv-support-incomplete-segments')
LIVETV = new('livetv')
LYRICS = new('lyrics')
METADATA_SEARCH = new('metadata_search')
MUSIC_ANALYSIS = new('music-analysis')
MUSIC_VIDEOS = new('music_videos')
NEW_PLEX_PASS_PRICES = new('new_plex_pass_prices')
NEWS_PROVIDER_SUNSET_MODAL = new('news-provider-sunset-modal')
NOMINATIM = new('nominatim')
PASS = new('pass')
PHOTOS_FAVORITES = new('photos-favorites')
PHOTOS_METADATA_EDITION = new('photos-metadata-edition')
PHOTOS_V6_EDIT = new('photosV6-edit')
PHOTOS_V6_TV_ALBUMS = new('photosV6-tv-albums')
PMS_HEALTH = new('pms_health')
PREMIUM_DASHBOARD = new('premium-dashboard')
PREMIUM_MUSIC_METADATA = new('premium_music_metadata')
RADIO = new('radio')
RATE_LIMIT_CLIENT_TOKEN = new('rate-limit-client-token')
SCROBBLING_SERVICE_PLEX_TV = new('scrobbling-service-plex-tv')
SESSION_BANDWIDTH_RESTRICTIONS = new('session_bandwidth_restrictions')
SESSION_KICK = new('session_kick')
SHARED_SERVER_NOTIFICATION = new('shared_server_notification')
SHARED_SOURCE_NOTIFICATION = new('shared_source_notification')
SIGNIN_NOTIFICATION = new('signin_notification')
SIGNIN_WITH_APPLE = new('signin_with_apple')
SILENCE_REMOVAL = new('silence-removal')
SLEEP_TIMER = new('sleep-timer')
SPRING_SERVE_AD_PROVIDER = new('spring_serve_ad_provider')
SYNC = new('sync')
SWEET_FADES = new('sweet-fades')
TRANSCODER_CACHE = new('transcoder_cache')
TRAILERS = new('trailers')
TUNER_SHARING = new('tuner-sharing')
TWO_FACTOR_AUTHENTICATION = new('two-factor-authentication')
UNSUPPORTEDTUNERS = new('unsupportedtuners')
UPGRADE_3DS2 = new('upgrade-3ds2')
VISUALIZERS = new('visualizers')
VOD_SCHEMA = new('vod-schema')
VOD_CLOUDFLARE = new('vod_cloudflare')
VOLUME_LEVELING = new('volume-leveling')
WATCH_TOGETHER_INVITE = new('watch-together-invite')
WATCHLIST_RSS = new('watchlist-rss')
WEB_SERVER_DASHBOARD = new('web_server_dashboard')
WEBHOOKS = new('webhooks')
end
end
end
end

View File

@@ -36,7 +36,7 @@ module PlexRubySDK
field :language, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
field :location, T::Array[::PlexRubySDK::Operations::Location], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
field :location, T::Array[::PlexRubySDK::Operations::GetAllLibrariesLocation], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
field :refreshing, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refreshing') } }
# Unix epoch datetime in seconds
@@ -55,7 +55,7 @@ module PlexRubySDK
field :uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } }
sig { params(agent: ::String, allow_sync: T::Boolean, art: ::String, composite: ::String, content: T::Boolean, content_changed_at: ::Integer, created_at: ::Integer, directory: T::Boolean, filters: T::Boolean, hidden: ::Integer, key: ::String, language: ::String, location: T::Array[::PlexRubySDK::Operations::Location], refreshing: T::Boolean, scanned_at: ::Integer, scanner: ::String, thumb: ::String, title: ::String, type: ::String, updated_at: ::Integer, uuid: ::String).void }
sig { params(agent: ::String, allow_sync: T::Boolean, art: ::String, composite: ::String, content: T::Boolean, content_changed_at: ::Integer, created_at: ::Integer, directory: T::Boolean, filters: T::Boolean, hidden: ::Integer, key: ::String, language: ::String, location: T::Array[::PlexRubySDK::Operations::GetAllLibrariesLocation], refreshing: T::Boolean, scanned_at: ::Integer, scanner: ::String, thumb: ::String, title: ::String, type: ::String, updated_at: ::Integer, uuid: ::String).void }
def initialize(agent: nil, allow_sync: nil, art: nil, composite: nil, content: nil, content_changed_at: nil, created_at: nil, directory: nil, filters: nil, hidden: nil, key: nil, language: nil, location: nil, refreshing: nil, scanned_at: nil, scanner: nil, thumb: nil, title: nil, type: nil, updated_at: nil, uuid: nil)
@agent = agent
@allow_sync = allow_sync

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 GetAllLibrariesLocation < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
sig { params(id: ::Integer, path: ::String).void }
def initialize(id: nil, path: nil)
@id = id
@path = path
end
end
end
end

View File

@@ -21,8 +21,8 @@ module PlexRubySDK
field :upscale, ::Integer, { 'query_param': { 'field_name': 'upscale', 'style': 'form', 'explode': true } }
field :width, ::Integer, { 'query_param': { 'field_name': 'width', 'style': 'form', 'explode': true } }
# Plex Authentication Token
field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
# An authentication token, obtained from plex.tv
field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
sig { params(height: ::Integer, min_size: ::Integer, rating_key: ::Integer, upscale: ::Integer, width: ::Integer, x_plex_token: ::String).void }

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 GetLibraryItemsLocation < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
sig { params(path: T.nilable(::String)).void }
def initialize(path: nil)
@path = path
end
end
end
end

View File

@@ -12,63 +12,63 @@ module PlexRubySDK
extend T::Sig
field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :part, T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
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') } }
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming, true) } }
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming)).void }
def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil, audio_profile: nil, has64bit_offsets: nil, has_voice_activity: nil, optimized_for_streaming: nil)
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
@container = container
@id = id
@part = part
@aspect_ratio = aspect_ratio
@audio_channels = audio_channels
@audio_codec = audio_codec
@audio_profile = audio_profile
@bitrate = bitrate
@container = container
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_voice_activity = has_voice_activity
@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
@video_resolution = video_resolution
@width = width
@audio_profile = audio_profile
@has64bit_offsets = has64bit_offsets
@has_voice_activity = has_voice_activity
@optimized_for_streaming = optimized_for_streaming
end
end
end

View File

@@ -88,6 +88,8 @@ module PlexRubySDK
field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
# The Media object is only included when type query is `4` or higher.
#
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
@@ -171,8 +173,8 @@ module PlexRubySDK
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void }
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void }
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
@added_at = added_at
@guid = guid
@key = key
@@ -210,6 +212,7 @@ module PlexRubySDK
@library_section_id = library_section_id
@library_section_key = library_section_key
@library_section_title = library_section_title
@location = location
@media = media
@media_guid = media_guid
@meta_data_rating = meta_data_rating

View File

@@ -15,8 +15,6 @@ module PlexRubySDK
#
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
@@ -25,10 +23,10 @@ module PlexRubySDK
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
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') } }
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail, true) } }
@@ -39,22 +37,24 @@ module PlexRubySDK
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
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, video_profile: ::String, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream])).void }
def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil)
sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsStream]), video_profile: T.nilable(::String)).void }
def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
@container = container
@duration = duration
@file = file
@id = id
@key = key
@size = size
@video_profile = video_profile
@audio_profile = audio_profile
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_thumbnail = has_thumbnail
@indexes = indexes
@optimized_for_streaming = optimized_for_streaming
@stream = stream
@video_profile = video_profile
end
end
end

View File

@@ -11,8 +11,8 @@ module PlexRubySDK
class GetMediaProvidersRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Plex Authentication Token
field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
# An authentication token, obtained from plex.tv
field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
sig { params(x_plex_token: ::String).void }

View File

@@ -88,6 +88,8 @@ module PlexRubySDK
field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
field :location, T.nilable(T::Array[::PlexRubySDK::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
# The Media object is only included when type query is `4` or higher.
#
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
@@ -171,8 +173,8 @@ module PlexRubySDK
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetRecentlyAddedHubsType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::Country]), director: T.nilable(T::Array[::PlexRubySDK::Operations::Director]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::Media]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::Role]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), year: T.nilable(::Integer)).void }
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetRecentlyAddedHubsType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::Country]), director: T.nilable(T::Array[::PlexRubySDK::Operations::Director]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::Location]), media: T.nilable(T::Array[::PlexRubySDK::Operations::Media]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::Role]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), year: T.nilable(::Integer)).void }
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
@added_at = added_at
@guid = guid
@key = key
@@ -210,6 +212,7 @@ module PlexRubySDK
@library_section_id = library_section_id
@library_section_key = library_section_key
@library_section_title = library_section_title
@location = location
@media = media
@media_guid = media_guid
@meta_data_rating = meta_data_rating

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 GetSearchAllLibrariesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesErrors])).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 GetSearchAllLibrariesCollection < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::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 GetSearchAllLibrariesCountry < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::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 GetSearchAllLibrariesDirector < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::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 GetSearchAllLibrariesErrors < ::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,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesFlattenSeasons < T::Enum
enums do
FALSE = new('0')
TRUE = new('1')
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 GetSearchAllLibrariesGenre < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::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
class GetSearchAllLibrariesHasThumbnail < 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 GetSearchAllLibrariesImage < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
field :type, ::PlexRubySDK::Operations::GetSearchAllLibrariesLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesLibraryType, false) } }
field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetSearchAllLibrariesLibraryType, 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 GetSearchAllLibrariesLibraryErrors < ::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 GetSearchAllLibrariesLibraryType < 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,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesLocation < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
sig { params(path: T.nilable(::String)).void }
def initialize(path: nil)
@path = path
end
end
end
end

View File

@@ -0,0 +1,75 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesMedia < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :part, T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
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') } }
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesOptimizedForStreaming, true) } }
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesOptimizedForStreaming), 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(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
@container = container
@id = id
@part = part
@aspect_ratio = aspect_ratio
@audio_channels = audio_channels
@audio_codec = audio_codec
@audio_profile = audio_profile
@bitrate = bitrate
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_voice_activity = has_voice_activity
@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,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :search_result, T::Array[::PlexRubySDK::Operations::SearchResult], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('SearchResult') } }
field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
sig { params(search_result: T::Array[::PlexRubySDK::Operations::SearchResult], size: ::Float).void }
def initialize(search_result: nil, size: nil)
@search_result = search_result
@size = size
end
end
end
end

View File

@@ -0,0 +1,26 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesMediaGuid < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Can be one of the following formats:
# imdb://tt13015952, tmdb://2434012, tvdb://7945991
#
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,255 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesMetadata < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Unix epoch datetime in seconds
field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# The rating key (Media ID) of this media item.
# Note: This is always an integer, but is represented as a string in the API.
#
field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# The type of media content
#
field :type, ::PlexRubySDK::Operations::GetSearchAllLibrariesType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesType, false) } }
field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
field :banner, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } }
field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
field :collection, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesCollection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } }
field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
field :director, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } }
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesFlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesFlattenSeasons, true) } }
field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } }
field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } }
field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } }
field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } }
field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } }
field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } }
field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
field :has_premium_extras, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumExtras') } }
field :has_premium_primary_extra, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumPrimaryExtra') } }
field :image, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
# The Media object is only included when type query is `4` or higher.
#
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
# The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
#
field :media_guid, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
field :meta_data_rating, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMetaDataRating]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } }
field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } }
field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } }
# The rating key of the parent item.
#
field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } }
field :parent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentSlug') } }
field :parent_studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } }
field :parent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTheme') } }
field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } }
field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } }
field :parent_year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentYear') } }
field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
field :season_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } }
# Setting that indicates the episode ordering for the show
# None = Library default,
# tmdbAiring = The Movie Database (Aired),
# aired = TheTVDB (Aired),
# dvd = TheTVDB (DVD),
# absolute = TheTVDB (Absolute)).
#
field :show_ordering, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesShowOrdering, true) } }
field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } }
field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } }
field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
field :title_sort, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } }
field :ultra_blur_colors, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesUltraBlurColors), { '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') } }
field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } }
field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } }
field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetSearchAllLibrariesType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesFlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesWriter]), year: T.nilable(::Integer)).void }
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
@added_at = added_at
@guid = guid
@key = key
@rating_key = rating_key
@summary = summary
@title = title
@type = type
@art = art
@audience_rating = audience_rating
@audience_rating_image = audience_rating_image
@banner = banner
@chapter_source = chapter_source
@child_count = child_count
@collection = collection
@content_rating = content_rating
@country = country
@director = director
@duration = duration
@flatten_seasons = flatten_seasons
@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
@has_premium_extras = has_premium_extras
@has_premium_primary_extra = has_premium_primary_extra
@image = image
@index = index
@last_viewed_at = last_viewed_at
@leaf_count = leaf_count
@library_section_id = library_section_id
@library_section_key = library_section_key
@library_section_title = library_section_title
@location = location
@media = media
@media_guid = media_guid
@meta_data_rating = meta_data_rating
@originally_available_at = originally_available_at
@original_title = original_title
@parent_guid = parent_guid
@parent_index = parent_index
@parent_key = parent_key
@parent_rating_key = parent_rating_key
@parent_slug = parent_slug
@parent_studio = parent_studio
@parent_theme = parent_theme
@parent_thumb = parent_thumb
@parent_title = parent_title
@parent_year = parent_year
@primary_extra_key = primary_extra_key
@rating = rating
@rating_image = rating_image
@role = role
@season_count = season_count
@show_ordering = show_ordering
@skip_children = skip_children
@skip_count = skip_count
@slug = slug
@studio = studio
@tagline = tagline
@theme = theme
@thumb = thumb
@title_sort = title_sort
@ultra_blur_colors = ultra_blur_colors
@updated_at = updated_at
@view_count = view_count
@viewed_leaf_count = viewed_leaf_count
@view_offset = view_offset
@writer = writer
@year = year
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 GetSearchAllLibrariesMetaDataRating < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# A URI or path to the rating image.
field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
# The type of rating (e.g., audience, critic).
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
# The value of the rating.
field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } }
sig { params(image: ::String, type: ::String, value: ::Float).void }
def initialize(image: nil, type: nil, value: nil)
@image = image
@type = type
@value = value
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
class GetSearchAllLibrariesOptimizedForStreaming < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
end
end
end
end

View File

@@ -0,0 +1,61 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesPart < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The container format of the media file.
#
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
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') } }
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetSearchAllLibrariesHasThumbnail, true) } }
field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesStream]), video_profile: T.nilable(::String)).void }
def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
@container = container
@file = file
@id = id
@key = key
@size = size
@audio_profile = audio_profile
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_thumbnail = has_thumbnail
@indexes = indexes
@optimized_for_streaming = optimized_for_streaming
@stream = stream
@video_profile = video_profile
end
end
end
end

View File

@@ -0,0 +1,40 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The search query term.
field :query, ::String, { 'query_param': { 'field_name': 'query', 'style': 'form', 'explode': true } }
# An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
field :client_id, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
# 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 } }
# 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 } }
# 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.
#
field :search_types, T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes]), { 'query_param': { 'field_name': 'searchTypes', 'style': 'form', 'explode': false } }
sig { params(query: ::String, client_id: T.nilable(::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 }
def initialize(query: nil, client_id: nil, include_collections: nil, include_external_media: nil, limit: nil, search_types: nil)
@query = query
@client_id = client_id
@include_collections = include_collections
@include_external_media = include_external_media
@limit = limit
@search_types = search_types
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 GetSearchAllLibrariesResponse < ::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::GetSearchAllLibrariesBadRequest)
# The libraries available on the Server
field :object, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesResponseBody)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesUnauthorized)).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
# The libraries available on the Server
class GetSearchAllLibrariesResponseBody < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :media_container, ::PlexRubySDK::Operations::GetSearchAllLibrariesMediaContainer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
sig { params(media_container: ::PlexRubySDK::Operations::GetSearchAllLibrariesMediaContainer).void }
def initialize(media_container: nil)
@media_container = media_container
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 GetSearchAllLibrariesRole < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The filter used to find the actor or tag.
field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The ID of the tag or actor.
field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The role of the actor or tag in the media.
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
# The name of the tag or actor.
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
# Unique identifier for the tag.
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The thumbnail of the actor
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(filter: T.nilable(::String), id: T.nilable(::Integer), role: T.nilable(::String), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: nil)
@filter = filter
@id = id
@role = role
@tag = tag
@tag_key = tag_key
@thumb = thumb
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
# GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show
# None = Library default,
# tmdbAiring = The Movie Database (Aired),
# aired = TheTVDB (Aired),
# dvd = TheTVDB (DVD),
# absolute = TheTVDB (Absolute)).
#
class GetSearchAllLibrariesShowOrdering < T::Enum
enums do
NONE = new('None')
TMDB_AIRING = new('tmdbAiring')
AIRED = new('aired')
DVD = new('dvd')
ABSOLUTE = new('absolute')
end
end
end
end

View File

@@ -0,0 +1,135 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetSearchAllLibrariesStream < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Codec used by the stream
field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The index of the stream
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Type of stream (1 = video, 2 = audio, 3 = subtitle)
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
# The audio channel layout
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# The bit depth of the video stream
field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
# The bitrate of the stream in kbps
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
# Indicates if the subtitle 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') } }
# The chroma location of the video stream
field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
# The chroma subsampling format
field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
# The coded height of the video stream
field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
# The coded width of the video stream
field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
# The color primaries of the video stream
field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
# The color range of the video stream
field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
# The color space of the video stream
field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
# The transfer characteristics (TRC) of the video stream
field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
# Indicates if this is the default stream
field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
# Display title of the stream
field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
# Extended display title of the stream
field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
# The frame rate of the video stream
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
# Indicates if the stream has a scaling matrix
field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# The height of the video stream
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# The language of the stream (for audio/subtitle streams)
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
# Language code of the stream
field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
# Language tag of the stream
field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
# The level of the video codec
field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
# The profile of the video codec
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 of the audio stream in Hz
field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } }
# The scan type (progressive or interlaced)
field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
# Indicates if the stream is selected
field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } }
# The identifier of the video stream
field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } }
# Title of the subtitle track (for subtitle streams)
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# The width of the video stream
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(codec: ::String, id: ::Integer, index: ::Integer, 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), closed_captions: T.nilable(T::Boolean), 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), display_title: T.nilable(::String), embedded_in_video: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), title: T.nilable(::String), width: T.nilable(::Integer)).void }
def initialize(codec: nil, id: nil, index: 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, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, embedded_in_video: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, title: nil, width: nil)
@codec = codec
@id = id
@index = index
@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
@closed_captions = closed_captions
@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
@display_title = display_title
@embedded_in_video = embedded_in_video
@extended_display_title = extended_display_title
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@hearing_impaired = hearing_impaired
@height = height
@language = language
@language_code = language_code
@language_tag = language_tag
@level = level
@profile = profile
@ref_frames = ref_frames
@sampling_rate = sampling_rate
@scan_type = scan_type
@selected = selected
@stream_identifier = stream_identifier
@title = title
@width = width
end
end
end
end

View File

@@ -0,0 +1,21 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# GetSearchAllLibrariesType - The type of media content
#
class GetSearchAllLibrariesType < T::Enum
enums do
MOVIE = new('movie')
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
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 GetSearchAllLibrariesUltraBlurColors < ::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 GetSearchAllLibrariesUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetSearchAllLibrariesLibraryErrors])).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 GetSearchAllLibrariesWriter < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::String)).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -14,8 +14,8 @@ module PlexRubySDK
class GetServerResourcesRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
field :client_id, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }
# An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
field :client_id, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
# Include Https entries in the results
field :include_https, T.nilable(::PlexRubySDK::Operations::IncludeHttps), { 'query_param': { 'field_name': 'includeHttps', 'style': 'form', 'explode': true } }
# Include IPv6 entries in the results

View File

@@ -21,8 +21,8 @@ module PlexRubySDK
field :upscale, ::Integer, { 'query_param': { 'field_name': 'upscale', 'style': 'form', 'explode': true } }
field :width, ::Integer, { 'query_param': { 'field_name': 'width', 'style': 'form', 'explode': true } }
# Plex Authentication Token
field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
# An authentication token, obtained from plex.tv
field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
sig { params(height: ::Integer, min_size: ::Integer, rating_key: ::Integer, upscale: ::Integer, width: ::Integer, x_plex_token: ::String).void }

View File

@@ -16,8 +16,8 @@ module PlexRubySDK
# Filter
field :filter, ::PlexRubySDK::Operations::Filter, { 'path_param': { 'field_name': 'filter', 'style': 'simple', 'explode': false } }
# Plex Authentication Token
field :x_plex_token, ::String, { 'query_param': { 'field_name': 'X-Plex-Token', 'style': 'form', 'explode': true } }
# An authentication token, obtained from plex.tv
field :x_plex_token, ::String, { 'header': { 'field_name': 'X-Plex-Token', 'style': 'simple', 'explode': false } }
# include collections in the results
#
field :include_collections, T.nilable(::PlexRubySDK::Operations::IncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }

View File

@@ -14,16 +14,16 @@ module PlexRubySDK
class GetPinRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
field :client_id, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }
field :client_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Product', 'style': 'form', 'explode': true } }
field :client_platform, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Platform', 'style': 'form', 'explode': true } }
field :client_version, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Version', 'style': 'form', 'explode': true } }
field :device_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Device', 'style': 'form', 'explode': true } }
# An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
field :client_id, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
# The name of the client application. (Plex Web, Plex Media Server, etc.)
field :client_name, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Product', 'style': 'simple', 'explode': false } }
# The version of the client application.
field :client_version, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Version', 'style': 'simple', 'explode': false } }
# A relatively friendly name for the client device
field :device_nickname, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Device', 'style': 'simple', 'explode': false } }
# The platform of the client application.
field :platform, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Platform', 'style': 'simple', 'explode': false } }
# Determines the kind of code returned by the API call
# Strong codes are used for Pin authentication flows
# Non-Strong codes are used for `Plex.tv/link`
@@ -31,13 +31,13 @@ module PlexRubySDK
field :strong, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'strong', 'style': 'form', 'explode': true } }
sig { params(client_id: T.nilable(::String), client_name: T.nilable(::String), client_platform: T.nilable(::String), client_version: T.nilable(::String), device_name: T.nilable(::String), strong: T.nilable(T::Boolean)).void }
def initialize(client_id: nil, client_name: nil, client_platform: nil, client_version: nil, device_name: nil, strong: nil)
sig { params(client_id: T.nilable(::String), client_name: T.nilable(::String), client_version: T.nilable(::String), device_nickname: T.nilable(::String), platform: T.nilable(::String), strong: T.nilable(T::Boolean)).void }
def initialize(client_id: nil, client_name: nil, client_version: nil, device_nickname: nil, platform: nil, strong: nil)
@client_id = client_id
@client_name = client_name
@client_platform = client_platform
@client_version = client_version
@device_name = device_name
@device_nickname = device_nickname
@platform = platform
@strong = strong
end
end

View File

@@ -16,26 +16,26 @@ module PlexRubySDK
# The PinID to retrieve an access token for
field :pin_id, ::Integer, { 'path_param': { 'field_name': 'pinID', 'style': 'simple', 'explode': false } }
# The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
field :client_id, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }
field :client_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Product', 'style': 'form', 'explode': true } }
field :client_platform, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Platform', 'style': 'form', 'explode': true } }
field :client_version, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Version', 'style': 'form', 'explode': true } }
field :device_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Device', 'style': 'form', 'explode': true } }
# An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
field :client_id, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
# The name of the client application. (Plex Web, Plex Media Server, etc.)
field :client_name, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Product', 'style': 'simple', 'explode': false } }
# The version of the client application.
field :client_version, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Version', 'style': 'simple', 'explode': false } }
# A relatively friendly name for the client device
field :device_nickname, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Device', 'style': 'simple', 'explode': false } }
# The platform of the client application.
field :platform, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Platform', 'style': 'simple', 'explode': false } }
sig { params(pin_id: ::Integer, client_id: T.nilable(::String), client_name: T.nilable(::String), client_platform: T.nilable(::String), client_version: T.nilable(::String), device_name: T.nilable(::String)).void }
def initialize(pin_id: nil, client_id: nil, client_name: nil, client_platform: nil, client_version: nil, device_name: nil)
sig { params(pin_id: ::Integer, client_id: T.nilable(::String), client_name: T.nilable(::String), client_version: T.nilable(::String), device_nickname: T.nilable(::String), platform: T.nilable(::String)).void }
def initialize(pin_id: nil, client_id: nil, client_name: nil, client_version: nil, device_nickname: nil, platform: nil)
@pin_id = pin_id
@client_id = client_id
@client_name = client_name
@client_platform = client_platform
@client_version = client_version
@device_name = device_name
@device_nickname = device_nickname
@platform = platform
end
end
end

View File

@@ -1,114 +0,0 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
GET_TOKEN_DETAILS_FEATURES_SERVERS = [
'https://plex.tv/api/v2'
].freeze
class GetTokenDetailsFeatures < T::Enum
enums do
ANDROID_DOLBY_VISION = new('Android - Dolby Vision')
ANDROID_PI_P = new('Android - PiP')
CU_SUNSET = new('CU Sunset')
HRK_ENABLE_EUR = new('HRK_enable_EUR')
TREBLE_SHOW_FEATURES = new('TREBLE-show-features')
AD_COUNTDOWN_TIMER = new('ad-countdown-timer')
ADAPTIVE_BITRATE = new('adaptive_bitrate')
ALBUM_TYPES = new('album-types')
ALLOW_DVR = new('allow_dvr')
AMAZON_LOOP_DEBUG = new('amazon-loop-debug')
AVOD_AD_ANALYSIS = new('avod-ad-analysis')
AVOD_NEW_MEDIA = new('avod-new-media')
BLACKLIST_GET_SIGNIN = new('blacklist_get_signin')
BOOST_VOICES = new('boost-voices')
CAMERA_UPLOAD = new('camera_upload')
CLIENT_RADIO_STATIONS = new('client-radio-stations')
CLOUDFLARE_TURNSTILE_REQUIRED = new('cloudflare-turnstile-required')
CLOUDSYNC = new('cloudsync')
COLLECTIONS = new('collections')
COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = new('comments_and_replies_push_notifications')
COMMUNITY_ACCESS_PLEX_TV = new('community_access_plex_tv')
COMPANIONS_SONOS = new('companions_sonos')
CONTENT_FILTER = new('content_filter')
CUSTOM_HOME_REMOVAL = new('custom-home-removal')
DISABLE_HOME_USER_FRIENDSHIPS = new('disable_home_user_friendships')
DISABLE_SHARING_FRIENDSHIPS = new('disable_sharing_friendships')
DOWNLOADS_GATING = new('downloads-gating')
DRM_SUPPORT = new('drm_support')
DVR = new('dvr')
DVR_BLOCK_UNSUPPORTED_COUNTRIES = new('dvr-block-unsupported-countries')
EPG_RECENT_CHANNELS = new('epg-recent-channels')
EXCLUDE_RESTRICTIONS = new('exclude restrictions')
FEDERATED_AUTH = new('federated-auth')
FRIEND_REQUEST_PUSH_NOTIFICATIONS = new('friend_request_push_notifications')
GRANDFATHER_SYNC = new('grandfather-sync')
GUIDED_UPGRADE = new('guided-upgrade')
HARDWARE_TRANSCODING = new('hardware_transcoding')
HOME = new('home')
HWTRANSCODE = new('hwtranscode')
IMAGGA_V2 = new('imagga-v2')
INCREASE_PASSWORD_COMPLEXITY = new('increase-password-complexity')
IOS14_PRIVACY_BANNER = new('ios14-privacy-banner')
ITERABLE_NOTIFICATION_TOKENS = new('iterable-notification-tokens')
ITEM_CLUSTERS = new('item_clusters')
KEEP_PAYMENT_METHOD = new('keep-payment-method')
KEVIN_BACON = new('kevin-bacon')
KOREA_CONSENT = new('korea-consent')
LE_ISRG_ROOT_X1 = new('le_isrg_root_x1')
LETS_ENCRYPT = new('lets_encrypt')
LIGHTNING_DVR_PIVOT = new('lightning-dvr-pivot')
LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = new('live-tv-support-incomplete-segments')
LIVETV = new('livetv')
LYRICS = new('lyrics')
METADATA_SEARCH = new('metadata_search')
MUSIC_ANALYSIS = new('music-analysis')
MUSIC_VIDEOS = new('music_videos')
NEW_PLEX_PASS_PRICES = new('new_plex_pass_prices')
NEWS_PROVIDER_SUNSET_MODAL = new('news-provider-sunset-modal')
NOMINATIM = new('nominatim')
PASS = new('pass')
PHOTOS_FAVORITES = new('photos-favorites')
PHOTOS_METADATA_EDITION = new('photos-metadata-edition')
PHOTOS_V6_EDIT = new('photosV6-edit')
PHOTOS_V6_TV_ALBUMS = new('photosV6-tv-albums')
PMS_HEALTH = new('pms_health')
PREMIUM_DASHBOARD = new('premium-dashboard')
PREMIUM_MUSIC_METADATA = new('premium_music_metadata')
RADIO = new('radio')
RATE_LIMIT_CLIENT_TOKEN = new('rate-limit-client-token')
SCROBBLING_SERVICE_PLEX_TV = new('scrobbling-service-plex-tv')
SESSION_BANDWIDTH_RESTRICTIONS = new('session_bandwidth_restrictions')
SESSION_KICK = new('session_kick')
SHARED_SERVER_NOTIFICATION = new('shared_server_notification')
SHARED_SOURCE_NOTIFICATION = new('shared_source_notification')
SIGNIN_NOTIFICATION = new('signin_notification')
SIGNIN_WITH_APPLE = new('signin_with_apple')
SILENCE_REMOVAL = new('silence-removal')
SLEEP_TIMER = new('sleep-timer')
SPRING_SERVE_AD_PROVIDER = new('spring_serve_ad_provider')
SYNC = new('sync')
SWEET_FADES = new('sweet-fades')
TRANSCODER_CACHE = new('transcoder_cache')
TRAILERS = new('trailers')
TUNER_SHARING = new('tuner-sharing')
TWO_FACTOR_AUTHENTICATION = new('two-factor-authentication')
UNSUPPORTEDTUNERS = new('unsupportedtuners')
UPGRADE_3DS2 = new('upgrade-3ds2')
VISUALIZERS = new('visualizers')
VOD_SCHEMA = new('vod-schema')
VOD_CLOUDFLARE = new('vod_cloudflare')
VOLUME_LEVELING = new('volume-leveling')
WATCH_TOGETHER_INVITE = new('watch-together-invite')
WATCHLIST_RSS = new('watchlist-rss')
WEB_SERVER_DASHBOARD = new('web_server_dashboard')
WEBHOOKS = new('webhooks')
end
end
end
end

View File

@@ -17,7 +17,7 @@ module PlexRubySDK
# If the account's Plex Pass subscription is active
field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
# List of features allowed on your Plex Pass subscription
field :features, T.nilable(T::Array[::PlexRubySDK::Operations::GetTokenDetailsFeatures]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
field :features, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
# Payment service used for your Plex Pass subscription
field :payment_service, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('paymentService') } }
# Name of Plex Pass subscription plan
@@ -28,7 +28,7 @@ module PlexRubySDK
field :subscribed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subscribedAt') } }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::PlexRubySDK::Operations::GetTokenDetailsFeatures]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::GetTokenDetailsAuthenticationResponseStatus), subscribed_at: T.nilable(::String)).void }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::String]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::GetTokenDetailsAuthenticationResponseStatus), subscribed_at: T.nilable(::String)).void }
def initialize(active: nil, features: nil, payment_service: nil, plan: nil, status: nil, subscribed_at: nil)
@active = active
@features = features

View File

@@ -12,14 +12,11 @@ module PlexRubySDK
extend T::Sig
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
sig { params(id: ::Integer, path: ::String).void }
def initialize(id: nil, path: nil)
@id = id
sig { params(path: T.nilable(::String)).void }
def initialize(path: nil)
@path = path
end
end

View File

@@ -12,63 +12,63 @@ module PlexRubySDK
extend T::Sig
field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :part, T::Array[::PlexRubySDK::Operations::Part], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
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') } }
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::OptimizedForStreaming, true) } }
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::Part], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming)).void }
def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil, audio_profile: nil, has64bit_offsets: nil, has_voice_activity: nil, optimized_for_streaming: nil)
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::Part], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), 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(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
@container = container
@id = id
@part = part
@aspect_ratio = aspect_ratio
@audio_channels = audio_channels
@audio_codec = audio_codec
@audio_profile = audio_profile
@bitrate = bitrate
@container = container
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_voice_activity = has_voice_activity
@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
@video_resolution = video_resolution
@width = width
@audio_profile = audio_profile
@has64bit_offsets = has64bit_offsets
@has_voice_activity = has_voice_activity
@optimized_for_streaming = optimized_for_streaming
end
end
end

View File

@@ -15,8 +15,6 @@ module PlexRubySDK
#
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
@@ -25,10 +23,10 @@ module PlexRubySDK
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
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') } }
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::HasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::HasThumbnail, true) } }
@@ -39,22 +37,24 @@ module PlexRubySDK
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
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, video_profile: ::String, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream])).void }
def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil)
sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), video_profile: T.nilable(::String)).void }
def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
@container = container
@duration = duration
@file = file
@id = id
@key = key
@size = size
@video_profile = video_profile
@audio_profile = audio_profile
@duration = duration
@has64bit_offsets = has64bit_offsets
@has_thumbnail = has_thumbnail
@indexes = indexes
@optimized_for_streaming = optimized_for_streaming
@stream = stream
@video_profile = video_profile
end
end
end

View File

@@ -1,114 +0,0 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
POST_USERS_SIGN_IN_DATA_AUTHENTICATION_FEATURES_SERVERS = [
'https://plex.tv/api/v2'
].freeze
class PostUsersSignInDataAuthenticationFeatures < T::Enum
enums do
ANDROID_DOLBY_VISION = new('Android - Dolby Vision')
ANDROID_PI_P = new('Android - PiP')
CU_SUNSET = new('CU Sunset')
HRK_ENABLE_EUR = new('HRK_enable_EUR')
TREBLE_SHOW_FEATURES = new('TREBLE-show-features')
AD_COUNTDOWN_TIMER = new('ad-countdown-timer')
ADAPTIVE_BITRATE = new('adaptive_bitrate')
ALBUM_TYPES = new('album-types')
ALLOW_DVR = new('allow_dvr')
AMAZON_LOOP_DEBUG = new('amazon-loop-debug')
AVOD_AD_ANALYSIS = new('avod-ad-analysis')
AVOD_NEW_MEDIA = new('avod-new-media')
BLACKLIST_GET_SIGNIN = new('blacklist_get_signin')
BOOST_VOICES = new('boost-voices')
CAMERA_UPLOAD = new('camera_upload')
CLIENT_RADIO_STATIONS = new('client-radio-stations')
CLOUDFLARE_TURNSTILE_REQUIRED = new('cloudflare-turnstile-required')
CLOUDSYNC = new('cloudsync')
COLLECTIONS = new('collections')
COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = new('comments_and_replies_push_notifications')
COMMUNITY_ACCESS_PLEX_TV = new('community_access_plex_tv')
COMPANIONS_SONOS = new('companions_sonos')
CONTENT_FILTER = new('content_filter')
CUSTOM_HOME_REMOVAL = new('custom-home-removal')
DISABLE_HOME_USER_FRIENDSHIPS = new('disable_home_user_friendships')
DISABLE_SHARING_FRIENDSHIPS = new('disable_sharing_friendships')
DOWNLOADS_GATING = new('downloads-gating')
DRM_SUPPORT = new('drm_support')
DVR = new('dvr')
DVR_BLOCK_UNSUPPORTED_COUNTRIES = new('dvr-block-unsupported-countries')
EPG_RECENT_CHANNELS = new('epg-recent-channels')
EXCLUDE_RESTRICTIONS = new('exclude restrictions')
FEDERATED_AUTH = new('federated-auth')
FRIEND_REQUEST_PUSH_NOTIFICATIONS = new('friend_request_push_notifications')
GRANDFATHER_SYNC = new('grandfather-sync')
GUIDED_UPGRADE = new('guided-upgrade')
HARDWARE_TRANSCODING = new('hardware_transcoding')
HOME = new('home')
HWTRANSCODE = new('hwtranscode')
IMAGGA_V2 = new('imagga-v2')
INCREASE_PASSWORD_COMPLEXITY = new('increase-password-complexity')
IOS14_PRIVACY_BANNER = new('ios14-privacy-banner')
ITERABLE_NOTIFICATION_TOKENS = new('iterable-notification-tokens')
ITEM_CLUSTERS = new('item_clusters')
KEEP_PAYMENT_METHOD = new('keep-payment-method')
KEVIN_BACON = new('kevin-bacon')
KOREA_CONSENT = new('korea-consent')
LE_ISRG_ROOT_X1 = new('le_isrg_root_x1')
LETS_ENCRYPT = new('lets_encrypt')
LIGHTNING_DVR_PIVOT = new('lightning-dvr-pivot')
LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = new('live-tv-support-incomplete-segments')
LIVETV = new('livetv')
LYRICS = new('lyrics')
METADATA_SEARCH = new('metadata_search')
MUSIC_ANALYSIS = new('music-analysis')
MUSIC_VIDEOS = new('music_videos')
NEW_PLEX_PASS_PRICES = new('new_plex_pass_prices')
NEWS_PROVIDER_SUNSET_MODAL = new('news-provider-sunset-modal')
NOMINATIM = new('nominatim')
PASS = new('pass')
PHOTOS_FAVORITES = new('photos-favorites')
PHOTOS_METADATA_EDITION = new('photos-metadata-edition')
PHOTOS_V6_EDIT = new('photosV6-edit')
PHOTOS_V6_TV_ALBUMS = new('photosV6-tv-albums')
PMS_HEALTH = new('pms_health')
PREMIUM_DASHBOARD = new('premium-dashboard')
PREMIUM_MUSIC_METADATA = new('premium_music_metadata')
RADIO = new('radio')
RATE_LIMIT_CLIENT_TOKEN = new('rate-limit-client-token')
SCROBBLING_SERVICE_PLEX_TV = new('scrobbling-service-plex-tv')
SESSION_BANDWIDTH_RESTRICTIONS = new('session_bandwidth_restrictions')
SESSION_KICK = new('session_kick')
SHARED_SERVER_NOTIFICATION = new('shared_server_notification')
SHARED_SOURCE_NOTIFICATION = new('shared_source_notification')
SIGNIN_NOTIFICATION = new('signin_notification')
SIGNIN_WITH_APPLE = new('signin_with_apple')
SILENCE_REMOVAL = new('silence-removal')
SLEEP_TIMER = new('sleep-timer')
SPRING_SERVE_AD_PROVIDER = new('spring_serve_ad_provider')
SYNC = new('sync')
SWEET_FADES = new('sweet-fades')
TRANSCODER_CACHE = new('transcoder_cache')
TRAILERS = new('trailers')
TUNER_SHARING = new('tuner-sharing')
TWO_FACTOR_AUTHENTICATION = new('two-factor-authentication')
UNSUPPORTEDTUNERS = new('unsupportedtuners')
UPGRADE_3DS2 = new('upgrade-3ds2')
VISUALIZERS = new('visualizers')
VOD_SCHEMA = new('vod-schema')
VOD_CLOUDFLARE = new('vod_cloudflare')
VOLUME_LEVELING = new('volume-leveling')
WATCH_TOGETHER_INVITE = new('watch-together-invite')
WATCHLIST_RSS = new('watchlist-rss')
WEB_SERVER_DASHBOARD = new('web_server_dashboard')
WEBHOOKS = new('webhooks')
end
end
end
end

View File

@@ -17,7 +17,7 @@ module PlexRubySDK
# If the account's Plex Pass subscription is active
field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
# List of features allowed on your Plex Pass subscription
field :features, T.nilable(T::Array[::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationFeatures]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
field :features, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
# Payment service used for your Plex Pass subscription
field :payment_service, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('paymentService') } }
# Name of Plex Pass subscription plan
@@ -28,7 +28,7 @@ module PlexRubySDK
field :subscribed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subscribedAt') } }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationFeatures]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationResponseStatus), subscribed_at: T.nilable(::String)).void }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::String]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationResponseStatus), subscribed_at: T.nilable(::String)).void }
def initialize(active: nil, features: nil, payment_service: nil, plan: nil, status: nil, subscribed_at: nil)
@active = active
@features = features

View File

@@ -1,114 +0,0 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
POST_USERS_SIGN_IN_DATA_FEATURES_SERVERS = [
'https://plex.tv/api/v2'
].freeze
class PostUsersSignInDataFeatures < T::Enum
enums do
ANDROID_DOLBY_VISION = new('Android - Dolby Vision')
ANDROID_PI_P = new('Android - PiP')
CU_SUNSET = new('CU Sunset')
HRK_ENABLE_EUR = new('HRK_enable_EUR')
TREBLE_SHOW_FEATURES = new('TREBLE-show-features')
AD_COUNTDOWN_TIMER = new('ad-countdown-timer')
ADAPTIVE_BITRATE = new('adaptive_bitrate')
ALBUM_TYPES = new('album-types')
ALLOW_DVR = new('allow_dvr')
AMAZON_LOOP_DEBUG = new('amazon-loop-debug')
AVOD_AD_ANALYSIS = new('avod-ad-analysis')
AVOD_NEW_MEDIA = new('avod-new-media')
BLACKLIST_GET_SIGNIN = new('blacklist_get_signin')
BOOST_VOICES = new('boost-voices')
CAMERA_UPLOAD = new('camera_upload')
CLIENT_RADIO_STATIONS = new('client-radio-stations')
CLOUDFLARE_TURNSTILE_REQUIRED = new('cloudflare-turnstile-required')
CLOUDSYNC = new('cloudsync')
COLLECTIONS = new('collections')
COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = new('comments_and_replies_push_notifications')
COMMUNITY_ACCESS_PLEX_TV = new('community_access_plex_tv')
COMPANIONS_SONOS = new('companions_sonos')
CONTENT_FILTER = new('content_filter')
CUSTOM_HOME_REMOVAL = new('custom-home-removal')
DISABLE_HOME_USER_FRIENDSHIPS = new('disable_home_user_friendships')
DISABLE_SHARING_FRIENDSHIPS = new('disable_sharing_friendships')
DOWNLOADS_GATING = new('downloads-gating')
DRM_SUPPORT = new('drm_support')
DVR = new('dvr')
DVR_BLOCK_UNSUPPORTED_COUNTRIES = new('dvr-block-unsupported-countries')
EPG_RECENT_CHANNELS = new('epg-recent-channels')
EXCLUDE_RESTRICTIONS = new('exclude restrictions')
FEDERATED_AUTH = new('federated-auth')
FRIEND_REQUEST_PUSH_NOTIFICATIONS = new('friend_request_push_notifications')
GRANDFATHER_SYNC = new('grandfather-sync')
GUIDED_UPGRADE = new('guided-upgrade')
HARDWARE_TRANSCODING = new('hardware_transcoding')
HOME = new('home')
HWTRANSCODE = new('hwtranscode')
IMAGGA_V2 = new('imagga-v2')
INCREASE_PASSWORD_COMPLEXITY = new('increase-password-complexity')
IOS14_PRIVACY_BANNER = new('ios14-privacy-banner')
ITERABLE_NOTIFICATION_TOKENS = new('iterable-notification-tokens')
ITEM_CLUSTERS = new('item_clusters')
KEEP_PAYMENT_METHOD = new('keep-payment-method')
KEVIN_BACON = new('kevin-bacon')
KOREA_CONSENT = new('korea-consent')
LE_ISRG_ROOT_X1 = new('le_isrg_root_x1')
LETS_ENCRYPT = new('lets_encrypt')
LIGHTNING_DVR_PIVOT = new('lightning-dvr-pivot')
LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = new('live-tv-support-incomplete-segments')
LIVETV = new('livetv')
LYRICS = new('lyrics')
METADATA_SEARCH = new('metadata_search')
MUSIC_ANALYSIS = new('music-analysis')
MUSIC_VIDEOS = new('music_videos')
NEW_PLEX_PASS_PRICES = new('new_plex_pass_prices')
NEWS_PROVIDER_SUNSET_MODAL = new('news-provider-sunset-modal')
NOMINATIM = new('nominatim')
PASS = new('pass')
PHOTOS_FAVORITES = new('photos-favorites')
PHOTOS_METADATA_EDITION = new('photos-metadata-edition')
PHOTOS_V6_EDIT = new('photosV6-edit')
PHOTOS_V6_TV_ALBUMS = new('photosV6-tv-albums')
PMS_HEALTH = new('pms_health')
PREMIUM_DASHBOARD = new('premium-dashboard')
PREMIUM_MUSIC_METADATA = new('premium_music_metadata')
RADIO = new('radio')
RATE_LIMIT_CLIENT_TOKEN = new('rate-limit-client-token')
SCROBBLING_SERVICE_PLEX_TV = new('scrobbling-service-plex-tv')
SESSION_BANDWIDTH_RESTRICTIONS = new('session_bandwidth_restrictions')
SESSION_KICK = new('session_kick')
SHARED_SERVER_NOTIFICATION = new('shared_server_notification')
SHARED_SOURCE_NOTIFICATION = new('shared_source_notification')
SIGNIN_NOTIFICATION = new('signin_notification')
SIGNIN_WITH_APPLE = new('signin_with_apple')
SILENCE_REMOVAL = new('silence-removal')
SLEEP_TIMER = new('sleep-timer')
SPRING_SERVE_AD_PROVIDER = new('spring_serve_ad_provider')
SYNC = new('sync')
SWEET_FADES = new('sweet-fades')
TRANSCODER_CACHE = new('transcoder_cache')
TRAILERS = new('trailers')
TUNER_SHARING = new('tuner-sharing')
TWO_FACTOR_AUTHENTICATION = new('two-factor-authentication')
UNSUPPORTEDTUNERS = new('unsupportedtuners')
UPGRADE_3DS2 = new('upgrade-3ds2')
VISUALIZERS = new('visualizers')
VOD_SCHEMA = new('vod-schema')
VOD_CLOUDFLARE = new('vod_cloudflare')
VOLUME_LEVELING = new('volume-leveling')
WATCH_TOGETHER_INVITE = new('watch-together-invite')
WATCHLIST_RSS = new('watchlist-rss')
WEB_SERVER_DASHBOARD = new('web_server_dashboard')
WEBHOOKS = new('webhooks')
end
end
end
end

View File

@@ -14,27 +14,27 @@ module PlexRubySDK
class PostUsersSignInDataRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The unique identifier for the client application. This is used to track the client application and its usage. (UUID, serial number, or other number unique per device)
field :client_id, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }
field :client_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Product', 'style': 'form', 'explode': true } }
field :client_platform, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Platform', 'style': 'form', 'explode': true } }
field :client_version, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Version', 'style': 'form', 'explode': true } }
field :device_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Device', 'style': 'form', 'explode': true } }
# An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
field :client_id, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
# The name of the client application. (Plex Web, Plex Media Server, etc.)
field :client_name, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Product', 'style': 'simple', 'explode': false } }
# The version of the client application.
field :client_version, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Version', 'style': 'simple', 'explode': false } }
# A relatively friendly name for the client device
field :device_nickname, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Device', 'style': 'simple', 'explode': false } }
# The platform of the client application.
field :platform, T.nilable(::String), { 'header': { 'field_name': 'X-Plex-Platform', 'style': 'simple', 'explode': false } }
# Login credentials
field :request_body, T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), { 'request': { 'media_type': 'application/x-www-form-urlencoded' } }
sig { params(client_id: T.nilable(::String), client_name: T.nilable(::String), client_platform: T.nilable(::String), client_version: T.nilable(::String), device_name: T.nilable(::String), request_body: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody)).void }
def initialize(client_id: nil, client_name: nil, client_platform: nil, client_version: nil, device_name: nil, request_body: nil)
sig { params(client_id: T.nilable(::String), client_name: T.nilable(::String), client_version: T.nilable(::String), device_nickname: T.nilable(::String), platform: T.nilable(::String), request_body: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody)).void }
def initialize(client_id: nil, client_name: nil, client_version: nil, device_nickname: nil, platform: nil, request_body: nil)
@client_id = client_id
@client_name = client_name
@client_platform = client_platform
@client_version = client_version
@device_name = device_name
@device_nickname = device_nickname
@platform = platform
@request_body = request_body
end
end

View File

@@ -17,7 +17,7 @@ module PlexRubySDK
# If the account's Plex Pass subscription is active
field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
# List of features allowed on your Plex Pass subscription
field :features, T.nilable(T::Array[::PlexRubySDK::Operations::PostUsersSignInDataFeatures]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
field :features, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
# Payment service used for your Plex Pass subscription
field :payment_service, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('paymentService') } }
# Name of Plex Pass subscription plan
@@ -28,7 +28,7 @@ module PlexRubySDK
field :subscribed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subscribedAt') } }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::PlexRubySDK::Operations::PostUsersSignInDataFeatures]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationStatus), subscribed_at: T.nilable(::String)).void }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::String]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationStatus), subscribed_at: T.nilable(::String)).void }
def initialize(active: nil, features: nil, payment_service: nil, plan: nil, status: nil, subscribed_at: nil)
@active = active
@features = features

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
# QueryParamIncludeCollections - Whether to include collections in the search results.
class QueryParamIncludeCollections < 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
# QueryParamIncludeExternalMedia - Whether to include external media in the search results.
class QueryParamIncludeExternalMedia < T::Enum
enums do
DISABLE = new(0)
ENABLE = new(1)
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 SearchResult < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :metadata, ::PlexRubySDK::Operations::GetSearchAllLibrariesMetadata, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
field :score, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('score') } }
sig { params(metadata: ::PlexRubySDK::Operations::GetSearchAllLibrariesMetadata, score: ::Float).void }
def initialize(metadata: nil, score: nil)
@metadata = metadata
@score = score
end
end
end
end

View File

@@ -0,0 +1,21 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class SearchTypes < T::Enum
enums do
MOVIES = new('movies')
MUSIC = new('music')
OTHER_VIDEOS = new('otherVideos')
PEOPLE = new('people')
TV = new('tv')
end
end
end
end

View File

@@ -17,7 +17,7 @@ module PlexRubySDK
# If the account's Plex Pass subscription is active
field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
# List of features allowed on your Plex Pass subscription
field :features, T.nilable(T::Array[::PlexRubySDK::Operations::Features]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
field :features, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('features') } }
# Payment service used for your Plex Pass subscription
field :payment_service, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('paymentService') } }
# Name of Plex Pass subscription plan
@@ -28,7 +28,7 @@ module PlexRubySDK
field :subscribed_at, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subscribedAt') } }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::PlexRubySDK::Operations::Features]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::GetTokenDetailsAuthenticationStatus), subscribed_at: T.nilable(::String)).void }
sig { params(active: T.nilable(T::Boolean), features: T.nilable(T::Array[::String]), payment_service: T.nilable(::String), plan: T.nilable(::String), status: T.nilable(::PlexRubySDK::Operations::GetTokenDetailsAuthenticationStatus), subscribed_at: T.nilable(::String)).void }
def initialize(active: nil, features: nil, payment_service: nil, plan: nil, status: nil, subscribed_at: nil)
@active = active
@features = features

View File

@@ -231,7 +231,7 @@ module PlexRubySDK
})
base_url = server_url if !server_url.nil?
url = "#{base_url}/resources"
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetServerResourcesRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
@@ -275,7 +275,7 @@ module PlexRubySDK
})
base_url = server_url if !server_url.nil?
url = "#{base_url}/pins"
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetPinRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
@@ -319,14 +319,12 @@ module PlexRubySDK
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetTokenByPinIdRequest, request, @sdk_configuration.globals)
headers = Utils.get_headers(request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')

View File

@@ -21,8 +21,8 @@ module PlexRubySDK
client_id: ::String,
client_name: ::String,
client_version: ::String,
client_platform: ::String,
device_name: ::String,
platform: ::String,
device_nickname: ::String,
protocol: T.nilable(::PlexRubySDK::ServerVariables::ServerProtocol),
ip: T.nilable(::String),
port: T.nilable(::String),
@@ -35,8 +35,8 @@ module PlexRubySDK
client_id: nil,
client_name: nil,
client_version: nil,
client_platform: nil,
device_name: nil,
platform: nil,
device_nickname: nil,
protocol: nil,
ip: nil,
port: nil,
@@ -50,8 +50,8 @@ module PlexRubySDK
# @param [::String] client_id: Configures the client_id parameter for all supported operations
# @param [::String] client_name: Configures the client_name parameter for all supported operations
# @param [::String] client_version: Configures the client_version parameter for all supported operations
# @param [::String] client_platform: Configures the client_platform parameter for all supported operations
# @param [::String] device_name: Configures the device_name parameter for all supported operations
# @param [::String] platform: Configures the platform parameter for all supported operations
# @param [::String] device_nickname: Configures the device_nickname parameter for all supported operations
# @param [T.nilable(::PlexRubySDK::ServerVariables::ServerProtocol)] protocol: Allows setting the protocol variable for url substitution
# @param [T.nilable(::String)] ip: Allows setting the ip variable for url substitution
# @param [T.nilable(::String)] port: Allows setting the port variable for url substitution
@@ -86,15 +86,15 @@ module PlexRubySDK
globals = {
'parameters': {
'queryParam': {
'client_id': client_id,
'client_name': client_name,
'client_version': client_version,
'client_platform': client_platform,
'device_name': device_name,
},
'pathParam': {
},
'header': {
'client_id': client_id,
'client_name': client_name,
'client_version': client_version,
'platform': platform,
'device_nickname': device_nickname,
}
}
}

View File

@@ -42,9 +42,9 @@ module PlexRubySDK
@globals = globals.nil? ? {} : globals
@language = 'ruby'
@openapi_doc_version = '0.0.3'
@sdk_version = '0.4.6'
@gen_version = '2.428.1'
@user_agent = 'speakeasy-sdk/ruby 0.4.6 2.428.1 0.0.3 plex_ruby_sdk'
@sdk_version = '0.4.7'
@gen_version = '2.429.0'
@user_agent = 'speakeasy-sdk/ruby 0.4.7 2.429.0 0.0.3 plex_ruby_sdk'
end
sig { returns([String, T::Hash[Symbol, String]]) }

View File

@@ -311,14 +311,12 @@ module PlexRubySDK
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/media/providers"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetMediaProvidersRequest, request, @sdk_configuration.globals)
headers = Utils.get_headers(request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end

View File

@@ -39,7 +39,7 @@ module PlexRubySDK
request,
@sdk_configuration.globals
)
headers = {}
headers = Utils.get_headers(request, @sdk_configuration.globals)
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetWatchListRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent