diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 3374c42..0fb48d2 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: aa9449e7-c19d-411d-b8e2-f9c5fe982f6f management: - docChecksum: 82a4a9784fb0e66e1c64f130701cdd08 + docChecksum: 5e039359563b41bbe118fc6701ba22dc docVersion: 0.0.3 - speakeasyVersion: 1.401.2 - generationVersion: 2.421.3 - releaseVersion: 0.4.1 - configChecksum: 8e38ccf76a49f71542666ea7b0c843e1 + speakeasyVersion: 1.402.14 + generationVersion: 2.422.22 + releaseVersion: 0.4.2 + configChecksum: bf8c6debe1b811f37b69f20b78e3900b repoURL: https://github.com/LukeHagar/plexruby.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexruby published: true features: ruby: - core: 3.2.23 + core: 3.2.24 deprecations: 2.81.1 enums: 2.81.1 flattening: 2.81.1 @@ -199,12 +199,16 @@ generatedFiles: - docs/models/operations/getlibrarydetailsbadrequest.md - docs/models/operations/getlibrarydetailsdirectory.md - docs/models/operations/getlibrarydetailserrors.md + - docs/models/operations/getlibrarydetailsfield.md + - docs/models/operations/getlibrarydetailsfieldtype.md - docs/models/operations/getlibrarydetailsfilter.md - docs/models/operations/getlibrarydetailslibraryerrors.md - docs/models/operations/getlibrarydetailsmediacontainer.md + - docs/models/operations/getlibrarydetailsoperator.md - docs/models/operations/getlibrarydetailsrequest.md - docs/models/operations/getlibrarydetailsresponse.md - docs/models/operations/getlibrarydetailsresponsebody.md + - docs/models/operations/getlibrarydetailssort.md - docs/models/operations/getlibrarydetailstype.md - docs/models/operations/getlibrarydetailsunauthorized.md - docs/models/operations/getlibraryhubsbadrequest.md @@ -224,29 +228,51 @@ generatedFiles: - docs/models/operations/getlibraryhubsrole.md - docs/models/operations/getlibraryhubsunauthorized.md - docs/models/operations/getlibraryhubswriter.md + - docs/models/operations/getlibraryitemsactivedirection.md - docs/models/operations/getlibraryitemsbadrequest.md + - docs/models/operations/getlibraryitemscollection.md - docs/models/operations/getlibraryitemscountry.md + - docs/models/operations/getlibraryitemsdefaultdirection.md - docs/models/operations/getlibraryitemsdirector.md - docs/models/operations/getlibraryitemserrors.md - docs/models/operations/getlibraryitemsfield.md - docs/models/operations/getlibraryitemsfieldtype.md - docs/models/operations/getlibraryitemsfilter.md + - docs/models/operations/getlibraryitemsflattenseasons.md - docs/models/operations/getlibraryitemsgenre.md + - docs/models/operations/getlibraryitemshasthumbnail.md - docs/models/operations/getlibraryitemsimage.md + - docs/models/operations/getlibraryitemslibraryactivedirection.md + - docs/models/operations/getlibraryitemslibrarydefaultdirection.md - docs/models/operations/getlibraryitemslibraryerrors.md + - docs/models/operations/getlibraryitemslibraryfield.md + - docs/models/operations/getlibraryitemslibraryfieldtype.md + - docs/models/operations/getlibraryitemslibraryfilter.md + - docs/models/operations/getlibraryitemslibraryoperator.md + - docs/models/operations/getlibraryitemslibraryresponse200type.md - docs/models/operations/getlibraryitemslibraryresponsetype.md + - docs/models/operations/getlibraryitemslibrarysort.md - docs/models/operations/getlibraryitemslibrarytype.md - docs/models/operations/getlibraryitemsmedia.md - docs/models/operations/getlibraryitemsmediacontainer.md + - docs/models/operations/getlibraryitemsmediaguid.md + - docs/models/operations/getlibraryitemsmeta.md - docs/models/operations/getlibraryitemsmetadata.md + - docs/models/operations/getlibraryitemsmetadatarating.md - docs/models/operations/getlibraryitemsoperator.md + - docs/models/operations/getlibraryitemsoptimizedforstreaming.md - docs/models/operations/getlibraryitemspart.md + - docs/models/operations/getlibraryitemsqueryparamincludemeta.md + - docs/models/operations/getlibraryitemsqueryparamtype.md - docs/models/operations/getlibraryitemsrequest.md - docs/models/operations/getlibraryitemsresponse.md - docs/models/operations/getlibraryitemsresponsebody.md - docs/models/operations/getlibraryitemsrole.md + - docs/models/operations/getlibraryitemsshowordering.md - docs/models/operations/getlibraryitemssort.md + - docs/models/operations/getlibraryitemsstream.md - docs/models/operations/getlibraryitemstype.md + - docs/models/operations/getlibraryitemsultrablurcolors.md - docs/models/operations/getlibraryitemsunauthorized.md - docs/models/operations/getlibraryitemswriter.md - docs/models/operations/getmediaprovidersbadrequest.md @@ -272,6 +298,7 @@ generatedFiles: - docs/models/operations/getmetadatabyratingkeyresponse.md - docs/models/operations/getmetadatabyratingkeyresponsebody.md - docs/models/operations/getmetadatabyratingkeyrole.md + - docs/models/operations/getmetadatabyratingkeystream.md - docs/models/operations/getmetadatabyratingkeyunauthorized.md - docs/models/operations/getmetadatabyratingkeywriter.md - docs/models/operations/getmetadatachildrenbadrequest.md @@ -342,15 +369,40 @@ generatedFiles: - docs/models/operations/getplaylistsresponsebody.md - docs/models/operations/getplaylistsunauthorized.md - docs/models/operations/getplaylistunauthorized.md - - docs/models/operations/getrecentlyaddedbadrequest.md - - docs/models/operations/getrecentlyaddederrors.md + - docs/models/operations/getrecentlyaddedactivedirection.md + - docs/models/operations/getrecentlyaddeddefaultdirection.md + - docs/models/operations/getrecentlyaddedfield.md + - docs/models/operations/getrecentlyaddedfieldtype.md + - docs/models/operations/getrecentlyaddedfilter.md + - docs/models/operations/getrecentlyaddedhubsresponsetype.md + - docs/models/operations/getrecentlyaddedhubstype.md + - docs/models/operations/getrecentlyaddedimage.md + - docs/models/operations/getrecentlyaddedlibrarybadrequest.md + - docs/models/operations/getrecentlyaddedlibrarycountry.md + - docs/models/operations/getrecentlyaddedlibrarydirector.md - docs/models/operations/getrecentlyaddedlibraryerrors.md + - docs/models/operations/getrecentlyaddedlibraryfilter.md + - docs/models/operations/getrecentlyaddedlibrarygenre.md + - docs/models/operations/getrecentlyaddedlibrarylibraryerrors.md + - docs/models/operations/getrecentlyaddedlibrarymedia.md + - docs/models/operations/getrecentlyaddedlibrarymediacontainer.md + - docs/models/operations/getrecentlyaddedlibrarymetadata.md + - docs/models/operations/getrecentlyaddedlibrarypart.md + - docs/models/operations/getrecentlyaddedlibraryrequest.md + - docs/models/operations/getrecentlyaddedlibraryresponse.md + - docs/models/operations/getrecentlyaddedlibraryresponsebody.md + - docs/models/operations/getrecentlyaddedlibraryrole.md + - docs/models/operations/getrecentlyaddedlibrarytype.md + - docs/models/operations/getrecentlyaddedlibraryunauthorized.md + - docs/models/operations/getrecentlyaddedlibrarywriter.md - docs/models/operations/getrecentlyaddedmediacontainer.md - docs/models/operations/getrecentlyaddedmetadata.md + - docs/models/operations/getrecentlyaddedoperator.md - docs/models/operations/getrecentlyaddedrequest.md - docs/models/operations/getrecentlyaddedresponse.md - docs/models/operations/getrecentlyaddedresponsebody.md - - docs/models/operations/getrecentlyaddedunauthorized.md + - docs/models/operations/getrecentlyaddedsort.md + - docs/models/operations/getrecentlyaddedtype.md - docs/models/operations/getrefreshlibrarymetadatabadrequest.md - docs/models/operations/getrefreshlibrarymetadataerrors.md - docs/models/operations/getrefreshlibrarymetadatalibraryerrors.md @@ -376,6 +428,7 @@ generatedFiles: - docs/models/operations/getsearchlibrarylibraryerrors.md - docs/models/operations/getsearchlibrarymediacontainer.md - docs/models/operations/getsearchlibrarymetadata.md + - docs/models/operations/getsearchlibraryqueryparamtype.md - docs/models/operations/getsearchlibraryrequest.md - docs/models/operations/getsearchlibraryresponse.md - docs/models/operations/getsearchlibraryresponsebody.md @@ -594,10 +647,12 @@ generatedFiles: - docs/models/operations/mediareviewsvisibility.md - docs/models/operations/meta.md - docs/models/operations/metadata.md + - docs/models/operations/metadatarating.md - docs/models/operations/minsize.md - docs/models/operations/myplex.md - docs/models/operations/onlytransient.md - docs/models/operations/operator.md + - docs/models/operations/optimizedforstreaming.md - docs/models/operations/part.md - docs/models/operations/pastsubscription.md - docs/models/operations/pathparamtaskname.md @@ -630,6 +685,7 @@ generatedFiles: - docs/models/operations/postuserssignindatafeatures.md - docs/models/operations/postuserssignindatamailingliststatus.md - docs/models/operations/postuserssignindatamediareviewsvisibility.md + - docs/models/operations/postuserssignindatarequest.md - docs/models/operations/postuserssignindatarequestbody.md - docs/models/operations/postuserssignindataresponse.md - docs/models/operations/postuserssignindataservices.md @@ -645,6 +701,7 @@ generatedFiles: - docs/models/operations/provider.md - docs/models/operations/queryparamfilter.md - docs/models/operations/queryparamforce.md + - docs/models/operations/queryparamincludemeta.md - docs/models/operations/queryparamonlytransient.md - docs/models/operations/queryparamsmart.md - docs/models/operations/queryparamtype.md @@ -868,37 +925,63 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_library_details_badrequest.rb - lib/plex_ruby_sdk/models/operations/get_library_details_directory.rb - lib/plex_ruby_sdk/models/operations/get_library_details_errors.rb + - lib/plex_ruby_sdk/models/operations/get_library_details_field.rb + - lib/plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb - lib/plex_ruby_sdk/models/operations/get_library_details_filter.rb - lib/plex_ruby_sdk/models/operations/get_library_details_library_errors.rb - lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb + - lib/plex_ruby_sdk/models/operations/get_library_details_operator.rb - lib/plex_ruby_sdk/models/operations/get_library_details_request.rb - lib/plex_ruby_sdk/models/operations/get_library_details_response.rb - lib/plex_ruby_sdk/models/operations/get_library_details_responsebody.rb + - lib/plex_ruby_sdk/models/operations/get_library_details_sort.rb - lib/plex_ruby_sdk/models/operations/get_library_details_type.rb - lib/plex_ruby_sdk/models/operations/get_library_details_unauthorized.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_activedirection.rb - lib/plex_ruby_sdk/models/operations/get_library_items_badrequest.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb - lib/plex_ruby_sdk/models/operations/get_library_items_country.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb - lib/plex_ruby_sdk/models/operations/get_library_items_director.rb - lib/plex_ruby_sdk/models/operations/get_library_items_errors.rb - lib/plex_ruby_sdk/models/operations/get_library_items_field.rb - lib/plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb - lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb - lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb - lib/plex_ruby_sdk/models/operations/get_library_items_image.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_errors.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_media.rb - lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb - lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb - lib/plex_ruby_sdk/models/operations/get_library_items_operator.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb - lib/plex_ruby_sdk/models/operations/get_library_items_part.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_request.rb - lib/plex_ruby_sdk/models/operations/get_library_items_response.rb - lib/plex_ruby_sdk/models/operations/get_library_items_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_library_items_role.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb - lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb - lib/plex_ruby_sdk/models/operations/get_library_items_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_library_items_unauthorized.rb - lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb - lib/plex_ruby_sdk/models/operations/get_media_providers_badrequest.rb @@ -924,8 +1007,43 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_response.rb - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_role.rb + - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_unauthorized.rb - lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_writer.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_field.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_image.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_badrequest.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_country.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_director.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_errors.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_library_errors.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_media.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_metadata.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_part.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_response.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_role.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_unauthorized.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_operator.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_response.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_sort.rb + - lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb - lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_badrequest.rb - lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_errors.rb - lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_library_errors.rb @@ -937,6 +1055,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_search_library_library_errors.rb - lib/plex_ruby_sdk/models/operations/get_search_library_mediacontainer.rb - lib/plex_ruby_sdk/models/operations/get_search_library_metadata.rb + - lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb - lib/plex_ruby_sdk/models/operations/get_search_library_request.rb - lib/plex_ruby_sdk/models/operations/get_search_library_response.rb - lib/plex_ruby_sdk/models/operations/get_search_library_responsebody.rb @@ -1111,15 +1230,6 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/getplaylists_response.rb - lib/plex_ruby_sdk/models/operations/getplaylists_responsebody.rb - lib/plex_ruby_sdk/models/operations/getplaylists_unauthorized.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_response.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb - - lib/plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb - lib/plex_ruby_sdk/models/operations/getresizedphoto_badrequest.rb - lib/plex_ruby_sdk/models/operations/getresizedphoto_errors.rb - lib/plex_ruby_sdk/models/operations/getresizedphoto_request.rb @@ -1325,10 +1435,12 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/mediareviewsvisibility.rb - lib/plex_ruby_sdk/models/operations/meta.rb - lib/plex_ruby_sdk/models/operations/metadata.rb + - lib/plex_ruby_sdk/models/operations/metadatarating.rb - lib/plex_ruby_sdk/models/operations/minsize.rb - lib/plex_ruby_sdk/models/operations/myplex.rb - lib/plex_ruby_sdk/models/operations/onlytransient.rb - lib/plex_ruby_sdk/models/operations/operator.rb + - lib/plex_ruby_sdk/models/operations/optimizedforstreaming.rb - lib/plex_ruby_sdk/models/operations/part.rb - lib/plex_ruby_sdk/models/operations/pastsubscription.rb - lib/plex_ruby_sdk/models/operations/pathparam_taskname.rb @@ -1361,6 +1473,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_features.rb - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mailingliststatus.rb - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_mediareviewsvisibility.rb + - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_requestbody.rb - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_response.rb - lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_services.rb @@ -1376,6 +1489,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/provider.rb - lib/plex_ruby_sdk/models/operations/queryparam_filter.rb - lib/plex_ruby_sdk/models/operations/queryparam_force.rb + - lib/plex_ruby_sdk/models/operations/queryparam_includemeta.rb - lib/plex_ruby_sdk/models/operations/queryparam_onlytransient.rb - lib/plex_ruby_sdk/models/operations/queryparam_smart.rb - lib/plex_ruby_sdk/models/operations/queryparam_type.rb @@ -1844,6 +1958,7 @@ examples: X-Plex-Device: "Linux" X-Plex-Version: "4.133.0" X-Plex-Platform: "Chrome" + X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40" responses: "200": application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": 802, "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null} @@ -2003,7 +2118,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": []}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -2300,6 +2415,23 @@ examples: application/json: {"errors": []} "401": application/json: {"errors": []} + "": + parameters: + query: + X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40" + X-Plex-Product: "Plex Web" + X-Plex-Device: "Linux" + X-Plex-Version: "4.133.0" + X-Plex-Platform: "Chrome" + requestBody: + application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "verificationCode": "123456"} + responses: + "201": + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": [], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1721154902, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1722364046, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": "string", "endsAt": "1556281940", "canceled": "0", "gracePeriod": "0", "onHold": "0", "canReactivate": "0", "canUpgrade": "0", "canDowngrade": "0", "canConvert": "0", "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": []} getStatistics: "": parameters: @@ -2472,3 +2604,34 @@ examples: application/json: {"errors": []} "401": application/json: {"errors": []} + get-recently-added: + speakeasy-default-get-recently-added: + parameters: + query: + contentDirectoryID: 470161 + sectionID: 2 + type: 2 + includeMeta: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": []}]}], "Genre": [{"tag": "Adventure"}], "Country": [], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [], "Collection": [], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}]}} + get-recently-added-library: + speakeasy-default-get-recently-added-library: + parameters: + query: + contentDirectoryID: 2 + pinnedContentDirectoryID: [3, 5, 7, 13, 12, 1, 6, 14, 2, 10, 16, 17] + sectionID: 2 + type: 2 + includeMeta: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [], "size": 50, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1680021154, "Metadata": [{"librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "ratingKey": 59398, "key": "/library/metadata/59398", "guid": "plex://movie/5e161a83bea6ac004126e148", "studio": "Marvel Studios", "type": "movie", "title": "Ant-Man and the Wasp: Quantumania", "contentRating": "PG-13", "summary": "Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible.", "rating": 4.7, "audienceRating": 8.3, "year": 2023, "tagline": "Witness the beginning of a new dynasty.", "thumb": "/library/metadata/59398/thumb/1681888010", "art": "/library/metadata/59398/art/1681888010", "duration": 7474422, "originallyAvailableAt": "2023-02-15T00:00:00Z", "addedAt": 1681803215, "updatedAt": 1681888010, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/59399", "ratingImage": "rottentomatoes://image.rating.rotten", "Media": [{"id": 120345, "duration": 7474422, "bitrate": 3623, "width": 1920, "height": 804, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "ac3", "videoCodec": "h264", "videoResolution": 1080, "container": "mp4", "videoFrameRate": "24p", "optimizedForStreaming": 0, "videoProfile": "high", "Part": []}], "Genre": [], "Director": [{"tag": "Peyton Reed"}], "Writer": [], "Country": [], "Role": [{"tag": "Paul Rudd"}, {"tag": "Paul Rudd"}, {"tag": "Paul Rudd"}]}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 6bf530f..ba49542 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: false ruby: - version: 0.4.1 + version: 0.4.2 author: LukeHagar description: Ruby Client SDK Generated by Speakeasy imports: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6c8c329..d5e2fba 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.401.2 +speakeasyVersion: 1.402.14 sources: my-source: sourceNamespace: my-source @@ -9,8 +9,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb - sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 + sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e + sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e tags: - latest - main @@ -18,10 +18,10 @@ targets: plexruby: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb - sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 + sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e + sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e codeSamplesNamespace: code-samples-ruby-plexruby - codeSamplesRevisionDigest: sha256:882f0cf5790d22f412dfa3648c1feb8affe2560b8fb94821ee041bcc37b40613 + codeSamplesRevisionDigest: sha256:2e926a14a71aa699533691b1e736837f18fd9d63fb94993e442e01cc4391a075 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/Gemfile.lock b/Gemfile.lock index 2f52b90..2fad9dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - plex_ruby_sdk (0.4.1) + plex_ruby_sdk (0.4.2) faraday faraday-multipart rack diff --git a/README.md b/README.md index 8b22bff..21cede6 100644 --- a/README.md +++ b/README.md @@ -94,12 +94,13 @@ end ### [Hubs](docs/sdks/hubs/README.md) * [get_global_hubs](docs/sdks/hubs/README.md#get_global_hubs) - Get Global Hubs +* [get_recently_added](docs/sdks/hubs/README.md#get_recently_added) - Get Recently Added * [get_library_hubs](docs/sdks/hubs/README.md#get_library_hubs) - Get library specific hubs ### [Library](docs/sdks/library/README.md) * [get_file_hash](docs/sdks/library/README.md#get_file_hash) - Get Hash Value -* [get_recently_added](docs/sdks/library/README.md#get_recently_added) - Get Recently Added +* [get_recently_added_library](docs/sdks/library/README.md#get_recently_added_library) - Get Recently Added * [get_all_libraries](docs/sdks/library/README.md#get_all_libraries) - Get All Libraries * [get_library_details](docs/sdks/library/README.md#get_library_details) - Get Library Details * [delete_library](docs/sdks/library/README.md#delete_library) - Delete Library Section diff --git a/RELEASES.md b/RELEASES.md index bc5508d..46b7ad9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -556,4 +556,14 @@ Based on: ### Generated - [ruby v0.4.1] . ### Releases -- [Ruby Gems v0.4.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.1 - . \ No newline at end of file +- [Ruby Gems v0.4.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.1 - . + +## 2024-09-26 00:07:32 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.402.14 (2.422.22) https://github.com/speakeasy-api/speakeasy +### Generated +- [ruby v0.4.2] . +### Releases +- [Ruby Gems v0.4.2] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.2 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 255182d..5e054cd 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -123,12 +123,18 @@ actions: - lang: ruby label: getGlobalHubs source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.hubs.get_global_hubs(count=1262.49, only_transient=::PlexRubySDK::Operations::OnlyTransient::ONE)\n\nif ! res.object.nil?\n # handle response\nend" + - target: $["paths"]["/hubs/home/recentlyAdded"]["get"] + update: + x-codeSamples: + - lang: ruby + label: added + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetRecentlyAddedRequest.new(\n content_directory_id: 470161,\n section_id: 2,\n type: ::PlexRubySDK::Operations::Type::TV_SHOW,\n include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.hubs.get_recently_added(req)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/hubs/search"]["get"] update: x-codeSamples: - lang: ruby label: performSearch - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.search.perform_search(query=\"dylan\", section_id=5838.67, limit=5.0)\n\nif res.status_code == 200\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.search.perform_search(query=\"dylan\", section_id=9372.69, limit=5.0)\n\nif res.status_code == 200\n # handle response\nend" - target: $["paths"]["/hubs/search/voice"]["get"] update: x-codeSamples: @@ -193,8 +199,8 @@ actions: update: x-codeSamples: - lang: ruby - label: getRecentlyAdded - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_recently_added(x_plex_container_start=0, x_plex_container_size=50)\n\nif ! res.object.nil?\n # handle response\nend" + label: library + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetRecentlyAddedLibraryRequest.new(\n content_directory_id: 2,\n pinned_content_directory_id: [\n 3,\n 5,\n 7,\n 13,\n 12,\n 1,\n 6,\n 14,\n 2,\n 10,\n 16,\n 17,\n ],\n section_id: 2,\n type: ::PlexRubySDK::Operations::QueryParamType::TV_SHOW,\n include_meta: ::PlexRubySDK::Operations::QueryParamIncludeMeta::ENABLE,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.library.get_recently_added_library(req)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/library/sections"]["get"] update: x-codeSamples: @@ -230,13 +236,13 @@ actions: x-codeSamples: - lang: ruby label: library - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::TV_SHOW)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::GetSearchLibraryQueryParamType::TV_SHOW)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"] update: x-codeSamples: - lang: ruby label: items - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new(\n section_key: 9518,\n tag: ::PlexRubySDK::Operations::Tag::EDITION,\n include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE,\n include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE,\n type: ::PlexRubySDK::Operations::Type::TV_SHOW,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.library.get_library_items(req)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new(\n section_key: 9518,\n tag: ::PlexRubySDK::Operations::Tag::EDITION,\n include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE,\n type: ::PlexRubySDK::Operations::GetLibraryItemsQueryParamType::TV_SHOW,\n include_meta: ::PlexRubySDK::Operations::GetLibraryItemsQueryParamIncludeMeta::ENABLE,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.library.get_library_items(req)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/log"]["get"] update: x-codeSamples: @@ -272,7 +278,7 @@ actions: x-codeSamples: - lang: ruby label: getResizedPhoto - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetResizedPhotoRequest.new(\n width: 110.0,\n height: 165.0,\n opacity: 643869,\n blur: 4000.0,\n min_size: ::PlexRubySDK::Operations::MinSize::ONE,\n upscale: ::PlexRubySDK::Operations::Upscale::ZERO,\n url: \"/library/metadata/49564/thumb/1654258204\",\n)\n \nres = s.server.get_resized_photo(req)\n\nif res.status_code == 200\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetResizedPhotoRequest.new(\n width: 110.0,\n height: 165.0,\n opacity: 643869,\n blur: 0.0,\n min_size: ::PlexRubySDK::Operations::MinSize::ONE,\n upscale: ::PlexRubySDK::Operations::Upscale::ONE,\n url: \"/library/metadata/49564/thumb/1654258204\",\n)\n \nres = s.server.get_resized_photo(req)\n\nif res.status_code == 200\n # handle response\nend" - target: $["paths"]["/pins"]["post"] update: x-codeSamples: @@ -356,7 +362,7 @@ actions: x-codeSamples: - lang: ruby label: getSourceConnectionInformation - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.authentication.get_source_connection_information(source=\"provider://provider-identifier\")\n\nif res.status_code == 200\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.authentication.get_source_connection_information(source=\"server://client-identifier\")\n\nif res.status_code == 200\n # handle response\nend" - target: $["paths"]["/security/token"]["get"] update: x-codeSamples: @@ -440,7 +446,7 @@ actions: x-codeSamples: - lang: ruby label: data - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\n\n\nreq = ::PlexRubySDK::Operations::PostUsersSignInDataRequestBody.new(\n login: \"username@email.com\",\n password: \"password123\",\n verification_code: \"123456\",\n)\n \nres = s.authentication.post_users_sign_in_data(req)\n\nif ! res.user_plex_account.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\n\n\nreq = ::PlexRubySDK::Operations::PostUsersSignInDataRequest.new(\n request_body: ::PlexRubySDK::Operations::PostUsersSignInDataRequestBody.new(\n login: \"username@email.com\",\n password: \"password123\",\n verification_code: \"123456\",\n ),\n)\n \nres = s.authentication.post_users_sign_in_data(req)\n\nif ! res.user_plex_account.nil?\n # handle response\nend" - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] update: x-codeSamples: diff --git a/docs/models/operations/director.md b/docs/models/operations/director.md index a71465b..2a61b96 100644 --- a/docs/models/operations/director.md +++ b/docs/models/operations/director.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Peyton Reed | \ No newline at end of file +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/models/operations/field.md b/docs/models/operations/field.md index 0a99f60..157ad0b 100644 --- a/docs/models/operations/field.md +++ b/docs/models/operations/field.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | label | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Label | -| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | tag | -| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bitrate | \ No newline at end of file +| `key` | *::String* | :heavy_check_mark: | N/A | show.title | +| `title` | *::String* | :heavy_check_mark: | N/A | Show Title | +| `type` | *::String* | :heavy_check_mark: | N/A | string | +| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/models/operations/fieldtype.md b/docs/models/operations/fieldtype.md index 7acec21..9f712c7 100644 --- a/docs/models/operations/fieldtype.md +++ b/docs/models/operations/fieldtype.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | resolution | -| `operator` | T::Array<[::PlexRubySDK::Operations::Operator](../../models/operations/operator.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `type` | *::String* | :heavy_check_mark: | N/A | tag | +| `operator` | T::Array<[::PlexRubySDK::Operations::Operator](../../models/operations/operator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/genre.md b/docs/models/operations/genre.md index 952118c..b3933da 100644 --- a/docs/models/operations/genre.md +++ b/docs/models/operations/genre.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Comedy | \ No newline at end of file +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file diff --git a/docs/models/operations/getalllibrariesdirectory.md b/docs/models/operations/getalllibrariesdirectory.md index 422cd3e..3e63a8e 100644 --- a/docs/models/operations/getalllibrariesdirectory.md +++ b/docs/models/operations/getalllibrariesdirectory.md @@ -23,6 +23,6 @@ | `scanned_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `content` | *T::Boolean* | :heavy_check_mark: | N/A | true | | `directory` | *T::Boolean* | :heavy_check_mark: | N/A | true | -| `content_changed_at` | *::Integer* | :heavy_check_mark: | N/A | 3192854 | +| `content_changed_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `hidden` | *::Integer* | :heavy_check_mark: | N/A | 0 | | `location` | T::Array<[::PlexRubySDK::Operations::Location](../../models/operations/location.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailsfield.md b/docs/models/operations/getlibrarydetailsfield.md new file mode 100644 index 0000000..0c10770 --- /dev/null +++ b/docs/models/operations/getlibrarydetailsfield.md @@ -0,0 +1,11 @@ +# GetLibraryDetailsField + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | label | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Label | +| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | tag | +| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bitrate | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailsfieldtype.md b/docs/models/operations/getlibrarydetailsfieldtype.md new file mode 100644 index 0000000..27d8cfe --- /dev/null +++ b/docs/models/operations/getlibrarydetailsfieldtype.md @@ -0,0 +1,9 @@ +# GetLibraryDetailsFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | resolution | +| `operator` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsOperator](../../models/operations/getlibrarydetailsoperator.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailsmediacontainer.md b/docs/models/operations/getlibrarydetailsmediacontainer.md index 57c276b..f214f44 100644 --- a/docs/models/operations/getlibrarydetailsmediacontainer.md +++ b/docs/models/operations/getlibrarydetailsmediacontainer.md @@ -19,4 +19,4 @@ | `view_mode` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 65592 | | `directory` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsDirectory](../../models/operations/getlibrarydetailsdirectory.md)> | :heavy_minus_sign: | N/A | | | `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsType](../../models/operations/getlibrarydetailstype.md)> | :heavy_minus_sign: | N/A | | -| `field_type` | T::Array<[::PlexRubySDK::Operations::FieldType](../../models/operations/fieldtype.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsFieldType](../../models/operations/getlibrarydetailsfieldtype.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailsoperator.md b/docs/models/operations/getlibrarydetailsoperator.md new file mode 100644 index 0000000..3f2cf53 --- /dev/null +++ b/docs/models/operations/getlibrarydetailsoperator.md @@ -0,0 +1,9 @@ +# GetLibraryDetailsOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | = | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailssort.md b/docs/models/operations/getlibrarydetailssort.md new file mode 100644 index 0000000..837bea5 --- /dev/null +++ b/docs/models/operations/getlibrarydetailssort.md @@ -0,0 +1,13 @@ +# GetLibraryDetailsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `default_direction` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | desc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | random:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | random | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Randomly | \ No newline at end of file diff --git a/docs/models/operations/getlibrarydetailstype.md b/docs/models/operations/getlibrarydetailstype.md index 78ed117..a4cc58c 100644 --- a/docs/models/operations/getlibrarydetailstype.md +++ b/docs/models/operations/getlibrarydetailstype.md @@ -10,5 +10,5 @@ | `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | | `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | | `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsFilter](../../models/operations/getlibrarydetailsfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[::PlexRubySDK::Operations::Sort](../../models/operations/sort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[::PlexRubySDK::Operations::Field](../../models/operations/field.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsSort](../../models/operations/getlibrarydetailssort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryDetailsField](../../models/operations/getlibrarydetailsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsactivedirection.md b/docs/models/operations/getlibraryitemsactivedirection.md new file mode 100644 index 0000000..6ced7e8 --- /dev/null +++ b/docs/models/operations/getlibraryitemsactivedirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscollection.md b/docs/models/operations/getlibraryitemscollection.md new file mode 100644 index 0000000..03aacb6 --- /dev/null +++ b/docs/models/operations/getlibraryitemscollection.md @@ -0,0 +1,8 @@ +# GetLibraryItemsCollection + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsdefaultdirection.md b/docs/models/operations/getlibraryitemsdefaultdirection.md new file mode 100644 index 0000000..b1bdea4 --- /dev/null +++ b/docs/models/operations/getlibraryitemsdefaultdirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsflattenseasons.md b/docs/models/operations/getlibraryitemsflattenseasons.md new file mode 100644 index 0000000..1a8b8e6 --- /dev/null +++ b/docs/models/operations/getlibraryitemsflattenseasons.md @@ -0,0 +1,9 @@ +# GetLibraryItemsFlattenSeasons + + +## Values + +| Name | Value | +| ------- | ------- | +| `FALSE` | 0 | +| `TRUE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemshasthumbnail.md b/docs/models/operations/getlibraryitemshasthumbnail.md new file mode 100644 index 0000000..ceb4ca0 --- /dev/null +++ b/docs/models/operations/getlibraryitemshasthumbnail.md @@ -0,0 +1,9 @@ +# GetLibraryItemsHasThumbnail + + +## Values + +| Name | Value | +| ------- | ------- | +| `FALSE` | 0 | +| `TRUE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsimage.md b/docs/models/operations/getlibraryitemsimage.md index cf80581..1efdde4 100644 --- a/docs/models/operations/getlibraryitemsimage.md +++ b/docs/models/operations/getlibraryitemsimage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | -| `type` | [::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_check_mark: | N/A | background | -| `url` | *::String* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [::PlexRubySDK::Operations::GetLibraryItemsLibraryResponse200Type](../../models/operations/getlibraryitemslibraryresponse200type.md) | :heavy_check_mark: | N/A | background | +| `url` | *::String* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryactivedirection.md b/docs/models/operations/getlibraryitemslibraryactivedirection.md new file mode 100644 index 0000000..5252490 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryactivedirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarydefaultdirection.md b/docs/models/operations/getlibraryitemslibrarydefaultdirection.md new file mode 100644 index 0000000..111d709 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibrarydefaultdirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfield.md b/docs/models/operations/getlibraryitemslibraryfield.md new file mode 100644 index 0000000..01ab2be --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryfield.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryField + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | show.title | +| `title` | *::String* | :heavy_check_mark: | N/A | Show Title | +| `type` | *::String* | :heavy_check_mark: | N/A | string | +| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfieldtype.md b/docs/models/operations/getlibraryitemslibraryfieldtype.md new file mode 100644 index 0000000..472f1a3 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryfieldtype.md @@ -0,0 +1,9 @@ +# GetLibraryItemsLibraryFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *::String* | :heavy_check_mark: | N/A | tag | +| `operator` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryOperator](../../models/operations/getlibraryitemslibraryoperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfilter.md b/docs/models/operations/getlibraryitemslibraryfilter.md new file mode 100644 index 0000000..18880f9 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryfilter.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `filter` | *::String* | :heavy_check_mark: | N/A | genre | +| `filter_type` | *::String* | :heavy_check_mark: | N/A | string | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `title` | *::String* | :heavy_check_mark: | N/A | Genre | +| `type` | *::String* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryoperator.md b/docs/models/operations/getlibraryitemslibraryoperator.md new file mode 100644 index 0000000..c474dcb --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryoperator.md @@ -0,0 +1,9 @@ +# GetLibraryItemsLibraryOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `key` | *::String* | :heavy_check_mark: | N/A | = | +| `title` | *::String* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryresponse200type.md b/docs/models/operations/getlibraryitemslibraryresponse200type.md new file mode 100644 index 0000000..b4e85e1 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryresponse200type.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryResponse200Type + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryresponsetype.md b/docs/models/operations/getlibraryitemslibraryresponsetype.md index 1573fa0..6d379c0 100644 --- a/docs/models/operations/getlibraryitemslibraryresponsetype.md +++ b/docs/models/operations/getlibraryitemslibraryresponsetype.md @@ -1,11 +1,14 @@ # GetLibraryItemsLibraryResponseType -## Values +## Fields -| Name | Value | -| -------------- | -------------- | -| `COVER_POSTER` | coverPoster | -| `BACKGROUND` | background | -| `SNAPSHOT` | snapshot | -| `CLEAR_LOGO` | clearLogo | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryFilter](../../models/operations/getlibraryitemslibraryfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibrarySort](../../models/operations/getlibraryitemslibrarysort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryField](../../models/operations/getlibraryitemslibraryfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarysort.md b/docs/models/operations/getlibraryitemslibrarysort.md new file mode 100644 index 0000000..acde21a --- /dev/null +++ b/docs/models/operations/getlibraryitemslibrarysort.md @@ -0,0 +1,15 @@ +# GetLibraryItemsLibrarySort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsLibraryActiveDirection)](../../models/operations/getlibraryitemslibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [::PlexRubySDK::Operations::GetLibraryItemsLibraryDefaultDirection](../../models/operations/getlibraryitemslibrarydefaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md index 49eee75..5a15184 100644 --- a/docs/models/operations/getlibraryitemslibrarytype.md +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -1,14 +1,14 @@ # GetLibraryItemsLibraryType +The type of media content -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `type` | *::String* | :heavy_check_mark: | N/A | show | -| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | -| `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmedia.md b/docs/models/operations/getlibraryitemsmedia.md index 63f2ed5..3e014e6 100644 --- a/docs/models/operations/getlibraryitemsmedia.md +++ b/docs/models/operations/getlibraryitemsmedia.md @@ -3,21 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | -| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | -| `bitrate` | *::Integer* | :heavy_check_mark: | N/A | 25025 | -| `width` | *::Integer* | :heavy_check_mark: | N/A | 3840 | -| `height` | *::Integer* | :heavy_check_mark: | N/A | 2072 | -| `aspect_ratio` | *::Float* | :heavy_check_mark: | N/A | 1.85 | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `audio_channels` | *::Integer* | :heavy_check_mark: | N/A | 6 | -| `audio_codec` | *::String* | :heavy_check_mark: | N/A | eac3 | -| `video_codec` | *::String* | :heavy_check_mark: | N/A | hevc | -| `video_resolution` | *::String* | :heavy_check_mark: | N/A | 4k | -| `container` | *::String* | :heavy_check_mark: | N/A | mkv | -| `video_frame_rate` | *::String* | :heavy_check_mark: | N/A | 24p | -| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | -| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `part` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `bitrate` | *::Integer* | :heavy_check_mark: | N/A | 25025 | +| `width` | *::Integer* | :heavy_check_mark: | N/A | 3840 | +| `height` | *::Integer* | :heavy_check_mark: | N/A | 2072 | +| `aspect_ratio` | *::Float* | :heavy_check_mark: | N/A | 1.85 | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `audio_channels` | *::Integer* | :heavy_check_mark: | N/A | 6 | +| `audio_codec` | *::String* | :heavy_check_mark: | N/A | eac3 | +| `video_codec` | *::String* | :heavy_check_mark: | N/A | hevc | +| `video_resolution` | *::String* | :heavy_check_mark: | N/A | 4k | +| `container` | *::String* | :heavy_check_mark: | N/A | mkv | +| `video_frame_rate` | *::String* | :heavy_check_mark: | N/A | 24p | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming)](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `part` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediacontainer.md b/docs/models/operations/getlibraryitemsmediacontainer.md index 1bb074e..675858e 100644 --- a/docs/models/operations/getlibraryitemsmediacontainer.md +++ b/docs/models/operations/getlibraryitemsmediacontainer.md @@ -1,28 +1,33 @@ # GetLibraryItemsMediaContainer +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `size` | *::Integer* | :heavy_check_mark: | N/A | 70 | -| `total_size` | *::Integer* | :heavy_check_mark: | N/A | 170 | -| `offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | -| `content` | *::String* | :heavy_check_mark: | N/A | secondary | -| `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | true | -| `nocache` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `art` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | -| `identifier` | *::String* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | -| `library_section_id` | *::Object* | :heavy_check_mark: | N/A | | -| `library_section_title` | *::String* | :heavy_check_mark: | N/A | Movies | -| `library_section_uuid` | *::String* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `media_tag_prefix` | *::String* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | -| `media_tag_version` | *::Integer* | :heavy_check_mark: | N/A | 1701731894 | -| `thumb` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie.png | -| `title1` | *::String* | :heavy_check_mark: | N/A | Movies | -| `title2` | *::String* | :heavy_check_mark: | N/A | Recently Released | -| `view_group` | *::String* | :heavy_check_mark: | N/A | movie | -| `view_mode` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 65592 | -| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `metadata` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_check_mark: | N/A | | -| `meta` | [T.nilable(::PlexRubySDK::Operations::Meta)](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md)> | :heavy_minus_sign: | N/A | | +| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | | +| `size` | *::Integer* | :heavy_check_mark: | N/A | 70 | +| `total_size` | *::Integer* | :heavy_check_mark: | N/A | 170 | +| `offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | +| `content` | *::String* | :heavy_check_mark: | N/A | secondary | +| `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | true | +| `nocache` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `art` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | +| `identifier` | *::String* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | +| `library_section_id` | *::Integer* | :heavy_check_mark: | N/A | 1 | +| `library_section_title` | *::String* | :heavy_check_mark: | N/A | Movies | +| `library_section_uuid` | *::String* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `media_tag_prefix` | *::String* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | +| `media_tag_version` | *::Integer* | :heavy_check_mark: | N/A | 1701731894 | +| `thumb` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie.png | +| `title1` | *::String* | :heavy_check_mark: | N/A | Movies | +| `title2` | *::String* | :heavy_check_mark: | N/A | Recently Released | +| `view_group` | *::String* | :heavy_check_mark: | N/A | movie | +| `view_mode` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 65592 | +| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `metadata` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_check_mark: | N/A | | +| `meta` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta)](../../models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediaguid.md b/docs/models/operations/getlibraryitemsmediaguid.md new file mode 100644 index 0000000..29db75f --- /dev/null +++ b/docs/models/operations/getlibraryitemsmediaguid.md @@ -0,0 +1,8 @@ +# GetLibraryItemsMediaGuid + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `id` | *::String* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmeta.md b/docs/models/operations/getlibraryitemsmeta.md new file mode 100644 index 0000000..84920e3 --- /dev/null +++ b/docs/models/operations/getlibraryitemsmeta.md @@ -0,0 +1,12 @@ +# GetLibraryItemsMeta + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md)> | :heavy_minus_sign: | N/A | +| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryFieldType](../../models/operations/getlibraryitemslibraryfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index 8978a5d..7d43d66 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -10,7 +10,10 @@ | `guid` | *::String* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | | `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 20th Century Studios | | `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `type` | [::PlexRubySDK::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | The type of media content
| movie | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `type` | [::PlexRubySDK::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content
| movie | | `title` | *::String* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | @@ -20,8 +23,8 @@ | `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | | `season_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | | `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `flatten_seasons` | [T.nilable(::PlexRubySDK::Operations::FlattenSeasons)](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | N/A | 1 | -| `show_ordering` | [T.nilable(::PlexRubySDK::Operations::ShowOrdering)](../../models/operations/showordering.md) | :heavy_minus_sign: | 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)).
| dvd | +| `flatten_seasons` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons)](../../models/operations/getlibraryitemsflattenseasons.md) | :heavy_minus_sign: | N/A | 1 | +| `show_ordering` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering)](../../models/operations/getlibraryitemsshowordering.md) | :heavy_minus_sign: | 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)).
| dvd | | `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | | `banner` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | @@ -38,6 +41,7 @@ | `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | | `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `parent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | @@ -46,10 +50,11 @@ | `country` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)> | :heavy_minus_sign: | N/A | | | `director` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)> | :heavy_minus_sign: | N/A | | | `writer` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)> | :heavy_minus_sign: | N/A | | -| `collection` | T::Array<[::PlexRubySDK::Operations::Collection](../../models/operations/collection.md)> | :heavy_minus_sign: | N/A | | +| `collection` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md)> | :heavy_minus_sign: | N/A | | | `role` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)> | :heavy_minus_sign: | N/A | | -| `media_guid` | T::Array<[::PlexRubySDK::Operations::MediaGuid](../../models/operations/mediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `ultra_blur_colors` | [T.nilable(::PlexRubySDK::Operations::UltraBlurColors)](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `media_guid` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid](../../models/operations/getlibraryitemsmediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `ultra_blur_colors` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors)](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `meta_data_rating` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating](../../models/operations/getlibraryitemsmetadatarating.md)> | :heavy_minus_sign: | N/A | | | `image` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md)> | :heavy_minus_sign: | N/A | | | `title_sort` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Whale | | `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | diff --git a/docs/models/operations/getlibraryitemsmetadatarating.md b/docs/models/operations/getlibraryitemsmetadatarating.md new file mode 100644 index 0000000..3a4daf6 --- /dev/null +++ b/docs/models/operations/getlibraryitemsmetadatarating.md @@ -0,0 +1,10 @@ +# GetLibraryItemsMetaDataRating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `image` | *::String* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | +| `value` | *::Float* | :heavy_check_mark: | The value of the rating. | 3 | +| `type` | *::String* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsoptimizedforstreaming.md b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md new file mode 100644 index 0000000..9b1efbf --- /dev/null +++ b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md @@ -0,0 +1,9 @@ +# GetLibraryItemsOptimizedForStreaming + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemspart.md b/docs/models/operations/getlibraryitemspart.md index a9b2ef4..97a2cdb 100644 --- a/docs/models/operations/getlibraryitemspart.md +++ b/docs/models/operations/getlibraryitemspart.md @@ -3,15 +3,18 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | -| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | -| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | -| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | -| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | -| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::HasThumbnail)](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | +| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | +| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsHasThumbnail)](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `stream` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsStream](../../models/operations/getlibraryitemsstream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsqueryparamincludemeta.md b/docs/models/operations/getlibraryitemsqueryparamincludemeta.md new file mode 100644 index 0000000..6727f37 --- /dev/null +++ b/docs/models/operations/getlibraryitemsqueryparamincludemeta.md @@ -0,0 +1,12 @@ +# GetLibraryItemsQueryParamIncludeMeta + +Adds the Meta object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsqueryparamtype.md b/docs/models/operations/getlibraryitemsqueryparamtype.md new file mode 100644 index 0000000..77694d5 --- /dev/null +++ b/docs/models/operations/getlibraryitemsqueryparamtype.md @@ -0,0 +1,19 @@ +# GetLibraryItemsQueryParamType + +The type of media to retrieve. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrequest.md b/docs/models/operations/getlibraryitemsrequest.md index e5eabdd..14de03e 100644 --- a/docs/models/operations/getlibraryitemsrequest.md +++ b/docs/models/operations/getlibraryitemsrequest.md @@ -8,7 +8,7 @@ | `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | | `tag` | [::PlexRubySDK::Operations::Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | | `include_guids` | [T.nilable(::PlexRubySDK::Operations::IncludeGuids)](../../models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `include_meta` | [T.nilable(::PlexRubySDK::Operations::IncludeMeta)](../../models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `type` | [T.nilable(::PlexRubySDK::Operations::Type)](../../models/operations/type.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `type` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamType)](../../models/operations/getlibraryitemsqueryparamtype.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_meta` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamIncludeMeta)](../../models/operations/getlibraryitemsqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | | `x_plex_container_start` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | | `x_plex_container_size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrole.md b/docs/models/operations/getlibraryitemsrole.md index b7f9abc..ca8afcd 100644 --- a/docs/models/operations/getlibraryitemsrole.md +++ b/docs/models/operations/getlibraryitemsrole.md @@ -3,6 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Sigourney Weaver | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | +| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | +| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsshowordering.md b/docs/models/operations/getlibraryitemsshowordering.md new file mode 100644 index 0000000..f4330eb --- /dev/null +++ b/docs/models/operations/getlibraryitemsshowordering.md @@ -0,0 +1,20 @@ +# GetLibraryItemsShowOrdering + +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)). + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `NONE` | None | +| `TMDB_AIRING` | tmdbAiring | +| `AIRED` | aired | +| `DVD` | dvd | +| `ABSOLUTE` | absolute | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemssort.md b/docs/models/operations/getlibraryitemssort.md index 71dc6aa..5a1d74c 100644 --- a/docs/models/operations/getlibraryitemssort.md +++ b/docs/models/operations/getlibraryitemssort.md @@ -3,13 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | -| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `active_direction` | [T.nilable(::PlexRubySDK::Operations::ActiveDirection)](../../models/operations/activedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `default_direction` | [::PlexRubySDK::Operations::DefaultDirection](../../models/operations/defaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | -| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | -| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | -| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsActiveDirection)](../../models/operations/getlibraryitemsactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [::PlexRubySDK::Operations::GetLibraryItemsDefaultDirection](../../models/operations/getlibraryitemsdefaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsstream.md b/docs/models/operations/getlibraryitemsstream.md new file mode 100644 index 0000000..5861bd5 --- /dev/null +++ b/docs/models/operations/getlibraryitemsstream.md @@ -0,0 +1,45 @@ +# GetLibraryItemsStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 272796 | +| `stream_type` | *::Integer* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the default stream | true | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream | h264 | +| `index` | *::Integer* | :heavy_check_mark: | The index of the stream | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | The color range of the video stream | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | The color space of the video stream | bt709 | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bit depth of the video stream | 8 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma location of the video stream | left | +| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | The identifier of the video stream | 2 | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded height of the video stream | 1088 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded width of the video stream | 1920 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The height of the video stream | 1080 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | The level of the video codec | 40 | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | The profile of the video codec | main | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames | 4 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The width of the video stream | 1920 | +| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | +| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag of the stream | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | Language code of the stream | eng | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | The audio channel layout | stereo | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemstype.md b/docs/models/operations/getlibraryitemstype.md index 8409929..96f429d 100644 --- a/docs/models/operations/getlibraryitemstype.md +++ b/docs/models/operations/getlibraryitemstype.md @@ -1,14 +1,14 @@ # GetLibraryItemsType -The type of media content - - -## Values - -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | \ No newline at end of file +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsultrablurcolors.md b/docs/models/operations/getlibraryitemsultrablurcolors.md new file mode 100644 index 0000000..552e1c9 --- /dev/null +++ b/docs/models/operations/getlibraryitemsultrablurcolors.md @@ -0,0 +1,11 @@ +# GetLibraryItemsUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `top_left` | *::String* | :heavy_check_mark: | N/A | 11333b | +| `top_right` | *::String* | :heavy_check_mark: | N/A | 0a232d | +| `bottom_right` | *::String* | :heavy_check_mark: | N/A | 73958 | +| `bottom_left` | *::String* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/models/operations/getmetadatabyratingkeypart.md b/docs/models/operations/getmetadatabyratingkeypart.md index 0d6a5e8..08699b5 100644 --- a/docs/models/operations/getmetadatabyratingkeypart.md +++ b/docs/models/operations/getmetadatabyratingkeypart.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 15 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 141417 | -| `file` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 40271948 | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | lc | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | -| `stream` | T::Array<[::PlexRubySDK::Operations::Stream](../../models/operations/stream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 15 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | +| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 141417 | +| `file` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 40271948 | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | lc | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | +| `stream` | T::Array<[::PlexRubySDK::Operations::GetMetaDataByRatingKeyStream](../../models/operations/getmetadatabyratingkeystream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmetadatabyratingkeystream.md b/docs/models/operations/getmetadatabyratingkeystream.md new file mode 100644 index 0000000..089d61c --- /dev/null +++ b/docs/models/operations/getmetadatabyratingkeystream.md @@ -0,0 +1,39 @@ +# GetMetaDataByRatingKeyStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 29 | +| `stream_type` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2 | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | aac | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 128 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 8 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | left | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 14520 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 816 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1920 | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | +| `frame_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 24 | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 814 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 40 | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | lc | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 4 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1920 | +| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English (AAC Stereo) | +| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English (AAC Stereo) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | eng | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/models/operations/getpinrequest.md b/docs/models/operations/getpinrequest.md index 943039c..9799224 100644 --- a/docs/models/operations/getpinrequest.md +++ b/docs/models/operations/getpinrequest.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| `strong` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | 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`
| | -| `client_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Plex Web | -| `device_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Linux | -| `client_version` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4.133.0 | -| `client_platform` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Chrome | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `strong` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | 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`
| | +| `client_id` | *T.nilable(::String)* | :heavy_minus_sign: | 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)
| gcgzw5rz2xovp84b4vha3a40 | +| `client_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Plex Web | +| `device_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Linux | +| `client_version` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4.133.0 | +| `client_platform` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Chrome | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedactivedirection.md b/docs/models/operations/getrecentlyaddedactivedirection.md new file mode 100644 index 0000000..0ac1a46 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedactivedirection.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedbadrequest.md b/docs/models/operations/getrecentlyaddedbadrequest.md deleted file mode 100644 index 20da4fb..0000000 --- a/docs/models/operations/getrecentlyaddedbadrequest.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetRecentlyAddedBadRequest - -Bad Request - A parameter was not specified, or was specified incorrectly. - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `errors` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedErrors](../../models/operations/getrecentlyaddederrors.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddeddefaultdirection.md b/docs/models/operations/getrecentlyaddeddefaultdirection.md new file mode 100644 index 0000000..c51ef38 --- /dev/null +++ b/docs/models/operations/getrecentlyaddeddefaultdirection.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddederrors.md b/docs/models/operations/getrecentlyaddederrors.md deleted file mode 100644 index 872d223..0000000 --- a/docs/models/operations/getrecentlyaddederrors.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetRecentlyAddedErrors - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `code` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1000 | -| `message` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | -| `status` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedfield.md b/docs/models/operations/getrecentlyaddedfield.md new file mode 100644 index 0000000..1b4c42c --- /dev/null +++ b/docs/models/operations/getrecentlyaddedfield.md @@ -0,0 +1,11 @@ +# GetRecentlyAddedField + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | show.title | +| `title` | *::String* | :heavy_check_mark: | N/A | Show Title | +| `type` | *::String* | :heavy_check_mark: | N/A | string | +| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedfieldtype.md b/docs/models/operations/getrecentlyaddedfieldtype.md new file mode 100644 index 0000000..edcdfe4 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedfieldtype.md @@ -0,0 +1,9 @@ +# GetRecentlyAddedFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `type` | *::String* | :heavy_check_mark: | N/A | tag | +| `operator` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedOperator](../../models/operations/getrecentlyaddedoperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedfilter.md b/docs/models/operations/getrecentlyaddedfilter.md new file mode 100644 index 0000000..4dba932 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedfilter.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `filter` | *::String* | :heavy_check_mark: | N/A | genre | +| `filter_type` | *::String* | :heavy_check_mark: | N/A | string | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `title` | *::String* | :heavy_check_mark: | N/A | Genre | +| `type` | *::String* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedhubsresponsetype.md b/docs/models/operations/getrecentlyaddedhubsresponsetype.md new file mode 100644 index 0000000..eb8cad3 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedhubsresponsetype.md @@ -0,0 +1,11 @@ +# GetRecentlyAddedHubsResponseType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedhubstype.md b/docs/models/operations/getrecentlyaddedhubstype.md new file mode 100644 index 0000000..44e2f8e --- /dev/null +++ b/docs/models/operations/getrecentlyaddedhubstype.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedHubsType + +The type of media content + + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedimage.md b/docs/models/operations/getrecentlyaddedimage.md new file mode 100644 index 0000000..dd102cd --- /dev/null +++ b/docs/models/operations/getrecentlyaddedimage.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedImage + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [::PlexRubySDK::Operations::GetRecentlyAddedHubsResponseType](../../models/operations/getrecentlyaddedhubsresponsetype.md) | :heavy_check_mark: | N/A | background | +| `url` | *::String* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedunauthorized.md b/docs/models/operations/getrecentlyaddedlibrarybadrequest.md similarity index 93% rename from docs/models/operations/getrecentlyaddedunauthorized.md rename to docs/models/operations/getrecentlyaddedlibrarybadrequest.md index 7acd4e6..17d65df 100644 --- a/docs/models/operations/getrecentlyaddedunauthorized.md +++ b/docs/models/operations/getrecentlyaddedlibrarybadrequest.md @@ -1,6 +1,6 @@ -# GetRecentlyAddedUnauthorized +# GetRecentlyAddedLibraryBadRequest -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. +Bad Request - A parameter was not specified, or was specified incorrectly. ## Fields diff --git a/docs/models/operations/getrecentlyaddedlibrarycountry.md b/docs/models/operations/getrecentlyaddedlibrarycountry.md new file mode 100644 index 0000000..f105a5b --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarycountry.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarydirector.md b/docs/models/operations/getrecentlyaddedlibrarydirector.md new file mode 100644 index 0000000..8dd09d6 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarydirector.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Peyton Reed | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryerrors.md b/docs/models/operations/getrecentlyaddedlibraryerrors.md index f847a63..b1ef8df 100644 --- a/docs/models/operations/getrecentlyaddedlibraryerrors.md +++ b/docs/models/operations/getrecentlyaddedlibraryerrors.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | -| `code` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1001 | -| `message` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | User could not be authenticated | -| `status` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `code` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1000 | +| `message` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `status` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryfilter.md b/docs/models/operations/getrecentlyaddedlibraryfilter.md new file mode 100644 index 0000000..84477a3 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryfilter.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedLibraryFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `filter` | *::String* | :heavy_check_mark: | N/A | genre | +| `filter_type` | *::String* | :heavy_check_mark: | N/A | string | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `title` | *::String* | :heavy_check_mark: | N/A | Genre | +| `type` | *::String* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarygenre.md b/docs/models/operations/getrecentlyaddedlibrarygenre.md new file mode 100644 index 0000000..41a7281 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarygenre.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Comedy | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarylibraryerrors.md b/docs/models/operations/getrecentlyaddedlibrarylibraryerrors.md new file mode 100644 index 0000000..36d8dec --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarylibraryerrors.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedLibraryLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `code` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1001 | +| `message` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `status` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarymedia.md b/docs/models/operations/getrecentlyaddedlibrarymedia.md new file mode 100644 index 0000000..bdeea1a --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarymedia.md @@ -0,0 +1,23 @@ +# GetRecentlyAddedLibraryMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 120345 | +| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | +| `bitrate` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 3623 | +| `width` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1920 | +| `height` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 804 | +| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 2.35 | +| `audio_channels` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 6 | +| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | ac3 | +| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | h264 | +| `video_resolution` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1080 | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | +| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p | +| `optimized_for_streaming` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 0 | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | +| `part` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryPart](../../models/operations/getrecentlyaddedlibrarypart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarymediacontainer.md b/docs/models/operations/getrecentlyaddedlibrarymediacontainer.md new file mode 100644 index 0000000..d9878ec --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarymediacontainer.md @@ -0,0 +1,19 @@ +# GetRecentlyAddedLibraryMediaContainer + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryType](../../models/operations/getrecentlyaddedlibrarytype.md)> | :heavy_minus_sign: | N/A | | +| `field_type` | T::Array<[::PlexRubySDK::Operations::FieldType](../../models/operations/fieldtype.md)> | :heavy_minus_sign: | N/A | | +| `size` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 50 | +| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `identifier` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `media_tag_prefix` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `media_tag_version` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1680021154 | +| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `metadata` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMetadata](../../models/operations/getrecentlyaddedlibrarymetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarymetadata.md b/docs/models/operations/getrecentlyaddedlibrarymetadata.md new file mode 100644 index 0000000..d984f14 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarymetadata.md @@ -0,0 +1,39 @@ +# GetRecentlyAddedLibraryMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `library_section_id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | +| `library_section_uuid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `rating_key` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 59398 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398 | +| `guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 | +| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Marvel Studios | +| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | movie | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania | +| `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | +| `summary` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. | +| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 4.7 | +| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 8.3 | +| `year` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 2023 | +| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 | +| `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 | +| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | +| `originally_available_at` | [Date](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/Date.html) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC | +| `added_at` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1681803215 | +| `updated_at` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1681888010 | +| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | +| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59399 | +| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten | +| `media` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMedia](../../models/operations/getrecentlyaddedlibrarymedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryGenre](../../models/operations/getrecentlyaddedlibrarygenre.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryDirector](../../models/operations/getrecentlyaddedlibrarydirector.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryWriter](../../models/operations/getrecentlyaddedlibrarywriter.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryCountry](../../models/operations/getrecentlyaddedlibrarycountry.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryRole](../../models/operations/getrecentlyaddedlibraryrole.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarypart.md b/docs/models/operations/getrecentlyaddedlibrarypart.md new file mode 100644 index 0000000..1c2c20a --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarypart.md @@ -0,0 +1,17 @@ +# GetRecentlyAddedLibraryPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 120353 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/parts/120353/1681803203/file.mp4 | +| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | +| `file` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4 | +| `size` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 3395307162 | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `has_thumbnail` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1 | +| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryrequest.md b/docs/models/operations/getrecentlyaddedlibraryrequest.md new file mode 100644 index 0000000..84a3301 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryrequest.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `content_directory_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2 | +| `pinned_content_directory_id` | T::Array<*::Integer*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [::PlexRubySDK::Operations::QueryParamType](../../models/operations/queryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_meta` | [T.nilable(::PlexRubySDK::Operations::QueryParamIncludeMeta)](../../models/operations/queryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `x_plex_container_start` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `x_plex_container_size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryresponse.md b/docs/models/operations/getrecentlyaddedlibraryresponse.md new file mode 100644 index 0000000..8dd498c --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryresponse.md @@ -0,0 +1,13 @@ +# GetRecentlyAddedLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `content_type` | *::String* | :heavy_check_mark: | HTTP response content type for this operation | +| `status_code` | *::Integer* | :heavy_check_mark: | HTTP response status code for this operation | +| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponseBody)](../../models/operations/getrecentlyaddedlibraryresponsebody.md) | :heavy_minus_sign: | The recently added content | +| `bad_request` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryBadRequest)](../../models/operations/getrecentlyaddedlibrarybadrequest.md) | :heavy_minus_sign: | Bad Request - A parameter was not specified, or was specified incorrectly. | +| `unauthorized` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryUnauthorized)](../../models/operations/getrecentlyaddedlibraryunauthorized.md) | :heavy_minus_sign: | Unauthorized - Returned if the X-Plex-Token is missing from the header or query. | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryresponsebody.md b/docs/models/operations/getrecentlyaddedlibraryresponsebody.md new file mode 100644 index 0000000..256229f --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryresponsebody.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedLibraryResponseBody + +The recently added content + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `media_container` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryMediaContainer)](../../models/operations/getrecentlyaddedlibrarymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryrole.md b/docs/models/operations/getrecentlyaddedlibraryrole.md new file mode 100644 index 0000000..d2ccdfb --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryrole.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryRole + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Paul Rudd | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarytype.md b/docs/models/operations/getrecentlyaddedlibrarytype.md new file mode 100644 index 0000000..985fb5e --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarytype.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedLibraryType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter](../../models/operations/getrecentlyaddedlibraryfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[::PlexRubySDK::Operations::Sort](../../models/operations/sort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::Field](../../models/operations/field.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibraryunauthorized.md b/docs/models/operations/getrecentlyaddedlibraryunauthorized.md new file mode 100644 index 0000000..a75274d --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibraryunauthorized.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedLibraryUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `errors` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedLibraryLibraryErrors](../../models/operations/getrecentlyaddedlibrarylibraryerrors.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedlibrarywriter.md b/docs/models/operations/getrecentlyaddedlibrarywriter.md new file mode 100644 index 0000000..515106f --- /dev/null +++ b/docs/models/operations/getrecentlyaddedlibrarywriter.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Jeff Loveness | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmediacontainer.md b/docs/models/operations/getrecentlyaddedmediacontainer.md index bcb3319..04415e7 100644 --- a/docs/models/operations/getrecentlyaddedmediacontainer.md +++ b/docs/models/operations/getrecentlyaddedmediacontainer.md @@ -5,10 +5,10 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `size` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 50 | -| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `size` | *::Float* | :heavy_check_mark: | N/A | 50 | +| `offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | | +| `total_size` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | | | `identifier` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `media_tag_prefix` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `media_tag_version` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1680021154 | -| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | +| `meta` | [T.nilable(::PlexRubySDK::Operations::Meta)](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | | `metadata` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedMetadata](../../models/operations/getrecentlyaddedmetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmetadata.md b/docs/models/operations/getrecentlyaddedmetadata.md index bb180ca..c95cca1 100644 --- a/docs/models/operations/getrecentlyaddedmetadata.md +++ b/docs/models/operations/getrecentlyaddedmetadata.md @@ -3,37 +3,78 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | -| `library_section_id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1 | -| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | -| `library_section_uuid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `rating_key` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 59398 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398 | -| `guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 | -| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Marvel Studios | -| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | movie | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania | -| `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | -| `summary` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. | -| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 4.7 | -| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 8.3 | -| `year` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 2023 | -| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 | -| `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 | -| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | -| `originally_available_at` | [Date](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/Date.html) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC | -| `added_at` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1681803215 | -| `updated_at` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1681888010 | -| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | -| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/59399 | -| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten | -| `media` | T::Array<[::PlexRubySDK::Operations::Media](../../models/operations/media.md)> | :heavy_minus_sign: | N/A | | -| `genre` | T::Array<[::PlexRubySDK::Operations::Genre](../../models/operations/genre.md)> | :heavy_minus_sign: | N/A | | -| `director` | T::Array<[::PlexRubySDK::Operations::Director](../../models/operations/director.md)> | :heavy_minus_sign: | N/A | | -| `writer` | T::Array<[::PlexRubySDK::Operations::Writer](../../models/operations/writer.md)> | :heavy_minus_sign: | N/A | | -| `country` | T::Array<[::PlexRubySDK::Operations::Country](../../models/operations/country.md)> | :heavy_minus_sign: | N/A | | -| `role` | T::Array<[::PlexRubySDK::Operations::Role](../../models/operations/role.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/metadata/58683 | +| `guid` | *::String* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | +| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `type` | [::PlexRubySDK::Operations::GetRecentlyAddedHubsType](../../models/operations/getrecentlyaddedhubstype.md) | :heavy_check_mark: | The type of media content
| movie | +| `title` | *::String* | :heavy_check_mark: | N/A | Avatar: The Way of Water | +| `slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4-for-texas | +| `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | +| `summary` | *::String* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7.6 | +| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 9.2 | +| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | +| `season_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | +| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `flatten_seasons` | [T.nilable(::PlexRubySDK::Operations::FlattenSeasons)](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | N/A | 1 | +| `show_ordering` | [T.nilable(::PlexRubySDK::Operations::ShowOrdering)](../../models/operations/showordering.md) | :heavy_minus_sign: | 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)).
| dvd | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | +| `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `banner` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | +| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `added_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | +| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58684 | +| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 66 | +| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | +| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `parent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | +| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | +| `media` | T::Array<[::PlexRubySDK::Operations::Media](../../models/operations/media.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | +| `genre` | T::Array<[::PlexRubySDK::Operations::Genre](../../models/operations/genre.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[::PlexRubySDK::Operations::Country](../../models/operations/country.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[::PlexRubySDK::Operations::Director](../../models/operations/director.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[::PlexRubySDK::Operations::Writer](../../models/operations/writer.md)> | :heavy_minus_sign: | N/A | | +| `collection` | T::Array<[::PlexRubySDK::Operations::Collection](../../models/operations/collection.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[::PlexRubySDK::Operations::Role](../../models/operations/role.md)> | :heavy_minus_sign: | N/A | | +| `media_guid` | T::Array<[::PlexRubySDK::Operations::MediaGuid](../../models/operations/mediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `ultra_blur_colors` | [T.nilable(::PlexRubySDK::Operations::UltraBlurColors)](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `meta_data_rating` | T::Array<[::PlexRubySDK::Operations::MetaDataRating](../../models/operations/metadatarating.md)> | :heavy_minus_sign: | N/A | | +| `image` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedImage](../../models/operations/getrecentlyaddedimage.md)> | :heavy_minus_sign: | N/A | | +| `title_sort` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Whale | +| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1682752242 | +| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | +| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 5222500 | +| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | +| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 14 | +| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 0 | +| `child_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `has_premium_extras` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | +| `has_premium_primary_extra` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | +| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | +| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `parent_studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | UCP | +| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | +| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | +| `parent_year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2010 | +| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `parent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedoperator.md b/docs/models/operations/getrecentlyaddedoperator.md new file mode 100644 index 0000000..2556e84 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedoperator.md @@ -0,0 +1,9 @@ +# GetRecentlyAddedOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `key` | *::String* | :heavy_check_mark: | N/A | = | +| `title` | *::String* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedrequest.md b/docs/models/operations/getrecentlyaddedrequest.md index 008a75c..7eaf9b6 100644 --- a/docs/models/operations/getrecentlyaddedrequest.md +++ b/docs/models/operations/getrecentlyaddedrequest.md @@ -5,5 +5,10 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `content_directory_id` | *::Integer* | :heavy_check_mark: | The content directory ID. | | +| `pinned_content_directory_id` | *T.nilable(::String)* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | +| `section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [::PlexRubySDK::Operations::Type](../../models/operations/type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_meta` | [T.nilable(::PlexRubySDK::Operations::IncludeMeta)](../../models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | | `x_plex_container_start` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | | `x_plex_container_size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedresponse.md b/docs/models/operations/getrecentlyaddedresponse.md index 019a9e3..05b9151 100644 --- a/docs/models/operations/getrecentlyaddedresponse.md +++ b/docs/models/operations/getrecentlyaddedresponse.md @@ -8,6 +8,4 @@ | `content_type` | *::String* | :heavy_check_mark: | HTTP response content type for this operation | | `status_code` | *::Integer* | :heavy_check_mark: | HTTP response status code for this operation | | `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody)](../../models/operations/getrecentlyaddedresponsebody.md) | :heavy_minus_sign: | The recently added content | -| `bad_request` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedBadRequest)](../../models/operations/getrecentlyaddedbadrequest.md) | :heavy_minus_sign: | Bad Request - A parameter was not specified, or was specified incorrectly. | -| `unauthorized` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedUnauthorized)](../../models/operations/getrecentlyaddedunauthorized.md) | :heavy_minus_sign: | Unauthorized - Returned if the X-Plex-Token is missing from the header or query. | \ No newline at end of file +| `object` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody)](../../models/operations/getrecentlyaddedresponsebody.md) | :heavy_minus_sign: | A successful response with recently added content. | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedresponsebody.md b/docs/models/operations/getrecentlyaddedresponsebody.md index 2630d42..99495df 100644 --- a/docs/models/operations/getrecentlyaddedresponsebody.md +++ b/docs/models/operations/getrecentlyaddedresponsebody.md @@ -1,6 +1,6 @@ # GetRecentlyAddedResponseBody -The recently added content +A successful response with recently added content. ## Fields diff --git a/docs/models/operations/getrecentlyaddedsort.md b/docs/models/operations/getrecentlyaddedsort.md new file mode 100644 index 0000000..e21d4de --- /dev/null +++ b/docs/models/operations/getrecentlyaddedsort.md @@ -0,0 +1,15 @@ +# GetRecentlyAddedSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedActiveDirection)](../../models/operations/getrecentlyaddedactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [::PlexRubySDK::Operations::GetRecentlyAddedDefaultDirection](../../models/operations/getrecentlyaddeddefaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedtype.md b/docs/models/operations/getrecentlyaddedtype.md new file mode 100644 index 0000000..a7c3505 --- /dev/null +++ b/docs/models/operations/getrecentlyaddedtype.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedType + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedFilter](../../models/operations/getrecentlyaddedfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedSort](../../models/operations/getrecentlyaddedsort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedField](../../models/operations/getrecentlyaddedfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchlibraryqueryparamtype.md b/docs/models/operations/getsearchlibraryqueryparamtype.md new file mode 100644 index 0000000..e06aac8 --- /dev/null +++ b/docs/models/operations/getsearchlibraryqueryparamtype.md @@ -0,0 +1,19 @@ +# GetSearchLibraryQueryParamType + +The type of media to retrieve. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/getsearchlibraryrequest.md b/docs/models/operations/getsearchlibraryrequest.md index b4a5ae3..37495e7 100644 --- a/docs/models/operations/getsearchlibraryrequest.md +++ b/docs/models/operations/getsearchlibraryrequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [::PlexRubySDK::Operations::QueryParamType](../../models/operations/queryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| `type` | [::PlexRubySDK::Operations::GetSearchLibraryQueryParamType](../../models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/media.md b/docs/models/operations/media.md index b0120b2..f01632c 100644 --- a/docs/models/operations/media.md +++ b/docs/models/operations/media.md @@ -3,21 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 120345 | -| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | -| `bitrate` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 3623 | -| `width` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1920 | -| `height` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 804 | -| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 2.35 | -| `audio_channels` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 6 | -| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | ac3 | -| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | h264 | -| `video_resolution` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1080 | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | -| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p | -| `optimized_for_streaming` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 0 | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | -| `part` | T::Array<[::PlexRubySDK::Operations::Part](../../models/operations/part.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `bitrate` | *::Integer* | :heavy_check_mark: | N/A | 25025 | +| `width` | *::Integer* | :heavy_check_mark: | N/A | 3840 | +| `height` | *::Integer* | :heavy_check_mark: | N/A | 2072 | +| `aspect_ratio` | *::Float* | :heavy_check_mark: | N/A | 1.85 | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `audio_channels` | *::Integer* | :heavy_check_mark: | N/A | 6 | +| `audio_codec` | *::String* | :heavy_check_mark: | N/A | eac3 | +| `video_codec` | *::String* | :heavy_check_mark: | N/A | hevc | +| `video_resolution` | *::String* | :heavy_check_mark: | N/A | 4k | +| `container` | *::String* | :heavy_check_mark: | N/A | mkv | +| `video_frame_rate` | *::String* | :heavy_check_mark: | N/A | 24p | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | [T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming)](../../models/operations/optimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `part` | T::Array<[::PlexRubySDK::Operations::Part](../../models/operations/part.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/meta.md b/docs/models/operations/meta.md index 66b6e80..ac9718a 100644 --- a/docs/models/operations/meta.md +++ b/docs/models/operations/meta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md)> | :heavy_minus_sign: | N/A | -| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedType](../../models/operations/getrecentlyaddedtype.md)> | :heavy_minus_sign: | N/A | +| `field_type` | T::Array<[::PlexRubySDK::Operations::GetRecentlyAddedFieldType](../../models/operations/getrecentlyaddedfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/metadatarating.md b/docs/models/operations/metadatarating.md new file mode 100644 index 0000000..46a7fd7 --- /dev/null +++ b/docs/models/operations/metadatarating.md @@ -0,0 +1,10 @@ +# MetaDataRating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `image` | *::String* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | +| `value` | *::Float* | :heavy_check_mark: | The value of the rating. | 3 | +| `type` | *::String* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/operator.md b/docs/models/operations/operator.md index 5adb503..5e181f4 100644 --- a/docs/models/operations/operator.md +++ b/docs/models/operations/operator.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | = | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | is | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `key` | *::String* | :heavy_check_mark: | N/A | = | +| `title` | *::String* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/optimizedforstreaming.md b/docs/models/operations/optimizedforstreaming.md new file mode 100644 index 0000000..15b4778 --- /dev/null +++ b/docs/models/operations/optimizedforstreaming.md @@ -0,0 +1,9 @@ +# OptimizedForStreaming + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/part.md b/docs/models/operations/part.md index 946c552..91545d6 100644 --- a/docs/models/operations/part.md +++ b/docs/models/operations/part.md @@ -3,15 +3,18 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `id` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 120353 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/parts/120353/1681803203/file.mp4 | -| `duration` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7474422 | -| `file` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4 | -| `size` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 3395307162 | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mp4 | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | -| `has_thumbnail` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1 | -| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | high | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | +| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | +| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::HasThumbnail)](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `stream` | T::Array<[::PlexRubySDK::Operations::Stream](../../models/operations/stream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/postuserssignindatarequest.md b/docs/models/operations/postuserssignindatarequest.md new file mode 100644 index 0000000..cfabecc --- /dev/null +++ b/docs/models/operations/postuserssignindatarequest.md @@ -0,0 +1,13 @@ +# PostUsersSignInDataRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `client_id` | *T.nilable(::String)* | :heavy_minus_sign: | 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)
| gcgzw5rz2xovp84b4vha3a40 | +| `client_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Plex Web | +| `device_name` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Linux | +| `client_version` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4.133.0 | +| `client_platform` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Chrome | +| `request_body` | [T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody)](../../models/operations/postuserssignindatarequestbody.md) | :heavy_minus_sign: | Login credentials | | \ No newline at end of file diff --git a/docs/models/operations/queryparamincludemeta.md b/docs/models/operations/queryparamincludemeta.md new file mode 100644 index 0000000..b1a6e31 --- /dev/null +++ b/docs/models/operations/queryparamincludemeta.md @@ -0,0 +1,12 @@ +# QueryParamIncludeMeta + +Adds the Meta object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/role.md b/docs/models/operations/role.md index 6889c1f..30b16d1 100644 --- a/docs/models/operations/role.md +++ b/docs/models/operations/role.md @@ -3,6 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Paul Rudd | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | +| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | +| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file diff --git a/docs/models/operations/sort.md b/docs/models/operations/sort.md index bc13891..2bb42b9 100644 --- a/docs/models/operations/sort.md +++ b/docs/models/operations/sort.md @@ -3,11 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | -| `default_direction` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | desc | -| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | random:desc | -| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | random | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Randomly | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(::PlexRubySDK::Operations::ActiveDirection)](../../models/operations/activedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [::PlexRubySDK::Operations::DefaultDirection](../../models/operations/defaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index b56a140..a02b757 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -3,37 +3,43 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 29 | -| `stream_type` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | aac | -| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 128 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 8 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | left | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 14520 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 816 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1920 | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | bt709 | -| `frame_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 24 | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 814 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 40 | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | lc | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 4 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1920 | -| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | eng | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 272796 | +| `stream_type` | *::Integer* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the default stream | true | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream | h264 | +| `index` | *::Integer* | :heavy_check_mark: | The index of the stream | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | The color range of the video stream | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | The color space of the video stream | bt709 | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bit depth of the video stream | 8 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma location of the video stream | left | +| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | The identifier of the video stream | 2 | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded height of the video stream | 1088 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded width of the video stream | 1920 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The height of the video stream | 1080 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | The level of the video codec | 40 | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | The profile of the video codec | main | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames | 4 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The width of the video stream | 1920 | +| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | +| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag of the stream | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | Language code of the stream | eng | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | The audio channel layout | stereo | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/writer.md b/docs/models/operations/writer.md index 28a2395..b1d70df 100644 --- a/docs/models/operations/writer.md +++ b/docs/models/operations/writer.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Jeff Loveness | \ No newline at end of file +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/sdks/authentication/README.md b/docs/sdks/authentication/README.md index d4504f9..87564c7 100644 --- a/docs/sdks/authentication/README.md +++ b/docs/sdks/authentication/README.md @@ -85,7 +85,7 @@ s.config_security( ) -res = s.authentication.get_source_connection_information(source="provider://provider-identifier") +res = s.authentication.get_source_connection_information(source="server://client-identifier") if res.status_code == 200 # handle response @@ -170,10 +170,12 @@ s = ::PlexRubySDK::PlexAPI.new( ) -req = ::PlexRubySDK::Operations::PostUsersSignInDataRequestBody.new( - login: "username@email.com", - password: "password123", - verification_code: "123456", +req = ::PlexRubySDK::Operations::PostUsersSignInDataRequest.new( + request_body: ::PlexRubySDK::Operations::PostUsersSignInDataRequestBody.new( + login: "username@email.com", + password: "password123", + verification_code: "123456", + ), ) res = s.authentication.post_users_sign_in_data(req) @@ -186,10 +188,10 @@ end ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -| `request` | [::PlexRubySDK::Operations::PostUsersSignInDataRequestBody](../../models/operations/postuserssignindatarequestbody.md) | :heavy_check_mark: | The request object to use for the request. | -| `server_url` | *String* | :heavy_minus_sign: | An optional server URL to use. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `request` | [::PlexRubySDK::Operations::PostUsersSignInDataRequest](../../models/operations/postuserssignindatarequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `server_url` | *String* | :heavy_minus_sign: | An optional server URL to use. | ### Response diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index 9df6a3f..59f57f4 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -8,6 +8,7 @@ Hubs are a structured two-dimensional container for media, generally represented ### Available Operations * [get_global_hubs](#get_global_hubs) - Get Global Hubs +* [get_recently_added](#get_recently_added) - Get Recently Added * [get_library_hubs](#get_library_hubs) - Get library specific hubs ## get_global_hubs @@ -56,6 +57,61 @@ end +## get_recently_added + +This endpoint will return the recently added content. + + +### Example Usage + +```ruby +require 'plex_ruby_sdk' + + +s = ::PlexRubySDK::PlexAPI.new( + client_id: "gcgzw5rz2xovp84b4vha3a40", + client_name: "Plex Web", + client_version: "4.133.0", + client_platform: "Chrome", + device_name: "Linux", + ) +s.config_security( + ::PlexRubySDK::Shared::Security.new( + access_token: "", + ) +) + + +req = ::PlexRubySDK::Operations::GetRecentlyAddedRequest.new( + content_directory_id: 470161, + section_id: 2, + type: ::PlexRubySDK::Operations::Type::TV_SHOW, + include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE, + x_plex_container_start: 0, + x_plex_container_size: 50, +) + +res = s.hubs.get_recently_added(req) + +if ! res.object.nil? + # handle response +end + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `request` | [::PlexRubySDK::Operations::GetRecentlyAddedRequest](../../models/operations/getrecentlyaddedrequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponse)](../../models/operations/getrecentlyaddedresponse.md)** + + + + ## get_library_hubs This endpoint will return a list of library specific hubs diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index f3fbcf2..d6a43db 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -8,7 +8,7 @@ API Calls interacting with Plex Media Server Libraries ### Available Operations * [get_file_hash](#get_file_hash) - Get Hash Value -* [get_recently_added](#get_recently_added) - Get Recently Added +* [get_recently_added_library](#get_recently_added_library) - Get Recently Added * [get_all_libraries](#get_all_libraries) - Get All Libraries * [get_library_details](#get_library_details) - Get Library Details * [delete_library](#delete_library) - Delete Library Section @@ -66,7 +66,7 @@ end -## get_recently_added +## get_recently_added_library This endpoint will return the recently added content. @@ -90,8 +90,31 @@ s.config_security( ) ) + +req = ::PlexRubySDK::Operations::GetRecentlyAddedLibraryRequest.new( + content_directory_id: 2, + pinned_content_directory_id: [ + 3, + 5, + 7, + 13, + 12, + 1, + 6, + 14, + 2, + 10, + 16, + 17, + ], + section_id: 2, + type: ::PlexRubySDK::Operations::QueryParamType::TV_SHOW, + include_meta: ::PlexRubySDK::Operations::QueryParamIncludeMeta::ENABLE, + x_plex_container_start: 0, + x_plex_container_size: 50, +) -res = s.library.get_recently_added(x_plex_container_start=0, x_plex_container_size=50) +res = s.library.get_recently_added_library(req) if ! res.object.nil? # handle response @@ -101,14 +124,13 @@ end ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_plex_container_start` | *::Integer* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `x_plex_container_size` | *::Integer* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `request` | [::PlexRubySDK::Operations::GetRecentlyAddedLibraryRequest](../../models/operations/getrecentlyaddedlibraryrequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponse)](../../models/operations/getrecentlyaddedresponse.md)** +**[T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponse)](../../models/operations/getrecentlyaddedlibraryresponse.md)** @@ -336,8 +358,8 @@ req = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new( section_key: 9518, tag: ::PlexRubySDK::Operations::Tag::EDITION, include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE, - include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE, - type: ::PlexRubySDK::Operations::Type::TV_SHOW, + type: ::PlexRubySDK::Operations::GetLibraryItemsQueryParamType::TV_SHOW, + include_meta: ::PlexRubySDK::Operations::GetLibraryItemsQueryParamIncludeMeta::ENABLE, x_plex_container_start: 0, x_plex_container_size: 50, ) @@ -452,7 +474,7 @@ s.config_security( ) -res = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::TV_SHOW) +res = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::GetSearchLibraryQueryParamType::TV_SHOW) if ! res.object.nil? # handle response @@ -465,7 +487,7 @@ end | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [::PlexRubySDK::Operations::QueryParamType](../../models/operations/queryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `type` | [::PlexRubySDK::Operations::GetSearchLibraryQueryParamType](../../models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index c546b26..a2db62a 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -47,7 +47,7 @@ s.config_security( ) -res = s.search.perform_search(query="dylan", section_id=5838.67, limit=5.0) +res = s.search.perform_search(query="dylan", section_id=9372.69, limit=5.0) if res.status_code == 200 # handle response diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index 16a02dd..c82b734 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -275,9 +275,9 @@ req = ::PlexRubySDK::Operations::GetResizedPhotoRequest.new( width: 110.0, height: 165.0, opacity: 643869, - blur: 4000.0, + blur: 0.0, min_size: ::PlexRubySDK::Operations::MinSize::ONE, - upscale: ::PlexRubySDK::Operations::Upscale::ZERO, + upscale: ::PlexRubySDK::Operations::Upscale::ONE, url: "/library/metadata/49564/thumb/1654258204", ) diff --git a/lib/plex_ruby_sdk/authentication.rb b/lib/plex_ruby_sdk/authentication.rb index a7ddd1d..4a3aabb 100644 --- a/lib/plex_ruby_sdk/authentication.rb +++ b/lib/plex_ruby_sdk/authentication.rb @@ -162,7 +162,7 @@ def get_token_details(server_url = nil) end - sig { params(request: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), server_url: T.nilable(String)).returns(::PlexRubySDK::Operations::PostUsersSignInDataResponse) } + sig { params(request: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequest), server_url: T.nilable(String)).returns(::PlexRubySDK::Operations::PostUsersSignInDataResponse) } def post_users_sign_in_data(request, server_url = nil) # post_users_sign_in_data - Get User Sign In Data # Sign in user with username and password and return user data with Plex authentication token @@ -171,13 +171,15 @@ def post_users_sign_in_data(request, server_url = nil) base_url = server_url if !server_url.nil? url = "#{base_url}/users/signin" headers = {} - req_content_type, data, form = Utils.serialize_request_body(request, :request, :form) + 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') diff --git a/lib/plex_ruby_sdk/hubs.rb b/lib/plex_ruby_sdk/hubs.rb index 3d22b56..74e3575 100644 --- a/lib/plex_ruby_sdk/hubs.rb +++ b/lib/plex_ruby_sdk/hubs.rb @@ -68,6 +68,41 @@ def get_global_hubs(count = nil, only_transient = nil) end + sig { params(request: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedRequest)).returns(::PlexRubySDK::Operations::GetRecentlyAddedResponse) } + def get_recently_added(request) + # get_recently_added - Get Recently Added + # This endpoint will return the recently added content. + # + url, params = @sdk_configuration.get_server_details + base_url = Utils.template_url(url, params) + url = "#{base_url}/hubs/home/recentlyAdded" + headers = {} + query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetRecentlyAddedRequest, 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::GetRecentlyAddedResponse.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::GetRecentlyAddedResponseBody) + res.object = out + end + elsif [400, 401].include?(r.status) + end + res + end + + sig { params(section_id: ::Float, count: T.nilable(::Float), only_transient: T.nilable(::PlexRubySDK::Operations::QueryParamOnlyTransient)).returns(::PlexRubySDK::Operations::GetLibraryHubsResponse) } def get_library_hubs(section_id, count = nil, only_transient = nil) # get_library_hubs - Get library specific hubs diff --git a/lib/plex_ruby_sdk/library.rb b/lib/plex_ruby_sdk/library.rb index 7e01352..992b6f0 100644 --- a/lib/plex_ruby_sdk/library.rb +++ b/lib/plex_ruby_sdk/library.rb @@ -64,21 +64,16 @@ def get_file_hash(url, type = nil) end - sig { params(x_plex_container_start: T.nilable(::Integer), x_plex_container_size: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetRecentlyAddedResponse) } - def get_recently_added(x_plex_container_start = nil, x_plex_container_size = nil) - # get_recently_added - Get Recently Added + sig { params(request: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryRequest)).returns(::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponse) } + def get_recently_added_library(request) + # get_recently_added_library - Get Recently Added # This endpoint will return the recently added content. # - request = ::PlexRubySDK::Operations::GetRecentlyAddedRequest.new( - - x_plex_container_start: x_plex_container_start, - x_plex_container_size: x_plex_container_size - ) url, params = @sdk_configuration.get_server_details base_url = Utils.template_url(url, params) url = "#{base_url}/library/recentlyAdded" headers = {} - query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetRecentlyAddedRequest, request, @sdk_configuration.globals) + query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetRecentlyAddedLibraryRequest, request, @sdk_configuration.globals) headers['Accept'] = 'application/json' headers['user-agent'] = @sdk_configuration.user_agent @@ -90,22 +85,22 @@ def get_recently_added(x_plex_container_start = nil, x_plex_container_size = nil content_type = r.headers.fetch('Content-Type', 'application/octet-stream') - res = ::PlexRubySDK::Operations::GetRecentlyAddedResponse.new( + res = ::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponse.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::GetRecentlyAddedResponseBody) + out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponseBody) 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::GetRecentlyAddedBadRequest) + out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedLibraryBadRequest) 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::GetRecentlyAddedUnauthorized) + out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedLibraryUnauthorized) res.unauthorized = out end end @@ -420,7 +415,7 @@ def get_refresh_library_metadata(section_key, force = nil) end - sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::QueryParamType).returns(::PlexRubySDK::Operations::GetSearchLibraryResponse) } + sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::GetSearchLibraryQueryParamType).returns(::PlexRubySDK::Operations::GetSearchLibraryResponse) } def get_search_library(section_key, type) # get_search_library - Search Library # Search for content within a specific section of the library. diff --git a/lib/plex_ruby_sdk/models/operations.rb b/lib/plex_ruby_sdk/models/operations.rb index 08c6dbc..7ad038f 100644 --- a/lib/plex_ruby_sdk/models/operations.rb +++ b/lib/plex_ruby_sdk/models/operations.rb @@ -231,6 +231,41 @@ module Operations autoload :GetGlobalHubsMediaContainer, 'plex_ruby_sdk/models/operations/getglobalhubs_mediacontainer.rb' autoload :GetGlobalHubsResponseBody, 'plex_ruby_sdk/models/operations/getglobalhubs_responsebody.rb' autoload :GetGlobalHubsResponse, 'plex_ruby_sdk/models/operations/getglobalhubs_response.rb' + autoload :Type, 'plex_ruby_sdk/models/operations/type.rb' + autoload :IncludeMeta, 'plex_ruby_sdk/models/operations/includemeta.rb' + autoload :GetRecentlyAddedRequest, 'plex_ruby_sdk/models/operations/get_recently_added_request.rb' + autoload :GetRecentlyAddedFilter, 'plex_ruby_sdk/models/operations/get_recently_added_filter.rb' + autoload :GetRecentlyAddedActiveDirection, 'plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb' + autoload :GetRecentlyAddedDefaultDirection, 'plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb' + autoload :GetRecentlyAddedSort, 'plex_ruby_sdk/models/operations/get_recently_added_sort.rb' + autoload :GetRecentlyAddedField, 'plex_ruby_sdk/models/operations/get_recently_added_field.rb' + autoload :GetRecentlyAddedType, 'plex_ruby_sdk/models/operations/get_recently_added_type.rb' + autoload :GetRecentlyAddedOperator, 'plex_ruby_sdk/models/operations/get_recently_added_operator.rb' + autoload :GetRecentlyAddedFieldType, 'plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb' + autoload :Meta, 'plex_ruby_sdk/models/operations/meta.rb' + autoload :GetRecentlyAddedHubsType, 'plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb' + autoload :FlattenSeasons, 'plex_ruby_sdk/models/operations/flattenseasons.rb' + autoload :ShowOrdering, 'plex_ruby_sdk/models/operations/showordering.rb' + autoload :OptimizedForStreaming, 'plex_ruby_sdk/models/operations/optimizedforstreaming.rb' + autoload :HasThumbnail, 'plex_ruby_sdk/models/operations/hasthumbnail.rb' + autoload :Stream, 'plex_ruby_sdk/models/operations/stream.rb' + autoload :Part, 'plex_ruby_sdk/models/operations/part.rb' + autoload :Media, 'plex_ruby_sdk/models/operations/media.rb' + autoload :Genre, 'plex_ruby_sdk/models/operations/genre.rb' + autoload :Country, 'plex_ruby_sdk/models/operations/country.rb' + autoload :Director, 'plex_ruby_sdk/models/operations/director.rb' + 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 :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' + autoload :GetRecentlyAddedHubsResponseType, 'plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb' + autoload :GetRecentlyAddedImage, 'plex_ruby_sdk/models/operations/get_recently_added_image.rb' + autoload :GetRecentlyAddedMetadata, 'plex_ruby_sdk/models/operations/get_recently_added_metadata.rb' + autoload :GetRecentlyAddedMediaContainer, 'plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb' + autoload :GetRecentlyAddedResponseBody, 'plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb' + autoload :GetRecentlyAddedResponse, 'plex_ruby_sdk/models/operations/get_recently_added_response.rb' autoload :QueryParamOnlyTransient, 'plex_ruby_sdk/models/operations/queryparam_onlytransient.rb' autoload :GetLibraryHubsRequest, 'plex_ruby_sdk/models/operations/getlibraryhubs_request.rb' autoload :GetLibraryHubsHubsErrors, 'plex_ruby_sdk/models/operations/getlibraryhubs_hubs_errors.rb' @@ -284,22 +319,32 @@ module Operations autoload :GetFileHashErrors, 'plex_ruby_sdk/models/operations/getfilehash_errors.rb' autoload :GetFileHashBadRequest, 'plex_ruby_sdk/models/operations/getfilehash_badrequest.rb' autoload :GetFileHashResponse, 'plex_ruby_sdk/models/operations/getfilehash_response.rb' - autoload :GetRecentlyAddedRequest, 'plex_ruby_sdk/models/operations/getrecentlyadded_request.rb' - autoload :GetRecentlyAddedLibraryErrors, 'plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb' - autoload :GetRecentlyAddedUnauthorized, 'plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb' - autoload :GetRecentlyAddedErrors, 'plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb' - autoload :GetRecentlyAddedBadRequest, 'plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb' - autoload :Part, 'plex_ruby_sdk/models/operations/part.rb' - autoload :Media, 'plex_ruby_sdk/models/operations/media.rb' - autoload :Genre, 'plex_ruby_sdk/models/operations/genre.rb' - autoload :Director, 'plex_ruby_sdk/models/operations/director.rb' - autoload :Writer, 'plex_ruby_sdk/models/operations/writer.rb' - autoload :Country, 'plex_ruby_sdk/models/operations/country.rb' - autoload :Role, 'plex_ruby_sdk/models/operations/role.rb' - autoload :GetRecentlyAddedMetadata, 'plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb' - autoload :GetRecentlyAddedMediaContainer, 'plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb' - autoload :GetRecentlyAddedResponseBody, 'plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb' - autoload :GetRecentlyAddedResponse, 'plex_ruby_sdk/models/operations/getrecentlyadded_response.rb' + autoload :QueryParamType, 'plex_ruby_sdk/models/operations/queryparam_type.rb' + autoload :QueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/queryparam_includemeta.rb' + autoload :GetRecentlyAddedLibraryRequest, 'plex_ruby_sdk/models/operations/get_recently_added_library_request.rb' + autoload :GetRecentlyAddedLibraryLibraryErrors, 'plex_ruby_sdk/models/operations/get_recently_added_library_library_errors.rb' + autoload :GetRecentlyAddedLibraryUnauthorized, 'plex_ruby_sdk/models/operations/get_recently_added_library_unauthorized.rb' + autoload :GetRecentlyAddedLibraryErrors, 'plex_ruby_sdk/models/operations/get_recently_added_library_errors.rb' + autoload :GetRecentlyAddedLibraryBadRequest, 'plex_ruby_sdk/models/operations/get_recently_added_library_badrequest.rb' + autoload :GetRecentlyAddedLibraryFilter, 'plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb' + autoload :ActiveDirection, 'plex_ruby_sdk/models/operations/activedirection.rb' + autoload :DefaultDirection, 'plex_ruby_sdk/models/operations/defaultdirection.rb' + autoload :Sort, 'plex_ruby_sdk/models/operations/sort.rb' + autoload :Field, 'plex_ruby_sdk/models/operations/field.rb' + autoload :GetRecentlyAddedLibraryType, 'plex_ruby_sdk/models/operations/get_recently_added_library_type.rb' + autoload :Operator, 'plex_ruby_sdk/models/operations/operator.rb' + autoload :FieldType, 'plex_ruby_sdk/models/operations/fieldtype.rb' + autoload :GetRecentlyAddedLibraryPart, 'plex_ruby_sdk/models/operations/get_recently_added_library_part.rb' + autoload :GetRecentlyAddedLibraryMedia, 'plex_ruby_sdk/models/operations/get_recently_added_library_media.rb' + autoload :GetRecentlyAddedLibraryGenre, 'plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb' + autoload :GetRecentlyAddedLibraryDirector, 'plex_ruby_sdk/models/operations/get_recently_added_library_director.rb' + autoload :GetRecentlyAddedLibraryWriter, 'plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb' + autoload :GetRecentlyAddedLibraryCountry, 'plex_ruby_sdk/models/operations/get_recently_added_library_country.rb' + autoload :GetRecentlyAddedLibraryRole, 'plex_ruby_sdk/models/operations/get_recently_added_library_role.rb' + autoload :GetRecentlyAddedLibraryMetadata, 'plex_ruby_sdk/models/operations/get_recently_added_library_metadata.rb' + autoload :GetRecentlyAddedLibraryMediaContainer, 'plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb' + autoload :GetRecentlyAddedLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb' + autoload :GetRecentlyAddedLibraryResponse, 'plex_ruby_sdk/models/operations/get_recently_added_library_response.rb' autoload :GetAllLibrariesLibraryErrors, 'plex_ruby_sdk/models/operations/get_all_libraries_library_errors.rb' autoload :GetAllLibrariesUnauthorized, 'plex_ruby_sdk/models/operations/get_all_libraries_unauthorized.rb' autoload :GetAllLibrariesErrors, 'plex_ruby_sdk/models/operations/get_all_libraries_errors.rb' @@ -317,11 +362,11 @@ module Operations autoload :GetLibraryDetailsBadRequest, 'plex_ruby_sdk/models/operations/get_library_details_badrequest.rb' autoload :GetLibraryDetailsDirectory, 'plex_ruby_sdk/models/operations/get_library_details_directory.rb' autoload :GetLibraryDetailsFilter, 'plex_ruby_sdk/models/operations/get_library_details_filter.rb' - autoload :Sort, 'plex_ruby_sdk/models/operations/sort.rb' - autoload :Field, 'plex_ruby_sdk/models/operations/field.rb' + autoload :GetLibraryDetailsSort, 'plex_ruby_sdk/models/operations/get_library_details_sort.rb' + autoload :GetLibraryDetailsField, 'plex_ruby_sdk/models/operations/get_library_details_field.rb' autoload :GetLibraryDetailsType, 'plex_ruby_sdk/models/operations/get_library_details_type.rb' - autoload :Operator, 'plex_ruby_sdk/models/operations/operator.rb' - autoload :FieldType, 'plex_ruby_sdk/models/operations/fieldtype.rb' + autoload :GetLibraryDetailsOperator, 'plex_ruby_sdk/models/operations/get_library_details_operator.rb' + autoload :GetLibraryDetailsFieldType, 'plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb' autoload :GetLibraryDetailsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb' autoload :GetLibraryDetailsResponseBody, 'plex_ruby_sdk/models/operations/get_library_details_responsebody.rb' autoload :GetLibraryDetailsResponse, 'plex_ruby_sdk/models/operations/get_library_details_response.rb' @@ -333,39 +378,50 @@ module Operations autoload :DeleteLibraryResponse, 'plex_ruby_sdk/models/operations/deletelibrary_response.rb' autoload :Tag, 'plex_ruby_sdk/models/operations/tag.rb' autoload :IncludeGuids, 'plex_ruby_sdk/models/operations/includeguids.rb' - autoload :IncludeMeta, 'plex_ruby_sdk/models/operations/includemeta.rb' - autoload :Type, 'plex_ruby_sdk/models/operations/type.rb' + autoload :GetLibraryItemsQueryParamType, 'plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb' + autoload :GetLibraryItemsQueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb' autoload :GetLibraryItemsRequest, 'plex_ruby_sdk/models/operations/get_library_items_request.rb' autoload :GetLibraryItemsLibraryErrors, 'plex_ruby_sdk/models/operations/get_library_items_library_errors.rb' autoload :GetLibraryItemsUnauthorized, 'plex_ruby_sdk/models/operations/get_library_items_unauthorized.rb' autoload :GetLibraryItemsErrors, 'plex_ruby_sdk/models/operations/get_library_items_errors.rb' autoload :GetLibraryItemsBadRequest, 'plex_ruby_sdk/models/operations/get_library_items_badrequest.rb' + autoload :GetLibraryItemsFilter, 'plex_ruby_sdk/models/operations/get_library_items_filter.rb' + autoload :GetLibraryItemsActiveDirection, 'plex_ruby_sdk/models/operations/get_library_items_activedirection.rb' + autoload :GetLibraryItemsDefaultDirection, 'plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb' + autoload :GetLibraryItemsSort, 'plex_ruby_sdk/models/operations/get_library_items_sort.rb' + autoload :GetLibraryItemsField, 'plex_ruby_sdk/models/operations/get_library_items_field.rb' autoload :GetLibraryItemsType, 'plex_ruby_sdk/models/operations/get_library_items_type.rb' - autoload :FlattenSeasons, 'plex_ruby_sdk/models/operations/flattenseasons.rb' - autoload :ShowOrdering, 'plex_ruby_sdk/models/operations/showordering.rb' - autoload :HasThumbnail, 'plex_ruby_sdk/models/operations/hasthumbnail.rb' + autoload :GetLibraryItemsOperator, 'plex_ruby_sdk/models/operations/get_library_items_operator.rb' + autoload :GetLibraryItemsFieldType, 'plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb' + autoload :GetLibraryItemsLibraryType, 'plex_ruby_sdk/models/operations/get_library_items_library_type.rb' + autoload :GetLibraryItemsFlattenSeasons, 'plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb' + autoload :GetLibraryItemsShowOrdering, 'plex_ruby_sdk/models/operations/get_library_items_showordering.rb' + autoload :GetLibraryItemsOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb' + autoload :GetLibraryItemsHasThumbnail, 'plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb' + autoload :GetLibraryItemsStream, 'plex_ruby_sdk/models/operations/get_library_items_stream.rb' autoload :GetLibraryItemsPart, 'plex_ruby_sdk/models/operations/get_library_items_part.rb' autoload :GetLibraryItemsMedia, 'plex_ruby_sdk/models/operations/get_library_items_media.rb' autoload :GetLibraryItemsGenre, 'plex_ruby_sdk/models/operations/get_library_items_genre.rb' autoload :GetLibraryItemsCountry, 'plex_ruby_sdk/models/operations/get_library_items_country.rb' autoload :GetLibraryItemsDirector, 'plex_ruby_sdk/models/operations/get_library_items_director.rb' autoload :GetLibraryItemsWriter, 'plex_ruby_sdk/models/operations/get_library_items_writer.rb' - autoload :Collection, 'plex_ruby_sdk/models/operations/collection.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 :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb' - autoload :UltraBlurColors, 'plex_ruby_sdk/models/operations/ultrablurcolors.rb' - autoload :GetLibraryItemsLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_items_library_response_type.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' + autoload :GetLibraryItemsLibraryResponse200Type, 'plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb' autoload :GetLibraryItemsImage, 'plex_ruby_sdk/models/operations/get_library_items_image.rb' autoload :GetLibraryItemsMetadata, 'plex_ruby_sdk/models/operations/get_library_items_metadata.rb' - autoload :GetLibraryItemsFilter, 'plex_ruby_sdk/models/operations/get_library_items_filter.rb' - autoload :ActiveDirection, 'plex_ruby_sdk/models/operations/activedirection.rb' - autoload :DefaultDirection, 'plex_ruby_sdk/models/operations/defaultdirection.rb' - autoload :GetLibraryItemsSort, 'plex_ruby_sdk/models/operations/get_library_items_sort.rb' - autoload :GetLibraryItemsField, 'plex_ruby_sdk/models/operations/get_library_items_field.rb' - autoload :GetLibraryItemsLibraryType, 'plex_ruby_sdk/models/operations/get_library_items_library_type.rb' - autoload :GetLibraryItemsOperator, 'plex_ruby_sdk/models/operations/get_library_items_operator.rb' - autoload :GetLibraryItemsFieldType, 'plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb' - autoload :Meta, 'plex_ruby_sdk/models/operations/meta.rb' + autoload :GetLibraryItemsLibraryFilter, 'plex_ruby_sdk/models/operations/get_library_items_library_filter.rb' + autoload :GetLibraryItemsLibraryActiveDirection, 'plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb' + autoload :GetLibraryItemsLibraryDefaultDirection, 'plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb' + autoload :GetLibraryItemsLibrarySort, 'plex_ruby_sdk/models/operations/get_library_items_library_sort.rb' + autoload :GetLibraryItemsLibraryField, 'plex_ruby_sdk/models/operations/get_library_items_library_field.rb' + autoload :GetLibraryItemsLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb' + autoload :GetLibraryItemsLibraryOperator, 'plex_ruby_sdk/models/operations/get_library_items_library_operator.rb' + autoload :GetLibraryItemsLibraryFieldType, 'plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb' + autoload :GetLibraryItemsMeta, 'plex_ruby_sdk/models/operations/get_library_items_meta.rb' autoload :GetLibraryItemsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb' autoload :GetLibraryItemsResponseBody, 'plex_ruby_sdk/models/operations/get_library_items_responsebody.rb' autoload :GetLibraryItemsResponse, 'plex_ruby_sdk/models/operations/get_library_items_response.rb' @@ -376,7 +432,7 @@ module Operations autoload :GetRefreshLibraryMetadataErrors, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_errors.rb' autoload :GetRefreshLibraryMetadataBadRequest, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_badrequest.rb' autoload :GetRefreshLibraryMetadataResponse, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_response.rb' - autoload :QueryParamType, 'plex_ruby_sdk/models/operations/queryparam_type.rb' + autoload :GetSearchLibraryQueryParamType, 'plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb' autoload :GetSearchLibraryRequest, 'plex_ruby_sdk/models/operations/get_search_library_request.rb' autoload :GetSearchLibraryLibraryErrors, 'plex_ruby_sdk/models/operations/get_search_library_library_errors.rb' autoload :GetSearchLibraryUnauthorized, 'plex_ruby_sdk/models/operations/get_search_library_unauthorized.rb' @@ -391,7 +447,7 @@ module Operations autoload :GetMetaDataByRatingKeyUnauthorized, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_unauthorized.rb' autoload :GetMetaDataByRatingKeyErrors, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_errors.rb' autoload :GetMetaDataByRatingKeyBadRequest, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_badrequest.rb' - autoload :Stream, 'plex_ruby_sdk/models/operations/stream.rb' + autoload :GetMetaDataByRatingKeyStream, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb' autoload :GetMetaDataByRatingKeyPart, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb' autoload :GetMetaDataByRatingKeyMedia, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_media.rb' autoload :GetMetaDataByRatingKeyGenre, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_genre.rb' @@ -591,6 +647,7 @@ module Operations autoload :GetTokenDetailsUserPlexAccount, 'plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb' autoload :GetTokenDetailsResponse, 'plex_ruby_sdk/models/operations/gettokendetails_response.rb' autoload :PostUsersSignInDataRequestBody, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_requestbody.rb' + autoload :PostUsersSignInDataRequest, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb' autoload :PostUsersSignInDataAuthenticationErrors, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_errors.rb' autoload :PostUsersSignInDataUnauthorized, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_unauthorized.rb' autoload :PostUsersSignInDataErrors, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_errors.rb' diff --git a/lib/plex_ruby_sdk/models/operations/field.rb b/lib/plex_ruby_sdk/models/operations/field.rb index 33d8bf8..b63d298 100644 --- a/lib/plex_ruby_sdk/models/operations/field.rb +++ b/lib/plex_ruby_sdk/models/operations/field.rb @@ -12,21 +12,21 @@ class Field < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } - sig { params(key: T.nilable(::String), sub_type: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String)).void } - def initialize(key: nil, sub_type: nil, title: nil, type: nil) + sig { params(key: ::String, title: ::String, type: ::String, sub_type: T.nilable(::String)).void } + def initialize(key: nil, title: nil, type: nil, sub_type: nil) @key = key - @sub_type = sub_type @title = title @type = type + @sub_type = sub_type end end end diff --git a/lib/plex_ruby_sdk/models/operations/fieldtype.rb b/lib/plex_ruby_sdk/models/operations/fieldtype.rb index 36dd1aa..47c5901 100644 --- a/lib/plex_ruby_sdk/models/operations/fieldtype.rb +++ b/lib/plex_ruby_sdk/models/operations/fieldtype.rb @@ -12,12 +12,12 @@ class FieldType < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :operator, T.nilable(T::Array[::PlexRubySDK::Operations::Operator]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } + field :operator, T::Array[::PlexRubySDK::Operations::Operator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } - field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - sig { params(operator: T.nilable(T::Array[::PlexRubySDK::Operations::Operator]), type: T.nilable(::String)).void } + sig { params(operator: T::Array[::PlexRubySDK::Operations::Operator], type: ::String).void } def initialize(operator: nil, type: nil) @operator = operator @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb b/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb index 7960811..96d61bc 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb +++ b/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb @@ -21,7 +21,7 @@ class GetAllLibrariesDirectory < ::PlexRubySDK::Utils::FieldAugmented field :composite, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('composite') } } field :content, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } } - + # Unix epoch datetime in seconds field :content_changed_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentChangedAt') } } # Unix epoch datetime in seconds field :created_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAt') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_field.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_field.rb new file mode 100644 index 0000000..39bcfac --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_field.rb @@ -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 GetLibraryDetailsField < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } + + field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(key: T.nilable(::String), sub_type: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String)).void } + def initialize(key: nil, sub_type: nil, title: nil, type: nil) + @key = key + @sub_type = sub_type + @title = title + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb new file mode 100644 index 0000000..f8ff48a --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb @@ -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 GetLibraryDetailsFieldType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :operator, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsOperator]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } + + field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(operator: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsOperator]), type: T.nilable(::String)).void } + def initialize(operator: nil, type: nil) + @operator = operator + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb index 160fe44..2200a97 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb @@ -20,7 +20,7 @@ class GetLibraryDetailsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } } - field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::FieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } @@ -43,7 +43,7 @@ class GetLibraryDetailsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } - sig { params(allow_sync: T.nilable(T::Boolean), art: T.nilable(::String), content: T.nilable(::String), directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsDirectory]), field_type: T.nilable(T::Array[::PlexRubySDK::Operations::FieldType]), identifier: T.nilable(::String), library_section_id: T.nilable(::Integer), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Integer), size: T.nilable(::Integer), thumb: T.nilable(::String), title1: T.nilable(::String), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsType]), view_group: T.nilable(::String), view_mode: T.nilable(::Integer)).void } + sig { params(allow_sync: T.nilable(T::Boolean), art: T.nilable(::String), content: T.nilable(::String), directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsDirectory]), field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsFieldType]), identifier: T.nilable(::String), library_section_id: T.nilable(::Integer), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Integer), size: T.nilable(::Integer), thumb: T.nilable(::String), title1: T.nilable(::String), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsType]), view_group: T.nilable(::String), view_mode: T.nilable(::Integer)).void } def initialize(allow_sync: nil, art: nil, content: nil, directory: nil, field_type: nil, identifier: nil, library_section_id: nil, media_tag_prefix: nil, media_tag_version: nil, size: nil, thumb: nil, title1: nil, type: nil, view_group: nil, view_mode: nil) @allow_sync = allow_sync @art = art diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_operator.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_operator.rb new file mode 100644 index 0000000..0fcc0c5 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_operator.rb @@ -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 GetLibraryDetailsOperator < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + + sig { params(key: T.nilable(::String), title: T.nilable(::String)).void } + def initialize(key: nil, title: nil) + @key = key + @title = title + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_sort.rb new file mode 100644 index 0000000..a3a56a6 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_sort.rb @@ -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 GetLibraryDetailsSort < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + + field :default_direction, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection') } } + + field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } + + field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } + + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + + sig { params(default: T.nilable(::String), default_direction: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String), key: T.nilable(::String), title: T.nilable(::String)).void } + def initialize(default: nil, default_direction: nil, desc_key: nil, first_character_key: nil, key: nil, title: nil) + @default = default + @default_direction = default_direction + @desc_key = desc_key + @first_character_key = first_character_key + @key = key + @title = title + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb index 73eaa3c..857b8b3 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb @@ -14,20 +14,20 @@ class GetLibraryDetailsType < ::PlexRubySDK::Utils::FieldAugmented field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } - field :field, T.nilable(T::Array[::PlexRubySDK::Operations::Field]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - sig { params(active: T.nilable(T::Boolean), field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsFilter]), key: T.nilable(::String), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), title: T.nilable(::String), type: T.nilable(::String)).void } + sig { params(active: T.nilable(T::Boolean), field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsFilter]), key: T.nilable(::String), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryDetailsSort]), title: T.nilable(::String), type: T.nilable(::String)).void } def initialize(active: nil, field: nil, filter: nil, key: nil, sort: nil, title: nil, type: nil) @active = active @field = field diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_activedirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_activedirection.rb new file mode 100644 index 0000000..01a364e --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_activedirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsActiveDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetLibraryItemsActiveDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb new file mode 100644 index 0000000..b9ca010 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb @@ -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 GetLibraryItemsCollection < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb new file mode 100644 index 0000000..635e2ad --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetLibraryItemsDefaultDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb new file mode 100644 index 0000000..56248f3 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb @@ -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 GetLibraryItemsFlattenSeasons < T::Enum + enums do + FALSE = new('0') + TRUE = new('1') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb new file mode 100644 index 0000000..2e3f29d --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb @@ -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 GetLibraryItemsHasThumbnail < T::Enum + enums do + FALSE = new('0') + TRUE = new('1') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb index 691e59a..f162cf5 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb @@ -14,12 +14,12 @@ class GetLibraryItemsImage < ::PlexRubySDK::Utils::FieldAugmented field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } - field :type, ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, false) } } + field :type, ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponse200Type, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryResponse200Type, false) } } field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } - sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, url: ::String).void } + sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponse200Type, url: ::String).void } def initialize(alt: nil, type: nil, url: nil) @alt = alt @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb new file mode 100644 index 0000000..7fe1d0b --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetLibraryItemsLibraryActiveDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb new file mode 100644 index 0000000..12f8999 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsLibraryDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetLibraryItemsLibraryDefaultDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb new file mode 100644 index 0000000..31b2d94 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb @@ -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 GetLibraryItemsLibraryField < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } + + + sig { params(key: ::String, title: ::String, type: ::String, sub_type: T.nilable(::String)).void } + def initialize(key: nil, title: nil, type: nil, sub_type: nil) + @key = key + @title = title + @type = type + @sub_type = sub_type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb new file mode 100644 index 0000000..6dbb744 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb @@ -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 GetLibraryItemsLibraryFieldType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :operator, T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(operator: T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryOperator], type: ::String).void } + def initialize(operator: nil, type: nil) + @operator = operator + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb new file mode 100644 index 0000000..86e75cf --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb @@ -0,0 +1,36 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetLibraryItemsLibraryFilter < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :filter_type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filterType') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void } + def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil) + @filter = filter + @filter_type = filter_type + @key = key + @title = title + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb new file mode 100644 index 0000000..e9bffe5 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb @@ -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 GetLibraryItemsLibraryOperator < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + + sig { params(key: ::String, title: ::String).void } + def initialize(key: nil, title: nil) + @key = key + @title = title + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb new file mode 100644 index 0000000..193fd66 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb @@ -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 GetLibraryItemsLibraryResponse200Type < T::Enum + enums do + COVER_POSTER = new('coverPoster') + BACKGROUND = new('background') + SNAPSHOT = new('snapshot') + CLEAR_LOGO = new('clearLogo') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb index 0a0b035..5217746 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb @@ -8,12 +8,34 @@ module PlexRubySDK module Operations - class GetLibraryItemsLibraryResponseType < T::Enum - enums do - COVER_POSTER = new('coverPoster') - BACKGROUND = new('background') - SNAPSHOT = new('snapshot') - CLEAR_LOGO = new('clearLogo') + class GetLibraryItemsLibraryResponseType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibrarySort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibrarySort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb new file mode 100644 index 0000000..486eea1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb @@ -0,0 +1,47 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetLibraryItemsLibrarySort < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + # The direction of the sort. Can be either `asc` or `desc`. + # + field :default_direction, ::PlexRubySDK::Operations::GetLibraryItemsLibraryDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryDefaultDirection, false) } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + # The direction of the sort. Can be either `asc` or `desc`. + # + field :active_direction, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsLibraryActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryActiveDirection, true) } } + + field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + + field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } + + field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } + + + sig { params(default_direction: ::PlexRubySDK::Operations::GetLibraryItemsLibraryDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsLibraryActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) + @default_direction = default_direction + @key = key + @title = title + @active = active + @active_direction = active_direction + @default = default + @desc_key = desc_key + @first_character_key = first_character_key + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb index d79b926..41eda46 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb @@ -7,35 +7,14 @@ module PlexRubySDK module Operations - - class GetLibraryItemsLibraryType < ::PlexRubySDK::Utils::FieldAugmented - extend T::Sig - - - field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } - - field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } - - field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } - - - sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort])).void } - def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) - @active = active - @key = key - @title = title - @type = type - @field = field - @filter = filter - @sort = sort + # GetLibraryItemsLibraryType - The type of media content + # + class GetLibraryItemsLibraryType < T::Enum + enums do + MOVIE = new('movie') + TV_SHOW = new('show') + SEASON = new('season') + EPISODE = new('episode') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb index fedcb78..ddbdb4e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb @@ -42,11 +42,15 @@ class GetLibraryItemsMedia < ::PlexRubySDK::Utils::FieldAugmented field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } + 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 :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) } } + - 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), has_voice_activity: T.nilable(T::Boolean)).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, has_voice_activity: nil) + 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) @aspect_ratio = aspect_ratio @audio_channels = audio_channels @audio_codec = audio_codec @@ -62,7 +66,9 @@ def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate @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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb index 7b09576..7ad98dc 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb @@ -7,7 +7,8 @@ module PlexRubySDK module Operations - + # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + # class GetLibraryItemsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig @@ -20,7 +21,7 @@ class GetLibraryItemsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } - field :library_section_id, ::Object, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } @@ -45,19 +46,23 @@ class GetLibraryItemsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } } field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } } + + field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. # - field :meta, T.nilable(::PlexRubySDK::Operations::Meta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } + field :meta, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } } field :nocache, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } } + field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } - sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Object, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, meta: T.nilable(::PlexRubySDK::Operations::Meta), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), view_mode: T.nilable(::Integer)).void } - def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, meta: nil, mixed_parents: nil, nocache: nil, view_mode: nil) + sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), meta: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsMeta), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType]), view_mode: T.nilable(::Integer)).void } + def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, field_type: nil, meta: nil, mixed_parents: nil, nocache: nil, type: nil, view_mode: nil) @allow_sync = allow_sync @art = art @content = content @@ -75,9 +80,11 @@ def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library @title2 = title2 @total_size = total_size @view_group = view_group + @field_type = field_type @meta = meta @mixed_parents = mixed_parents @nocache = nocache + @type = type @view_mode = view_mode end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb new file mode 100644 index 0000000..5427fc3 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb @@ -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 GetLibraryItemsMediaGuid < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb new file mode 100644 index 0000000..a655067 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb @@ -0,0 +1,28 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + # + class GetLibraryItemsMeta < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + + field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + + + sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType])).void } + def initialize(field_type: nil, type: nil) + @field_type = field_type + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb index ef4726d..de6cff5 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb @@ -27,7 +27,7 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } # The type of media content # - field :type, ::PlexRubySDK::Operations::GetLibraryItemsType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsType, false) } } + field :type, ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryType, false) } } field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } @@ -41,7 +41,7 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } - field :collection, T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } } + field :collection, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } } field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } } @@ -51,7 +51,7 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::FlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::FlattenSeasons, true) } } + field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsFlattenSeasons, true) } } field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } @@ -82,12 +82,20 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented 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') } } # 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') } } # 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::MediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } + field :media_guid, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } + + field :meta_data_rating, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetaDataRating]), { '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) } } @@ -102,6 +110,8 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented # 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') } } @@ -128,7 +138,7 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented # dvd = TheTVDB (DVD), # absolute = TheTVDB (Absolute)). # - field :show_ordering, T.nilable(::PlexRubySDK::Operations::ShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ShowOrdering, true) } } + field :show_ordering, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsShowOrdering, true) } } field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } } @@ -146,7 +156,7 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented field :title_sort, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } - field :ultra_blur_colors, T.nilable(::PlexRubySDK::Operations::UltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } + field :ultra_blur_colors, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), { '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') } } @@ -161,8 +171,8 @@ class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented 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::GetLibraryItemsType, 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::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), 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), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), 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_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::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::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, media: nil, media_guid: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: 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), 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) @added_at = added_at @guid = guid @key = key @@ -197,14 +207,19 @@ def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil @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 @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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb new file mode 100644 index 0000000..03fde60 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb @@ -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 GetLibraryItemsMetaDataRating < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb new file mode 100644 index 0000000..0e49787 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb @@ -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 GetLibraryItemsOptimizedForStreaming < T::Enum + enums do + DISABLE = new(0) + ENABLE = new(1) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb index 8769b0c..bf4df04 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb @@ -29,13 +29,19 @@ class GetLibraryItemsPart < ::PlexRubySDK::Utils::FieldAugmented field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - 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) } } + 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) } } 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::GetLibraryItemsStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } + - sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, video_profile: ::String, audio_profile: T.nilable(::String), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String)).void } - def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has_thumbnail: nil, indexes: nil) + 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) @container = container @duration = duration @file = file @@ -44,8 +50,11 @@ def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size @size = size @video_profile = video_profile @audio_profile = audio_profile + @has64bit_offsets = has64bit_offsets @has_thumbnail = has_thumbnail @indexes = indexes + @optimized_for_streaming = optimized_for_streaming + @stream = stream end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb new file mode 100644 index 0000000..971d54d --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsQueryParamIncludeMeta - Adds the Meta object to the response + # + class GetLibraryItemsQueryParamIncludeMeta < T::Enum + enums do + DISABLE = new(0) + ENABLE = new(1) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb new file mode 100644 index 0000000..aceef61 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb @@ -0,0 +1,26 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsQueryParamType - The type of media to retrieve. + # 1 = movie + # 2 = show + # 3 = season + # 4 = episode + # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + # + class GetLibraryItemsQueryParamType < T::Enum + enums do + MOVIE = new(1) + TV_SHOW = new(2) + SEASON = new(3) + EPISODE = new(4) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb index b116591..212a915 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb @@ -22,7 +22,7 @@ class GetLibraryItemsRequest < ::PlexRubySDK::Utils::FieldAugmented field :include_guids, T.nilable(::PlexRubySDK::Operations::IncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } # Adds the Meta object to the response # - field :include_meta, T.nilable(::PlexRubySDK::Operations::IncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } + field :include_meta, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamIncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } # The type of media to retrieve. # 1 = movie # 2 = show @@ -30,7 +30,7 @@ class GetLibraryItemsRequest < ::PlexRubySDK::Utils::FieldAugmented # 4 = episode # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # - field :type, T.nilable(::PlexRubySDK::Operations::Type), { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } + field :type, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamType), { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } # The number of items to return. If not specified, all items will be returned. # If the number of items exceeds the limit, the response will be paginated. # By default this is 50 @@ -43,7 +43,7 @@ class GetLibraryItemsRequest < ::PlexRubySDK::Utils::FieldAugmented field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } - sig { params(section_key: ::Integer, tag: ::PlexRubySDK::Operations::Tag, include_guids: T.nilable(::PlexRubySDK::Operations::IncludeGuids), include_meta: T.nilable(::PlexRubySDK::Operations::IncludeMeta), type: T.nilable(::PlexRubySDK::Operations::Type), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } + sig { params(section_key: ::Integer, tag: ::PlexRubySDK::Operations::Tag, include_guids: T.nilable(::PlexRubySDK::Operations::IncludeGuids), include_meta: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamIncludeMeta), type: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsQueryParamType), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } def initialize(section_key: nil, tag: nil, include_guids: nil, include_meta: nil, type: nil, x_plex_container_size: nil, x_plex_container_start: nil) @section_key = section_key @tag = tag diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb index 3820374..69c4e99 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb @@ -11,13 +11,28 @@ module Operations class GetLibraryItemsRole < ::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(tag: T.nilable(::String)).void } - def initialize(tag: nil) + 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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb new file mode 100644 index 0000000..23a2963 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb @@ -0,0 +1,27 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetLibraryItemsShowOrdering - 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 GetLibraryItemsShowOrdering < T::Enum + enums do + NONE = new('None') + TMDB_AIRING = new('tmdbAiring') + AIRED = new('aired') + DVD = new('dvd') + ABSOLUTE = new('absolute') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb index 94c6506..913e702 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb @@ -13,7 +13,7 @@ class GetLibraryItemsSort < ::PlexRubySDK::Utils::FieldAugmented # The direction of the sort. Can be either `asc` or `desc`. # - field :default_direction, ::PlexRubySDK::Operations::DefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::DefaultDirection, false) } } + field :default_direction, ::PlexRubySDK::Operations::GetLibraryItemsDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsDefaultDirection, false) } } field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } @@ -22,7 +22,7 @@ class GetLibraryItemsSort < ::PlexRubySDK::Utils::FieldAugmented field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } # The direction of the sort. Can be either `asc` or `desc`. # - field :active_direction, T.nilable(::PlexRubySDK::Operations::ActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ActiveDirection, true) } } + field :active_direction, T.nilable(::PlexRubySDK::Operations::GetLibraryItemsActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsActiveDirection, true) } } field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } @@ -31,7 +31,7 @@ class GetLibraryItemsSort < ::PlexRubySDK::Utils::FieldAugmented field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } - sig { params(default_direction: ::PlexRubySDK::Operations::DefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::ActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + sig { params(default_direction: ::PlexRubySDK::Operations::GetLibraryItemsDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) @default_direction = default_direction @key = key diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb new file mode 100644 index 0000000..4f285d9 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb @@ -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 GetLibraryItemsStream < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb index b93d3d6..6766f07 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb @@ -7,14 +7,35 @@ module PlexRubySDK module Operations - # GetLibraryItemsType - The type of media content - # - class GetLibraryItemsType < T::Enum - enums do - MOVIE = new('movie') - TV_SHOW = new('show') - SEASON = new('season') - EPISODE = new('episode') + + class GetLibraryItemsType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb new file mode 100644 index 0000000..eb7d98e --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb @@ -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 GetLibraryItemsUltraBlurColors < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb b/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb index 814617d..8ca755e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb @@ -30,12 +30,12 @@ class GetMetaDataByRatingKeyPart < ::PlexRubySDK::Utils::FieldAugmented field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } + field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetMetaDataByRatingKeyStream]), { '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(audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), id: T.nilable(::Integer), key: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), size: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), video_profile: T.nilable(::String)).void } + sig { params(audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), id: T.nilable(::Integer), key: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), size: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetMetaDataByRatingKeyStream]), video_profile: T.nilable(::String)).void } def initialize(audio_profile: nil, container: nil, duration: nil, file: nil, has64bit_offsets: nil, id: nil, key: nil, optimized_for_streaming: nil, size: nil, stream: nil, video_profile: nil) @audio_profile = audio_profile @container = container diff --git a/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb b/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb new file mode 100644 index 0000000..5e0dad3 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb @@ -0,0 +1,117 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetMetaDataByRatingKeyStream < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } } + + field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + + field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } } + + field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } } + + field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } } + + field :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } + + field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } } + + field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } } + + field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } } + + field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } } + + field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } } + + field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } } + + field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + + field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } } + + field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } + + field :frame_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } + + field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } } + + field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + + field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + + field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } + + field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } } + + field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } } + + field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } } + + field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } } + + field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } } + + field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } } + + field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } } + + field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } } + + field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } } + + field :stream_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } + + field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } + + + sig { params(bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), codec: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Integer), has_scaling_matrix: T.nilable(T::Boolean), height: T.nilable(::Integer), id: T.nilable(::Integer), index: 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), stream_type: T.nilable(::Integer), width: T.nilable(::Integer)).void } + def initialize(bit_depth: nil, bitrate: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, height: nil, id: nil, index: 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, stream_type: nil, width: nil) + @bit_depth = bit_depth + @bitrate = bitrate + @channels = channels + @chroma_location = chroma_location + @chroma_subsampling = chroma_subsampling + @codec = codec + @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 + @extended_display_title = extended_display_title + @frame_rate = frame_rate + @has_scaling_matrix = has_scaling_matrix + @height = height + @id = id + @index = index + @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 + @stream_type = stream_type + @width = width + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb new file mode 100644 index 0000000..b2a2327 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetRecentlyAddedActiveDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetRecentlyAddedActiveDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb new file mode 100644 index 0000000..267cace --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetRecentlyAddedDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class GetRecentlyAddedDefaultDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_field.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_field.rb new file mode 100644 index 0000000..72f4e70 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_field.rb @@ -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 GetRecentlyAddedField < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } + + + sig { params(key: ::String, title: ::String, type: ::String, sub_type: T.nilable(::String)).void } + def initialize(key: nil, title: nil, type: nil, sub_type: nil) + @key = key + @title = title + @type = type + @sub_type = sub_type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb new file mode 100644 index 0000000..c0f61f3 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb @@ -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 GetRecentlyAddedFieldType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :operator, T::Array[::PlexRubySDK::Operations::GetRecentlyAddedOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(operator: T::Array[::PlexRubySDK::Operations::GetRecentlyAddedOperator], type: ::String).void } + def initialize(operator: nil, type: nil) + @operator = operator + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb new file mode 100644 index 0000000..98fdedd --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb @@ -0,0 +1,36 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedFilter < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :filter_type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filterType') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void } + def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil) + @filter = filter + @filter_type = filter_type + @key = key + @title = title + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb new file mode 100644 index 0000000..aa55712 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb @@ -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 GetRecentlyAddedHubsResponseType < T::Enum + enums do + COVER_POSTER = new('coverPoster') + BACKGROUND = new('background') + SNAPSHOT = new('snapshot') + CLEAR_LOGO = new('clearLogo') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb new file mode 100644 index 0000000..b033692 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb @@ -0,0 +1,21 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetRecentlyAddedHubsType - The type of media content + # + class GetRecentlyAddedHubsType < T::Enum + enums do + MOVIE = new('movie') + TV_SHOW = new('show') + SEASON = new('season') + EPISODE = new('episode') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_image.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_image.rb new file mode 100644 index 0000000..ee65a37 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_image.rb @@ -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 GetRecentlyAddedImage < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } + + field :type, ::PlexRubySDK::Operations::GetRecentlyAddedHubsResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetRecentlyAddedHubsResponseType, false) } } + + field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } + + + sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetRecentlyAddedHubsResponseType, url: ::String).void } + def initialize(alt: nil, type: nil, url: nil) + @alt = alt + @type = type + @url = url + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_badrequest.rb similarity index 77% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_badrequest.rb index 898559e..34cf8b9 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_badrequest.rb @@ -7,8 +7,8 @@ module PlexRubySDK module Operations - # Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - class GetRecentlyAddedUnauthorized < ::PlexRubySDK::Utils::FieldAugmented + # Bad Request - A parameter was not specified, or was specified incorrectly. + class GetRecentlyAddedLibraryBadRequest < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_country.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_country.rb new file mode 100644 index 0000000..e744b4e --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_country.rb @@ -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 GetRecentlyAddedLibraryCountry < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_director.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_director.rb new file mode 100644 index 0000000..dc0e8d2 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_director.rb @@ -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 GetRecentlyAddedLibraryDirector < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_errors.rb similarity index 100% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_errors.rb diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb new file mode 100644 index 0000000..f305601 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb @@ -0,0 +1,36 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedLibraryFilter < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :filter_type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filterType') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + + sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void } + def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil) + @filter = filter + @filter_type = filter_type + @key = key + @title = title + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb new file mode 100644 index 0000000..5b822de --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb @@ -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 GetRecentlyAddedLibraryGenre < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_library_errors.rb similarity index 90% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_library_errors.rb index aec3ce4..d51ce02 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_library_errors.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Operations - class GetRecentlyAddedErrors < ::PlexRubySDK::Utils::FieldAugmented + class GetRecentlyAddedLibraryLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_media.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_media.rb new file mode 100644 index 0000000..2d23fc1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_media.rb @@ -0,0 +1,69 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedLibraryMedia < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } + + field :audio_channels, T.nilable(::Float), { '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 :bitrate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + + field :duration, T.nilable(::Float), { '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 :height, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + + field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :optimized_for_streaming, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + + field :part, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } + + 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(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } + + field :width, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } + + + sig { params(aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Float), audio_codec: T.nilable(::String), bitrate: T.nilable(::Float), container: T.nilable(::String), duration: T.nilable(::Float), has64bit_offsets: T.nilable(T::Boolean), height: T.nilable(::Float), id: T.nilable(::Float), optimized_for_streaming: T.nilable(::Float), part: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::Float), width: T.nilable(::Float)).void } + def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, has64bit_offsets: nil, height: nil, id: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) + @aspect_ratio = aspect_ratio + @audio_channels = audio_channels + @audio_codec = audio_codec + @bitrate = bitrate + @container = container + @duration = duration + @has64bit_offsets = has64bit_offsets + @height = height + @id = id + @optimized_for_streaming = optimized_for_streaming + @part = part + @video_codec = video_codec + @video_frame_rate = video_frame_rate + @video_profile = video_profile + @video_resolution = video_resolution + @width = width + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb new file mode 100644 index 0000000..3ce31fd --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb @@ -0,0 +1,49 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + # + class GetRecentlyAddedLibraryMediaContainer < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } + + field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::FieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + + field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } + + field :media_tag_prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } } + + field :media_tag_version, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } } + + field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + + field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } } + + field :size, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + + field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + + + sig { params(allow_sync: T.nilable(T::Boolean), field_type: T.nilable(T::Array[::PlexRubySDK::Operations::FieldType]), identifier: T.nilable(::String), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Float), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMetadata]), mixed_parents: T.nilable(T::Boolean), size: T.nilable(::Float), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryType])).void } + def initialize(allow_sync: nil, field_type: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, mixed_parents: nil, size: nil, type: nil) + @allow_sync = allow_sync + @field_type = field_type + @identifier = identifier + @media_tag_prefix = media_tag_prefix + @media_tag_version = media_tag_version + @metadata = metadata + @mixed_parents = mixed_parents + @size = size + @type = type + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_metadata.rb similarity index 76% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_metadata.rb index b00c9a4..fbf00cd 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_metadata.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Operations - class GetRecentlyAddedMetadata < ::PlexRubySDK::Utils::FieldAugmented + class GetRecentlyAddedLibraryMetadata < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig @@ -26,13 +26,13 @@ class GetRecentlyAddedMetadata < ::PlexRubySDK::Utils::FieldAugmented field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } } - field :country, T.nilable(T::Array[::PlexRubySDK::Operations::Country]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } + field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } - field :director, T.nilable(T::Array[::PlexRubySDK::Operations::Director]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } + field :director, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } + field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } field :guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } } @@ -44,7 +44,7 @@ class GetRecentlyAddedMetadata < ::PlexRubySDK::Utils::FieldAugmented field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } } - field :media, T.nilable(T::Array[::PlexRubySDK::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } + field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } field :originally_available_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.datetime_from_iso_format(true) } } @@ -56,7 +56,7 @@ class GetRecentlyAddedMetadata < ::PlexRubySDK::Utils::FieldAugmented field :rating_key, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } } - field :role, T.nilable(T::Array[::PlexRubySDK::Operations::Role]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } + field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } @@ -72,12 +72,12 @@ class GetRecentlyAddedMetadata < ::PlexRubySDK::Utils::FieldAugmented field :updated_at, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } - field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } } + field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } } field :year, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } } - sig { params(added_at: T.nilable(::Float), allow_sync: T.nilable(T::Boolean), art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::Country]), director: T.nilable(T::Array[::PlexRubySDK::Operations::Director]), duration: T.nilable(::Float), genre: T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), guid: T.nilable(::String), key: T.nilable(::String), library_section_id: T.nilable(::Float), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::Media]), originally_available_at: T.nilable(::DateTime), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), rating_key: T.nilable(::Float), role: T.nilable(T::Array[::PlexRubySDK::Operations::Role]), studio: T.nilable(::String), summary: T.nilable(::String), tagline: T.nilable(::String), thumb: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), updated_at: T.nilable(::Float), writer: T.nilable(T::Array[::PlexRubySDK::Operations::Writer]), year: T.nilable(::Float)).void } + sig { params(added_at: T.nilable(::Float), allow_sync: T.nilable(T::Boolean), art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryDirector]), duration: T.nilable(::Float), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryGenre]), guid: T.nilable(::String), key: T.nilable(::String), library_section_id: T.nilable(::Float), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryMedia]), originally_available_at: T.nilable(::DateTime), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), rating_key: T.nilable(::Float), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryRole]), studio: T.nilable(::String), summary: T.nilable(::String), tagline: T.nilable(::String), thumb: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), updated_at: T.nilable(::Float), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryWriter]), year: T.nilable(::Float)).void } def initialize(added_at: nil, allow_sync: nil, art: nil, audience_rating: nil, audience_rating_image: nil, chapter_source: nil, content_rating: nil, country: nil, director: nil, duration: nil, genre: nil, guid: nil, key: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media: nil, originally_available_at: nil, primary_extra_key: nil, rating: nil, rating_image: nil, rating_key: nil, role: nil, studio: nil, summary: nil, tagline: nil, thumb: nil, title: nil, type: nil, updated_at: nil, writer: nil, year: nil) @added_at = added_at @allow_sync = allow_sync diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_part.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_part.rb new file mode 100644 index 0000000..7dc2470 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_part.rb @@ -0,0 +1,51 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedLibraryPart < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + + field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + + field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } + + field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } + + field :has_thumbnail, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail') } } + + field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + + field :size, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + + field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } + + + sig { params(container: T.nilable(::String), duration: T.nilable(::Float), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::Float), id: T.nilable(::Float), key: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), size: T.nilable(::Float), video_profile: T.nilable(::String)).void } + def initialize(container: nil, duration: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, id: nil, key: nil, optimized_for_streaming: nil, size: nil, video_profile: nil) + @container = container + @duration = duration + @file = file + @has64bit_offsets = has64bit_offsets + @has_thumbnail = has_thumbnail + @id = id + @key = key + @optimized_for_streaming = optimized_for_streaming + @size = size + @video_profile = video_profile + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb new file mode 100644 index 0000000..39531e0 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb @@ -0,0 +1,55 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedLibraryRequest < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + # The type of media to retrieve. + # 1 = movie + # 2 = show + # 3 = season + # 4 = episode + # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + # + field :type, ::PlexRubySDK::Operations::QueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } + + field :content_directory_id, T.nilable(::Integer), { 'query_param': { 'field_name': 'contentDirectoryID', 'style': 'form', 'explode': true } } + # Adds the Meta object to the response + # + field :include_meta, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } + + field :pinned_content_directory_id, T.nilable(T::Array[::Integer]), { 'query_param': { 'field_name': 'pinnedContentDirectoryID', 'style': 'form', 'explode': true } } + # The library section ID for filtering content. + field :section_id, T.nilable(::Integer), { 'query_param': { 'field_name': 'sectionID', 'style': 'form', 'explode': true } } + # The number of items to return. If not specified, all items will be returned. + # If the number of items exceeds the limit, the response will be paginated. + # By default this is 50 + # + field :x_plex_container_size, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Size', 'style': 'form', 'explode': true } } + # The index of the first item to return. If not specified, the first item will be returned. + # If the number of items exceeds the limit, the response will be paginated. + # By default this is 0 + # + field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } + + + sig { params(type: ::PlexRubySDK::Operations::QueryParamType, content_directory_id: T.nilable(::Integer), include_meta: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeMeta), pinned_content_directory_id: T.nilable(T::Array[::Integer]), section_id: T.nilable(::Integer), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } + def initialize(type: nil, content_directory_id: nil, include_meta: nil, pinned_content_directory_id: nil, section_id: nil, x_plex_container_size: nil, x_plex_container_start: nil) + @type = type + @content_directory_id = content_directory_id + @include_meta = include_meta + @pinned_content_directory_id = pinned_content_directory_id + @section_id = section_id + @x_plex_container_size = x_plex_container_size + @x_plex_container_start = x_plex_container_start + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_response.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_response.rb similarity index 76% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_response.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_response.rb index 1d7ddd4..03d5fc2 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_response.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_response.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Operations - class GetRecentlyAddedResponse < ::PlexRubySDK::Utils::FieldAugmented + class GetRecentlyAddedLibraryResponse < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig # HTTP response content type for this operation @@ -18,14 +18,14 @@ class GetRecentlyAddedResponse < ::PlexRubySDK::Utils::FieldAugmented # 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::GetRecentlyAddedBadRequest) + field :bad_request, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryBadRequest) # The recently added content - field :object, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody) + field :object, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponseBody) # Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedUnauthorized) + field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryUnauthorized) - sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedUnauthorized)).void } + sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryUnauthorized)).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 diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb new file mode 100644 index 0000000..c549203 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb @@ -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 recently added content + class GetRecentlyAddedLibraryResponseBody < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :media_container, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } } + + + sig { params(media_container: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedLibraryMediaContainer)).void } + def initialize(media_container: nil) + @media_container = media_container + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_role.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_role.rb new file mode 100644 index 0000000..1bbd52a --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_role.rb @@ -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 GetRecentlyAddedLibraryRole < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb new file mode 100644 index 0000000..2ba056a --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb @@ -0,0 +1,42 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedLibraryType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::Field]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_unauthorized.rb similarity index 53% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_library_unauthorized.rb index c9c4062..11f873c 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_unauthorized.rb @@ -7,15 +7,15 @@ module PlexRubySDK module Operations - # Bad Request - A parameter was not specified, or was specified incorrectly. - class GetRecentlyAddedBadRequest < ::PlexRubySDK::Utils::FieldAugmented + # Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + class GetRecentlyAddedLibraryUnauthorized < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } + field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } - sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedErrors])).void } + sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryLibraryErrors])).void } def initialize(errors: nil) @errors = errors end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb new file mode 100644 index 0000000..385a0bf --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb @@ -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 GetRecentlyAddedLibraryWriter < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb new file mode 100644 index 0000000..418fe9b --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb @@ -0,0 +1,43 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedMediaContainer < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + + field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } + + field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } + # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + # + field :meta, T.nilable(::PlexRubySDK::Operations::Meta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } + + field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + + field :offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } } + + field :total_size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } } + + + sig { params(size: ::Float, allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void } + def initialize(size: nil, allow_sync: nil, identifier: nil, meta: nil, metadata: nil, offset: nil, total_size: nil) + @size = size + @allow_sync = allow_sync + @identifier = identifier + @meta = meta + @metadata = metadata + @offset = offset + @total_size = total_size + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb new file mode 100644 index 0000000..d8abfbe --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb @@ -0,0 +1,252 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedMetadata < ::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::GetRecentlyAddedHubsType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetRecentlyAddedHubsType, 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::Collection]), { '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::Country]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } + + field :director, T.nilable(T::Array[::PlexRubySDK::Operations::Director]), { '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::FlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::FlattenSeasons, true) } } + + field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::Genre]), { '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::GetRecentlyAddedImage]), { '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') } } + # 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') } } + # 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::MediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } + + field :meta_data_rating, T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), { '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::Role]), { '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::ShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ShowOrdering, 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::UltraBlurColors), { '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::Writer]), { '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::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) + @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 + @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 diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_operator.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_operator.rb new file mode 100644 index 0000000..0108e08 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_operator.rb @@ -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 GetRecentlyAddedOperator < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + + sig { params(key: ::String, title: ::String).void } + def initialize(key: nil, title: nil) + @key = key + @title = title + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb new file mode 100644 index 0000000..b6fc851 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb @@ -0,0 +1,55 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedRequest < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + # The content directory ID. + field :content_directory_id, ::Integer, { 'query_param': { 'field_name': 'contentDirectoryID', 'style': 'form', 'explode': true } } + # The type of media to retrieve. + # 1 = movie + # 2 = show + # 3 = season + # 4 = episode + # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + # + field :type, ::PlexRubySDK::Operations::Type, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } + # Adds the Meta object to the response + # + field :include_meta, T.nilable(::PlexRubySDK::Operations::IncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } + # Comma-separated list of pinned content directory IDs. + field :pinned_content_directory_id, T.nilable(::String), { 'query_param': { 'field_name': 'pinnedContentDirectoryID', 'style': 'form', 'explode': true } } + # The library section ID for filtering content. + field :section_id, T.nilable(::Integer), { 'query_param': { 'field_name': 'sectionID', 'style': 'form', 'explode': true } } + # The number of items to return. If not specified, all items will be returned. + # If the number of items exceeds the limit, the response will be paginated. + # By default this is 50 + # + field :x_plex_container_size, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Size', 'style': 'form', 'explode': true } } + # The index of the first item to return. If not specified, the first item will be returned. + # If the number of items exceeds the limit, the response will be paginated. + # By default this is 0 + # + field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } + + + sig { params(content_directory_id: ::Integer, type: ::PlexRubySDK::Operations::Type, include_meta: T.nilable(::PlexRubySDK::Operations::IncludeMeta), pinned_content_directory_id: T.nilable(::String), section_id: T.nilable(::Integer), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } + def initialize(content_directory_id: nil, type: nil, include_meta: nil, pinned_content_directory_id: nil, section_id: nil, x_plex_container_size: nil, x_plex_container_start: nil) + @content_directory_id = content_directory_id + @type = type + @include_meta = include_meta + @pinned_content_directory_id = pinned_content_directory_id + @section_id = section_id + @x_plex_container_size = x_plex_container_size + @x_plex_container_start = x_plex_container_start + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_response.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_response.rb new file mode 100644 index 0000000..b87c3f1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_response.rb @@ -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 GetRecentlyAddedResponse < ::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 + # A successful response with recently added content. + field :object, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody) + + + sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, object: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedResponseBody)).void } + def initialize(content_type: nil, raw_response: nil, status_code: nil, object: nil) + @content_type = content_type + @raw_response = raw_response + @status_code = status_code + @object = object + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb similarity index 92% rename from lib/plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb rename to lib/plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb index 013b139..be04ee2 100644 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb @@ -7,7 +7,7 @@ module PlexRubySDK module Operations - # The recently added content + # A successful response with recently added content. class GetRecentlyAddedResponseBody < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_sort.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_sort.rb new file mode 100644 index 0000000..8297510 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_sort.rb @@ -0,0 +1,47 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedSort < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + # The direction of the sort. Can be either `asc` or `desc`. + # + field :default_direction, ::PlexRubySDK::Operations::GetRecentlyAddedDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetRecentlyAddedDefaultDirection, false) } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + # The direction of the sort. Can be either `asc` or `desc`. + # + field :active_direction, T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetRecentlyAddedActiveDirection, true) } } + + field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + + field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } + + field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } + + + sig { params(default_direction: ::PlexRubySDK::Operations::GetRecentlyAddedDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::GetRecentlyAddedActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) + @default_direction = default_direction + @key = key + @title = title + @active = active + @active_direction = active_direction + @default = default + @desc_key = desc_key + @first_character_key = first_character_key + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb new file mode 100644 index 0000000..104e963 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb @@ -0,0 +1,42 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetRecentlyAddedType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb new file mode 100644 index 0000000..9c32092 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb @@ -0,0 +1,26 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # GetSearchLibraryQueryParamType - The type of media to retrieve. + # 1 = movie + # 2 = show + # 3 = season + # 4 = episode + # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + # + class GetSearchLibraryQueryParamType < T::Enum + enums do + MOVIE = new(1) + TV_SHOW = new(2) + SEASON = new(3) + EPISODE = new(4) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb b/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb index 6a7827e..5f971f0 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb @@ -22,10 +22,10 @@ class GetSearchLibraryRequest < ::PlexRubySDK::Utils::FieldAugmented # 4 = episode # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # - field :type, ::PlexRubySDK::Operations::QueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } + field :type, ::PlexRubySDK::Operations::GetSearchLibraryQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } - sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::QueryParamType).void } + sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::GetSearchLibraryQueryParamType).void } def initialize(section_key: nil, type: nil) @section_key = section_key @type = type diff --git a/lib/plex_ruby_sdk/models/operations/getpin_request.rb b/lib/plex_ruby_sdk/models/operations/getpin_request.rb index 8e42359..4ac6900 100644 --- a/lib/plex_ruby_sdk/models/operations/getpin_request.rb +++ b/lib/plex_ruby_sdk/models/operations/getpin_request.rb @@ -14,6 +14,11 @@ module Operations 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 } } @@ -29,8 +34,9 @@ class GetPinRequest < ::PlexRubySDK::Utils::FieldAugmented field :strong, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'strong', 'style': 'form', 'explode': true } } - sig { params(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_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_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) + @client_id = client_id @client_name = client_name @client_platform = client_platform @client_version = client_version diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb deleted file mode 100644 index 88a5089..0000000 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb +++ /dev/null @@ -1,42 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Operations - - - class GetRecentlyAddedMediaContainer < ::PlexRubySDK::Utils::FieldAugmented - extend T::Sig - - - field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } - - field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } - - field :media_tag_prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } } - - field :media_tag_version, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } } - - field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - - field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } } - - field :size, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - - - sig { params(allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Float), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), mixed_parents: T.nilable(T::Boolean), size: T.nilable(::Float)).void } - def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, mixed_parents: nil, size: nil) - @allow_sync = allow_sync - @identifier = identifier - @media_tag_prefix = media_tag_prefix - @media_tag_version = media_tag_version - @metadata = metadata - @mixed_parents = mixed_parents - @size = size - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb b/lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb deleted file mode 100644 index 9853954..0000000 --- a/lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb +++ /dev/null @@ -1,33 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Operations - - - class GetRecentlyAddedRequest < ::PlexRubySDK::Utils::FieldAugmented - extend T::Sig - - # The number of items to return. If not specified, all items will be returned. - # If the number of items exceeds the limit, the response will be paginated. - # By default this is 50 - # - field :x_plex_container_size, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Size', 'style': 'form', 'explode': true } } - # The index of the first item to return. If not specified, the first item will be returned. - # If the number of items exceeds the limit, the response will be paginated. - # By default this is 0 - # - field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } - - - sig { params(x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } - def initialize(x_plex_container_size: nil, x_plex_container_start: nil) - @x_plex_container_size = x_plex_container_size - @x_plex_container_start = x_plex_container_start - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/media.rb b/lib/plex_ruby_sdk/models/operations/media.rb index b2e9403..c44f83f 100644 --- a/lib/plex_ruby_sdk/models/operations/media.rb +++ b/lib/plex_ruby_sdk/models/operations/media.rb @@ -12,57 +12,63 @@ class Media < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } + field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } - field :audio_channels, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } } + field :audio_channels, ::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_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } } - field :bitrate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } - field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + field :duration, ::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 :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - field :height, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + field :part, T::Array[::PlexRubySDK::Operations::Part], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } - field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } } - field :optimized_for_streaming, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } - field :part, T.nilable(T::Array[::PlexRubySDK::Operations::Part]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } + field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } } + field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } - field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } + field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - field :video_profile, T.nilable(::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 :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } - field :video_resolution, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } + field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } } - field :width, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } + 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) } } - sig { params(aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Float), audio_codec: T.nilable(::String), bitrate: T.nilable(::Float), container: T.nilable(::String), duration: T.nilable(::Float), has64bit_offsets: T.nilable(T::Boolean), height: T.nilable(::Float), id: T.nilable(::Float), optimized_for_streaming: T.nilable(::Float), part: T.nilable(T::Array[::PlexRubySDK::Operations::Part]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::Float), width: T.nilable(::Float)).void } - def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, has64bit_offsets: nil, height: nil, id: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) + 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) @aspect_ratio = aspect_ratio @audio_channels = audio_channels @audio_codec = audio_codec @bitrate = bitrate @container = container @duration = duration - @has64bit_offsets = has64bit_offsets @height = height @id = id - @optimized_for_streaming = optimized_for_streaming @part = part @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 diff --git a/lib/plex_ruby_sdk/models/operations/meta.rb b/lib/plex_ruby_sdk/models/operations/meta.rb index f46886d..6d837e0 100644 --- a/lib/plex_ruby_sdk/models/operations/meta.rb +++ b/lib/plex_ruby_sdk/models/operations/meta.rb @@ -13,12 +13,12 @@ class Meta < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } - field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } - sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType])).void } + sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedType])).void } def initialize(field_type: nil, type: nil) @field_type = field_type @type = type diff --git a/lib/plex_ruby_sdk/models/operations/metadatarating.rb b/lib/plex_ruby_sdk/models/operations/metadatarating.rb new file mode 100644 index 0000000..16562e9 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/metadatarating.rb @@ -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 MetaDataRating < ::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 diff --git a/lib/plex_ruby_sdk/models/operations/operator.rb b/lib/plex_ruby_sdk/models/operations/operator.rb index 92f2305..aadd04f 100644 --- a/lib/plex_ruby_sdk/models/operations/operator.rb +++ b/lib/plex_ruby_sdk/models/operations/operator.rb @@ -12,12 +12,12 @@ class Operator < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - sig { params(key: T.nilable(::String), title: T.nilable(::String)).void } + sig { params(key: ::String, title: ::String).void } def initialize(key: nil, title: nil) @key = key @title = title diff --git a/lib/plex_ruby_sdk/models/operations/optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/optimizedforstreaming.rb new file mode 100644 index 0000000..8ca2159 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/optimizedforstreaming.rb @@ -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 OptimizedForStreaming < T::Enum + enums do + DISABLE = new(0) + ENABLE = new(1) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/part.rb b/lib/plex_ruby_sdk/models/operations/part.rb index b51671d..630b155 100644 --- a/lib/plex_ruby_sdk/models/operations/part.rb +++ b/lib/plex_ruby_sdk/models/operations/part.rb @@ -11,40 +11,50 @@ module Operations class Part < ::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 :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } - field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :has_thumbnail, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail') } } + field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } - field :size, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + 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) } } + + 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 :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } + field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } - sig { params(container: T.nilable(::String), duration: T.nilable(::Float), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::Float), id: T.nilable(::Float), key: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), size: T.nilable(::Float), video_profile: T.nilable(::String)).void } - def initialize(container: nil, duration: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, id: nil, key: nil, optimized_for_streaming: nil, size: nil, video_profile: nil) + 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) @container = container @duration = duration @file = file - @has64bit_offsets = has64bit_offsets - @has_thumbnail = has_thumbnail @id = id @key = key - @optimized_for_streaming = optimized_for_streaming @size = size @video_profile = video_profile + @audio_profile = audio_profile + @has64bit_offsets = has64bit_offsets + @has_thumbnail = has_thumbnail + @indexes = indexes + @optimized_for_streaming = optimized_for_streaming + @stream = stream end end end diff --git a/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb b/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb new file mode 100644 index 0000000..2b47572 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb @@ -0,0 +1,45 @@ +# 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_REQUEST_SERVERS = [ + 'https://plex.tv/api/v2/' + ].freeze + + + 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 } } + # 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) + @client_id = client_id + @client_name = client_name + @client_platform = client_platform + @client_version = client_version + @device_name = device_name + @request_body = request_body + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/queryparam_includemeta.rb b/lib/plex_ruby_sdk/models/operations/queryparam_includemeta.rb new file mode 100644 index 0000000..345131d --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/queryparam_includemeta.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # QueryParamIncludeMeta - Adds the Meta object to the response + # + class QueryParamIncludeMeta < T::Enum + enums do + DISABLE = new(0) + ENABLE = new(1) + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/role.rb b/lib/plex_ruby_sdk/models/operations/role.rb index ac0d57a..30eaba2 100644 --- a/lib/plex_ruby_sdk/models/operations/role.rb +++ b/lib/plex_ruby_sdk/models/operations/role.rb @@ -11,13 +11,28 @@ module Operations class Role < ::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(tag: T.nilable(::String)).void } - def initialize(tag: nil) + 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 diff --git a/lib/plex_ruby_sdk/models/operations/sort.rb b/lib/plex_ruby_sdk/models/operations/sort.rb index 03ca7c0..d893be6 100644 --- a/lib/plex_ruby_sdk/models/operations/sort.rb +++ b/lib/plex_ruby_sdk/models/operations/sort.rb @@ -11,28 +11,36 @@ module Operations class Sort < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig + # The direction of the sort. Can be either `asc` or `desc`. + # + field :default_direction, ::PlexRubySDK::Operations::DefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::DefaultDirection, false) } } - field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :default_direction, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection') } } + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } + field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + # The direction of the sort. Can be either `asc` or `desc`. + # + field :active_direction, T.nilable(::PlexRubySDK::Operations::ActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ActiveDirection, true) } } - field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } + field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } - field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } - field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } - sig { params(default: T.nilable(::String), default_direction: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String), key: T.nilable(::String), title: T.nilable(::String)).void } - def initialize(default: nil, default_direction: nil, desc_key: nil, first_character_key: nil, key: nil, title: nil) - @default = default + sig { params(default_direction: ::PlexRubySDK::Operations::DefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::ActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) @default_direction = default_direction - @desc_key = desc_key - @first_character_key = first_character_key @key = key @title = title + @active = active + @active_direction = active_direction + @default = default + @desc_key = desc_key + @first_character_key = first_character_key end end end diff --git a/lib/plex_ruby_sdk/models/operations/stream.rb b/lib/plex_ruby_sdk/models/operations/stream.rb index 8596a94..8b0b7ac 100644 --- a/lib/plex_ruby_sdk/models/operations/stream.rb +++ b/lib/plex_ruby_sdk/models/operations/stream.rb @@ -11,80 +11,98 @@ module Operations class Stream < ::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 :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } - + 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') } } - - field :frame_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } - + # 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') } } - - field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - - field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - + # 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') } } - - field :stream_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } - + # 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(bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), codec: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Integer), has_scaling_matrix: T.nilable(T::Boolean), height: T.nilable(::Integer), id: T.nilable(::Integer), index: 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), stream_type: T.nilable(::Integer), width: T.nilable(::Integer)).void } - def initialize(bit_depth: nil, bitrate: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, height: nil, id: nil, index: 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, stream_type: nil, width: nil) + 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 - @codec = codec + @closed_captions = closed_captions @coded_height = coded_height @coded_width = coded_width @color_primaries = color_primaries @@ -93,12 +111,12 @@ def initialize(bit_depth: nil, bitrate: nil, channels: nil, chroma_location: nil @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 - @id = id - @index = index @language = language @language_code = language_code @language_tag = language_tag @@ -109,7 +127,7 @@ def initialize(bit_depth: nil, bitrate: nil, channels: nil, chroma_location: nil @scan_type = scan_type @selected = selected @stream_identifier = stream_identifier - @stream_type = stream_type + @title = title @width = width end end diff --git a/lib/plex_ruby_sdk/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb index 9159907..99e30ef 100644 --- a/lib/plex_ruby_sdk/sdkconfiguration.rb +++ b/lib/plex_ruby_sdk/sdkconfiguration.rb @@ -42,9 +42,9 @@ def initialize(client, security, server_url, server_idx, server_params, globals) @globals = globals.nil? ? {} : globals @language = 'ruby' @openapi_doc_version = '0.0.3' - @sdk_version = '0.4.1' - @gen_version = '2.421.3' - @user_agent = 'speakeasy-sdk/ruby 0.4.1 2.421.3 0.0.3 plex_ruby_sdk' + @sdk_version = '0.4.2' + @gen_version = '2.422.22' + @user_agent = 'speakeasy-sdk/ruby 0.4.2 2.422.22 0.0.3 plex_ruby_sdk' end sig { returns([String, T::Hash[Symbol, String]]) } diff --git a/plex_ruby_sdk.gemspec b/plex_ruby_sdk.gemspec index 4e11e5f..ae68ea1 100644 --- a/plex_ruby_sdk.gemspec +++ b/plex_ruby_sdk.gemspec @@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__) Gem::Specification.new do |s| s.name = 'plex_ruby_sdk' - s.version = '0.4.1' + s.version = '0.4.2' s.platform = Gem::Platform::RUBY s.licenses = ['Apache-2.0'] s.summary = ''