From 8d9f4bbaf16dae0507947fc5bccf2932ea4f944f Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Sun, 9 Mar 2025 00:10:48 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 --- .speakeasy/gen.lock | 44 +- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 2 - RELEASES.md | 12 +- codeSamples.yaml | 20 - docs/sdk/models/errors/getondeckbadrequest.md | 18 - docs/sdk/models/errors/getondeckerrors.md | 21 - .../models/errors/getondecklibraryerrors.md | 21 - .../models/errors/getondeckunauthorized.md | 18 - .../operations/addplaylistcontentsrequest.md | 2 +- .../operations/addplaylistcontentsresponse.md | 2 +- .../models/operations/applyupdatesresponse.md | 2 +- docs/sdk/models/operations/billing.md | 2 +- .../operations/checkforupdatesresponse.md | 2 +- .../clearplaylistcontentsrequest.md | 2 +- docs/sdk/models/operations/collection.md | 8 +- docs/sdk/models/operations/country.md | 12 +- .../createplaylistqueryparamtype.md | 2 +- .../operations/createplaylistrequest.md | 4 +- .../operations/createplaylistresponse.md | 2 +- .../operations/deletelibraryresponse.md | 2 +- .../operations/deleteplaylistrequest.md | 2 +- .../operations/deleteplaylistresponse.md | 2 +- docs/sdk/models/operations/director.md | 8 +- .../operations/enablepapertrailresponse.md | 2 +- docs/sdk/models/operations/filter.md | 2 +- docs/sdk/models/operations/genre.md | 14 +- .../operations/getactorslibraryresponse.md | 2 +- .../operations/getalllibrariesresponse.md | 2 +- .../operations/getallmedialibrarygenre.md | 8 +- .../operations/getallmedialibraryguids.md | 17 + .../operations/getallmedialibrarymedia.md | 6 +- .../getallmedialibrarymediacontainer.md | 8 +- .../operations/getallmedialibrarymetadata.md | 12 +- ...getallmedialibraryoptimizedforstreaming.md | 4 +- ...etallmedialibraryoptimizedforstreaming1.md | 2 +- .../operations/getallmedialibrarypart.md | 2 + .../operations/getallmedialibraryresponse.md | 10 +- .../getallmedialibraryresponsebody.md | 8 +- .../operations/getallmedialibraryrole.md | 8 +- .../operations/getallmedialibrarystream.md | 10 +- .../operations/getallmedialibrarywriter.md | 4 +- .../getbandwidthstatisticsresponse.md | 2 +- .../operations/getcountrieslibraryresponse.md | 2 +- .../models/operations/getfilehashresponse.md | 2 +- .../operations/getgenreslibraryresponse.md | 2 +- .../operations/getlibrarydetailsresponse.md | 2 +- .../operations/getlibraryhubsrequest.md | 2 +- .../operations/getlibraryhubsresponse.md | 2 +- ...braryitemsenablecreditsmarkergeneration.md | 19 - .../operations/getlibraryitemsepisodesort.md | 19 - .../getlibraryitemsflattenseasons.md | 19 - .../getlibraryitemsmediacontainer.md | 16 +- .../operations/getlibraryitemsmediaguid.md | 17 - .../operations/getlibraryitemsmetadata.md | 29 +- .../getlibraryitemsmetadatarating.md | 21 - .../operations/getlibraryitemsrequest.md | 2 +- .../operations/getlibraryitemsresponse.md | 18 +- .../operations/getlibraryitemsresponsebody.md | 16 +- .../operations/getlibraryitemsshowordering.md | 28 - ...diametadatalibraryoptimizedforstreaming.md | 6 +- .../operations/getmediametadatamedia.md | 6 +- .../getmediametadatamediacontainer.md | 2 + .../operations/getmediametadatametadata.md | 6 +- .../getmediametadataoptimizedforstreaming.md | 5 +- .../getmediametadataoptimizedforstreaming1.md | 2 +- ...iametadataoptimizedforstreaminglibrary1.md | 17 + .../models/operations/getmediametadatapart.md | 2 + .../operations/getmediametadataproducer.md | 28 + .../operations/getmediametadataresponse.md | 4 +- .../getmediametadataresponsebody.md | 2 + .../operations/getmediametadatasimilar.md | 21 + .../operations/getmediametadatastream.md | 10 +- .../operations/getmetadatachildrenrequest.md | 2 +- .../operations/getmetadatachildrenresponse.md | 2 +- docs/sdk/models/operations/getondeckguids.md | 17 - docs/sdk/models/operations/getondeckmedia.md | 82 - .../operations/getondeckmediacontainer.md | 125 - .../models/operations/getondeckmetadata.md | 146 - docs/sdk/models/operations/getondeckpart.md | 58 - .../models/operations/getondeckresponse.md | 132 - .../operations/getondeckresponsebody.md | 124 - docs/sdk/models/operations/getondeckstream.md | 60 - .../operations/getplaylistcontentsrequest.md | 2 +- .../operations/getplaylistcontentsresponse.md | 2 +- .../models/operations/getplaylistrequest.md | 2 +- .../models/operations/getplaylistresponse.md | 2 +- .../models/operations/getplaylistsresponse.md | 2 +- .../getrecentlyaddedlibraryresponse.md | 2 +- .../getrecentlyaddedmediacontainer.md | 430 +- .../operations/getrecentlyaddedmetadata.md | 571 +-- .../getrecentlyaddedoptimizedforstreaming.md | 20 + .../getrecentlyaddedoptimizedforstreaming1.md | 17 + .../operations/getrecentlyaddedresponse.md | 420 +- .../getrecentlyaddedresponsebody.md | 418 +- .../getrefreshlibrarymetadatarequest.md | 2 +- .../getrefreshlibrarymetadataresponse.md | 2 +- .../getresourcesstatisticsresponse.md | 2 +- .../getsearchalllibrariesmediacontainer.md | 4 +- .../getsearchalllibrariesresponse.md | 6 +- .../getsearchalllibrariesresponsebody.md | 4 +- .../operations/getsearchlibraryresponse.md | 2 +- .../operations/getsearchresultsresponse.md | 2 +- .../operations/getsessionhistoryresponse.md | 2 +- .../models/operations/getsessionsresponse.md | 2 +- .../getsourceconnectioninformationresponse.md | 2 +- .../operations/getstatisticsresponse.md | 2 +- .../operations/gettokendetailsresponse.md | 4 +- .../gettokendetailsuserplexaccount.md | 2 +- .../gettopwatchedcontentresponse.md | 2 +- .../gettranscodesessionsresponse.md | 2 +- .../operations/gettransienttokenresponse.md | 2 +- .../operations/getupdatestatusresponse.md | 2 +- .../sdk/models/operations/getusersresponse.md | 2 +- .../models/operations/getwatchlistresponse.md | 2 +- docs/sdk/models/operations/hasthumbnail.md | 2 + .../models/operations/includecollections.md | 2 +- docs/sdk/models/operations/includedetails.md | 2 +- docs/sdk/models/operations/level.md | 2 +- docs/sdk/models/operations/libtype.md | 2 +- docs/sdk/models/operations/location.md | 10 +- docs/sdk/models/operations/loglineresponse.md | 2 +- .../models/operations/logmultilineresponse.md | 2 +- docs/sdk/models/operations/media.md | 144 +- docs/sdk/models/operations/one.md | 2 +- .../operations/optimizedforstreaming.md | 21 +- docs/sdk/models/operations/part.md | 123 +- .../sdk/models/operations/pastsubscription.md | 2 +- .../models/operations/performsearchrequest.md | 2 +- .../operations/performsearchresponse.md | 2 +- .../operations/performvoicesearchresponse.md | 2 +- docs/sdk/models/operations/playlisttype.md | 2 +- .../operations/postuserssignindataresponse.md | 6 +- .../postuserssignindatauserplexaccount.md | 4 +- docs/sdk/models/operations/producer.md | 26 +- docs/sdk/models/operations/queryparamforce.md | 2 +- .../operations/queryparamonlytransient.md | 2 +- docs/sdk/models/operations/rating.md | 23 + docs/sdk/models/operations/role.md | 28 +- docs/sdk/models/operations/searchresult.md | 2 +- docs/sdk/models/operations/searchtypes.md | 2 +- docs/sdk/models/operations/similar.md | 18 +- docs/sdk/models/operations/stream.md | 162 +- docs/sdk/models/operations/tag.md | 2 +- .../operations/updateplaylistrequest.md | 2 +- .../operations/updateplaylistresponse.md | 2 +- docs/sdk/models/operations/writer.md | 14 +- docs/sdks/library/README.md | 77 +- jsr.json | 2 +- package-lock.json | 4 +- package.json | 2 +- src/funcs/libraryGetOnDeck.ts | 153 - src/lib/config.ts | 6 +- src/sdk/library.ts | 16 - src/sdk/models/errors/getondeck.ts | 329 -- src/sdk/models/errors/index.ts | 1 - .../models/operations/getallmedialibrary.ts | 163 +- src/sdk/models/operations/getlibraryitems.ts | 236 +- src/sdk/models/operations/getmediametadata.ts | 270 +- src/sdk/models/operations/getondeck.ts | 886 ---- src/sdk/models/operations/getrecentlyadded.ts | 3819 ++++++++++------- src/sdk/models/operations/index.ts | 1 - 163 files changed, 4256 insertions(+), 5690 deletions(-) delete mode 100644 docs/sdk/models/errors/getondeckbadrequest.md delete mode 100644 docs/sdk/models/errors/getondeckerrors.md delete mode 100644 docs/sdk/models/errors/getondecklibraryerrors.md delete mode 100644 docs/sdk/models/errors/getondeckunauthorized.md create mode 100644 docs/sdk/models/operations/getallmedialibraryguids.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsepisodesort.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsflattenseasons.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsmediaguid.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsmetadatarating.md delete mode 100644 docs/sdk/models/operations/getlibraryitemsshowordering.md create mode 100644 docs/sdk/models/operations/getmediametadataoptimizedforstreaminglibrary1.md create mode 100644 docs/sdk/models/operations/getmediametadataproducer.md create mode 100644 docs/sdk/models/operations/getmediametadatasimilar.md delete mode 100644 docs/sdk/models/operations/getondeckguids.md delete mode 100644 docs/sdk/models/operations/getondeckmedia.md delete mode 100644 docs/sdk/models/operations/getondeckmediacontainer.md delete mode 100644 docs/sdk/models/operations/getondeckmetadata.md delete mode 100644 docs/sdk/models/operations/getondeckpart.md delete mode 100644 docs/sdk/models/operations/getondeckresponse.md delete mode 100644 docs/sdk/models/operations/getondeckresponsebody.md delete mode 100644 docs/sdk/models/operations/getondeckstream.md create mode 100644 docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming.md create mode 100644 docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming1.md create mode 100644 docs/sdk/models/operations/rating.md delete mode 100644 src/funcs/libraryGetOnDeck.ts delete mode 100644 src/sdk/models/errors/getondeck.ts delete mode 100644 src/sdk/models/operations/getondeck.ts diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 55ba3cb8..7750a6a2 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 16f22cbf-f23f-4419-8924-3a4b06381947 management: - docChecksum: 132b4d89494288c532b0f091056aaf1a + docChecksum: 25cb9a6c3c7e2e859211c588b8281b5b docVersion: 0.0.3 - speakeasyVersion: 1.513.2 - generationVersion: 2.545.2 - releaseVersion: 0.35.0 - configChecksum: 0a23b4efb8e77047876d90a225bb617d + speakeasyVersion: 1.513.4 + generationVersion: 2.545.4 + releaseVersion: 0.35.1 + configChecksum: c65d568270142b1ec0a52cec31be19a3 repoURL: https://github.com/LukeHagar/plexjs.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexjs @@ -167,10 +167,6 @@ generatedFiles: - docs/sdk/models/errors/getmyplexaccounterrors.md - docs/sdk/models/errors/getmyplexaccountservererrors.md - docs/sdk/models/errors/getmyplexaccountunauthorized.md - - docs/sdk/models/errors/getondeckbadrequest.md - - docs/sdk/models/errors/getondeckerrors.md - - docs/sdk/models/errors/getondecklibraryerrors.md - - docs/sdk/models/errors/getondeckunauthorized.md - docs/sdk/models/errors/getpinbadrequest.md - docs/sdk/models/errors/getpinerrors.md - docs/sdk/models/errors/getplaylistbadrequest.md @@ -437,6 +433,7 @@ generatedFiles: - docs/sdk/models/operations/getallmedialibraryfieldtype.md - docs/sdk/models/operations/getallmedialibraryfilter.md - docs/sdk/models/operations/getallmedialibrarygenre.md + - docs/sdk/models/operations/getallmedialibraryguids.md - docs/sdk/models/operations/getallmedialibraryhasthumbnail.md - docs/sdk/models/operations/getallmedialibraryimage.md - docs/sdk/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md @@ -530,12 +527,9 @@ generatedFiles: - docs/sdk/models/operations/getlibraryitemscountry.md - docs/sdk/models/operations/getlibraryitemsdefaultdirection.md - docs/sdk/models/operations/getlibraryitemsdirector.md - - docs/sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md - - docs/sdk/models/operations/getlibraryitemsepisodesort.md - docs/sdk/models/operations/getlibraryitemsfield.md - docs/sdk/models/operations/getlibraryitemsfieldtype.md - docs/sdk/models/operations/getlibraryitemsfilter.md - - docs/sdk/models/operations/getlibraryitemsflattenseasons.md - docs/sdk/models/operations/getlibraryitemsgenre.md - docs/sdk/models/operations/getlibraryitemshasthumbnail.md - docs/sdk/models/operations/getlibraryitemsimage.md @@ -552,10 +546,8 @@ generatedFiles: - docs/sdk/models/operations/getlibraryitemslocation.md - docs/sdk/models/operations/getlibraryitemsmedia.md - docs/sdk/models/operations/getlibraryitemsmediacontainer.md - - docs/sdk/models/operations/getlibraryitemsmediaguid.md - docs/sdk/models/operations/getlibraryitemsmeta.md - docs/sdk/models/operations/getlibraryitemsmetadata.md - - docs/sdk/models/operations/getlibraryitemsmetadatarating.md - docs/sdk/models/operations/getlibraryitemsoperator.md - docs/sdk/models/operations/getlibraryitemsoptimizedforstreaming.md - docs/sdk/models/operations/getlibraryitemspart.md @@ -565,7 +557,6 @@ generatedFiles: - docs/sdk/models/operations/getlibraryitemsresponse.md - docs/sdk/models/operations/getlibraryitemsresponsebody.md - docs/sdk/models/operations/getlibraryitemsrole.md - - docs/sdk/models/operations/getlibraryitemsshowordering.md - docs/sdk/models/operations/getlibraryitemssort.md - docs/sdk/models/operations/getlibraryitemsstream.md - docs/sdk/models/operations/getlibraryitemstype.md @@ -584,11 +575,14 @@ generatedFiles: - docs/sdk/models/operations/getmediametadatametadata.md - docs/sdk/models/operations/getmediametadataoptimizedforstreaming.md - docs/sdk/models/operations/getmediametadataoptimizedforstreaming1.md + - docs/sdk/models/operations/getmediametadataoptimizedforstreaminglibrary1.md - docs/sdk/models/operations/getmediametadatapart.md + - docs/sdk/models/operations/getmediametadataproducer.md - docs/sdk/models/operations/getmediametadatarequest.md - docs/sdk/models/operations/getmediametadataresponse.md - docs/sdk/models/operations/getmediametadataresponsebody.md - docs/sdk/models/operations/getmediametadatarole.md + - docs/sdk/models/operations/getmediametadatasimilar.md - docs/sdk/models/operations/getmediametadatastream.md - docs/sdk/models/operations/getmediametadataultrablurcolors.md - docs/sdk/models/operations/getmediametadatawriter.md @@ -605,14 +599,6 @@ generatedFiles: - docs/sdk/models/operations/getmetadatachildrenresponsebody.md - docs/sdk/models/operations/getmyplexaccountresponse.md - docs/sdk/models/operations/getmyplexaccountresponsebody.md - - docs/sdk/models/operations/getondeckguids.md - - docs/sdk/models/operations/getondeckmedia.md - - docs/sdk/models/operations/getondeckmediacontainer.md - - docs/sdk/models/operations/getondeckmetadata.md - - docs/sdk/models/operations/getondeckpart.md - - docs/sdk/models/operations/getondeckresponse.md - - docs/sdk/models/operations/getondeckresponsebody.md - - docs/sdk/models/operations/getondeckstream.md - docs/sdk/models/operations/getpinauthpincontainer.md - docs/sdk/models/operations/getpinrequest.md - docs/sdk/models/operations/getpinresponse.md @@ -664,6 +650,8 @@ generatedFiles: - docs/sdk/models/operations/getrecentlyaddedmediacontainer.md - docs/sdk/models/operations/getrecentlyaddedmetadata.md - docs/sdk/models/operations/getrecentlyaddedoperator.md + - docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming.md + - docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming1.md - docs/sdk/models/operations/getrecentlyaddedrequest.md - docs/sdk/models/operations/getrecentlyaddedresponse.md - docs/sdk/models/operations/getrecentlyaddedresponsebody.md @@ -889,6 +877,7 @@ generatedFiles: - docs/sdk/models/operations/queryparamonlytransient.md - docs/sdk/models/operations/queryparamsmart.md - docs/sdk/models/operations/queryparamtype.md + - docs/sdk/models/operations/rating.md - docs/sdk/models/operations/ratings.md - docs/sdk/models/operations/release.md - docs/sdk/models/operations/responsebody.md @@ -992,7 +981,6 @@ generatedFiles: - src/funcs/libraryGetLibraryItems.ts - src/funcs/libraryGetMediaMetaData.ts - src/funcs/libraryGetMetadataChildren.ts - - src/funcs/libraryGetOnDeck.ts - src/funcs/libraryGetRecentlyAddedLibrary.ts - src/funcs/libraryGetRefreshLibraryMetadata.ts - src/funcs/libraryGetSearchAllLibraries.ts @@ -1106,7 +1094,6 @@ generatedFiles: - src/sdk/models/errors/getmediaproviders.ts - src/sdk/models/errors/getmetadatachildren.ts - src/sdk/models/errors/getmyplexaccount.ts - - src/sdk/models/errors/getondeck.ts - src/sdk/models/errors/getpin.ts - src/sdk/models/errors/getplaylist.ts - src/sdk/models/errors/getplaylistcontents.ts @@ -1190,7 +1177,6 @@ generatedFiles: - src/sdk/models/operations/getmediaproviders.ts - src/sdk/models/operations/getmetadatachildren.ts - src/sdk/models/operations/getmyplexaccount.ts - - src/sdk/models/operations/getondeck.ts - src/sdk/models/operations/getpin.ts - src/sdk/models/operations/getplaylist.ts - src/sdk/models/operations/getplaylistcontents.ts @@ -1633,7 +1619,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "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": 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"}], "Country": [{"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"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"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"}, {"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", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "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": 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": 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": [{"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}]}]}], "Genre": [{"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"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"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"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"}, {"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"}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": [{"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": 1, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": true, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}]}, {"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "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"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": []}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": 0, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -2337,7 +2323,7 @@ examples: asyncRefreshLocalMediaAgent: true responses: "200": - application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}], "Image": [], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}]}} + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}], "Image": [], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}]}} "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}]} "401": @@ -2358,7 +2344,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"tag": "United States of America"}, {"tag": "United States of America"}, {"tag": "United States of America"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Role": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}]}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"tag": "Crime"}, {"tag": "Crime"}, {"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}, {"tag": "Teller"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}]}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index cb73fb57..d3e2e47b 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -15,7 +15,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false typescript: - version: 0.35.0 + version: 0.35.1 additionalDependencies: dependencies: {} devDependencies: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index e36b70a8..b426f517 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.513.2 +speakeasyVersion: 1.513.4 sources: my-source: sourceNamespace: my-source @@ -9,20 +9,20 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:bf7001af017ce5072c503bfbaf60793f94549163b517489dc53e4f7b685659c0 - sourceBlobDigest: sha256:ed2b29043c84f32d2efa92a126083fd9a81644a7ce9c6ac86d9aeb3493cbd6f8 + sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4 + sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 tags: - latest - - speakeasy-sdk-regen-1741306213 + - speakeasy-sdk-regen-1741478971 - 0.0.3 targets: plexjs: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:bf7001af017ce5072c503bfbaf60793f94549163b517489dc53e4f7b685659c0 - sourceBlobDigest: sha256:ed2b29043c84f32d2efa92a126083fd9a81644a7ce9c6ac86d9aeb3493cbd6f8 + sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4 + sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 codeSamplesNamespace: code-samples-typescript-plexjs - codeSamplesRevisionDigest: sha256:e9663ecbdaaaaaf3f7ff17e00365dc176eda813f06e83bae125af65c9ab34453 + codeSamplesRevisionDigest: sha256:562c355ca997be7103dd50d641d9264002668b79ccbed1d1c259a98c653ce99a workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index a5c32771..74ac5b84 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,6 @@ run(); * [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata * [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content -* [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck ### [log](docs/sdks/log/README.md) @@ -546,7 +545,6 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md). - [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items - [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata - [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children -- [`libraryGetOnDeck`](docs/sdks/library/README.md#getondeck) - Get On Deck - [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added - [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library - [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries diff --git a/RELEASES.md b/RELEASES.md index 0c9b028d..2d3e6f81 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1238,4 +1238,14 @@ Based on: ### Generated - [typescript v0.35.0] . ### Releases -- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - . \ No newline at end of file +- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - . + +## 2025-03-09 00:09:12 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [typescript v0.35.1] . +### Releases +- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index e9918042..defbfe40 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -667,26 +667,6 @@ actions: console.log(result); } - run(); - - target: $["paths"]["/library/onDeck"]["get"] - update: - x-codeSamples: - - lang: typescript - label: getOnDeck - source: |- - import { PlexAPI } from "@lukehagar/plexjs"; - - const plexAPI = new PlexAPI({ - accessToken: "", - }); - - async function run() { - const result = await plexAPI.library.getOnDeck(); - - // Handle the result - console.log(result); - } - run(); - target: $["paths"]["/library/recentlyAdded"]["get"] update: diff --git a/docs/sdk/models/errors/getondeckbadrequest.md b/docs/sdk/models/errors/getondeckbadrequest.md deleted file mode 100644 index 48618b7d..00000000 --- a/docs/sdk/models/errors/getondeckbadrequest.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetOnDeckBadRequest - -Bad Request - A parameter was not specified, or was specified incorrectly. - -## Example Usage - -```typescript -import { GetOnDeckBadRequest } from "@lukehagar/plexjs/sdk/models/errors"; - -// No examples available for this model -``` - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `errors` | [errors.GetOnDeckErrors](../../../sdk/models/errors/getondeckerrors.md)[] | :heavy_minus_sign: | N/A | -| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/sdk/models/errors/getondeckerrors.md b/docs/sdk/models/errors/getondeckerrors.md deleted file mode 100644 index d5ce61ea..00000000 --- a/docs/sdk/models/errors/getondeckerrors.md +++ /dev/null @@ -1,21 +0,0 @@ -# GetOnDeckErrors - -## Example Usage - -```typescript -import { GetOnDeckErrors } from "@lukehagar/plexjs/sdk/models/errors"; - -let value: GetOnDeckErrors = { - code: 1000, - message: "X-Plex-Client-Identifier is missing", - status: 400, -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `code` | *number* | :heavy_minus_sign: | N/A | 1000 | -| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | -| `status` | *number* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/sdk/models/errors/getondecklibraryerrors.md b/docs/sdk/models/errors/getondecklibraryerrors.md deleted file mode 100644 index e9a8ca5d..00000000 --- a/docs/sdk/models/errors/getondecklibraryerrors.md +++ /dev/null @@ -1,21 +0,0 @@ -# GetOnDeckLibraryErrors - -## Example Usage - -```typescript -import { GetOnDeckLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; - -let value: GetOnDeckLibraryErrors = { - code: 1001, - message: "User could not be authenticated", - status: 401, -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | -| `code` | *number* | :heavy_minus_sign: | N/A | 1001 | -| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | -| `status` | *number* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/sdk/models/errors/getondeckunauthorized.md b/docs/sdk/models/errors/getondeckunauthorized.md deleted file mode 100644 index 62b256be..00000000 --- a/docs/sdk/models/errors/getondeckunauthorized.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetOnDeckUnauthorized - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - -## Example Usage - -```typescript -import { GetOnDeckUnauthorized } from "@lukehagar/plexjs/sdk/models/errors"; - -// No examples available for this model -``` - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `errors` | [errors.GetOnDeckLibraryErrors](../../../sdk/models/errors/getondecklibraryerrors.md)[] | :heavy_minus_sign: | N/A | -| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/sdk/models/operations/addplaylistcontentsrequest.md b/docs/sdk/models/operations/addplaylistcontentsrequest.md index fb1f52e3..a53d057f 100644 --- a/docs/sdk/models/operations/addplaylistcontentsrequest.md +++ b/docs/sdk/models/operations/addplaylistcontentsrequest.md @@ -6,7 +6,7 @@ import { AddPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: AddPlaylistContentsRequest = { - playlistID: 3741.7, + playlistID: 2776.28, uri: "server://12345/com.plexapp.plugins.library/library/metadata/1", playQueueID: 123, }; diff --git a/docs/sdk/models/operations/addplaylistcontentsresponse.md b/docs/sdk/models/operations/addplaylistcontentsresponse.md index 1233bd19..14e917eb 100644 --- a/docs/sdk/models/operations/addplaylistcontentsresponse.md +++ b/docs/sdk/models/operations/addplaylistcontentsresponse.md @@ -7,7 +7,7 @@ import { AddPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/operat let value: AddPlaylistContentsResponse = { contentType: "", - statusCode: 302, + statusCode: 307, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/applyupdatesresponse.md b/docs/sdk/models/operations/applyupdatesresponse.md index 5cea471b..74151c59 100644 --- a/docs/sdk/models/operations/applyupdatesresponse.md +++ b/docs/sdk/models/operations/applyupdatesresponse.md @@ -7,7 +7,7 @@ import { ApplyUpdatesResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: ApplyUpdatesResponse = { contentType: "", - statusCode: 428, + statusCode: 208, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/billing.md b/docs/sdk/models/operations/billing.md index 889024a4..82cbc00f 100644 --- a/docs/sdk/models/operations/billing.md +++ b/docs/sdk/models/operations/billing.md @@ -7,7 +7,7 @@ import { Billing } from "@lukehagar/plexjs/sdk/models/operations"; let value: Billing = { internalPaymentMethod: {}, - paymentMethodId: 765326, + paymentMethodId: 903720, }; ``` diff --git a/docs/sdk/models/operations/checkforupdatesresponse.md b/docs/sdk/models/operations/checkforupdatesresponse.md index 92357f87..cc6c6efe 100644 --- a/docs/sdk/models/operations/checkforupdatesresponse.md +++ b/docs/sdk/models/operations/checkforupdatesresponse.md @@ -7,7 +7,7 @@ import { CheckForUpdatesResponse } from "@lukehagar/plexjs/sdk/models/operations let value: CheckForUpdatesResponse = { contentType: "", - statusCode: 508, + statusCode: 428, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/clearplaylistcontentsrequest.md b/docs/sdk/models/operations/clearplaylistcontentsrequest.md index 18f39d9b..463498e7 100644 --- a/docs/sdk/models/operations/clearplaylistcontentsrequest.md +++ b/docs/sdk/models/operations/clearplaylistcontentsrequest.md @@ -6,7 +6,7 @@ import { ClearPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: ClearPlaylistContentsRequest = { - playlistID: 256.62, + playlistID: 4246.85, }; ``` diff --git a/docs/sdk/models/operations/collection.md b/docs/sdk/models/operations/collection.md index bd97e909..6b47139f 100644 --- a/docs/sdk/models/operations/collection.md +++ b/docs/sdk/models/operations/collection.md @@ -6,12 +6,12 @@ import { Collection } from "@lukehagar/plexjs/sdk/models/operations"; let value: Collection = { - tag: "Working NL Subs", + tag: "My Awesome Collection", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection | \ No newline at end of file diff --git a/docs/sdk/models/operations/country.md b/docs/sdk/models/operations/country.md index ef06749b..2d50d7ac 100644 --- a/docs/sdk/models/operations/country.md +++ b/docs/sdk/models/operations/country.md @@ -1,17 +1,23 @@ # Country +The filter query string for country media items. + ## Example Usage ```typescript import { Country } from "@lukehagar/plexjs/sdk/models/operations"; let value: Country = { + id: 259, tag: "United States of America", + filter: "country=19", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *number* | :heavy_check_mark: | N/A | 259 | +| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter` | *string* | :heavy_minus_sign: | N/A | country=19 | \ No newline at end of file diff --git a/docs/sdk/models/operations/createplaylistqueryparamtype.md b/docs/sdk/models/operations/createplaylistqueryparamtype.md index f039f9e5..127e01de 100644 --- a/docs/sdk/models/operations/createplaylistqueryparamtype.md +++ b/docs/sdk/models/operations/createplaylistqueryparamtype.md @@ -7,7 +7,7 @@ type of playlist to create ```typescript import { CreatePlaylistQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; -let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Video; +let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Photo; ``` ## Values diff --git a/docs/sdk/models/operations/createplaylistrequest.md b/docs/sdk/models/operations/createplaylistrequest.md index cd3815b8..69e3adb3 100644 --- a/docs/sdk/models/operations/createplaylistrequest.md +++ b/docs/sdk/models/operations/createplaylistrequest.md @@ -7,9 +7,9 @@ import { CreatePlaylistQueryParamType, CreatePlaylistRequest, Smart } from "@luk let value: CreatePlaylistRequest = { title: "", - type: CreatePlaylistQueryParamType.Photo, + type: CreatePlaylistQueryParamType.Audio, smart: Smart.One, - uri: "https://radiant-dividend.com/", + uri: "https://ajar-reward.biz/", }; ``` diff --git a/docs/sdk/models/operations/createplaylistresponse.md b/docs/sdk/models/operations/createplaylistresponse.md index c4900560..03270f8a 100644 --- a/docs/sdk/models/operations/createplaylistresponse.md +++ b/docs/sdk/models/operations/createplaylistresponse.md @@ -7,7 +7,7 @@ import { CreatePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations" let value: CreatePlaylistResponse = { contentType: "", - statusCode: 409, + statusCode: 205, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/deletelibraryresponse.md b/docs/sdk/models/operations/deletelibraryresponse.md index d679c4b4..2188d133 100644 --- a/docs/sdk/models/operations/deletelibraryresponse.md +++ b/docs/sdk/models/operations/deletelibraryresponse.md @@ -7,7 +7,7 @@ import { DeleteLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: DeleteLibraryResponse = { contentType: "", - statusCode: 507, + statusCode: 451, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/deleteplaylistrequest.md b/docs/sdk/models/operations/deleteplaylistrequest.md index 7ff6ec77..b114c820 100644 --- a/docs/sdk/models/operations/deleteplaylistrequest.md +++ b/docs/sdk/models/operations/deleteplaylistrequest.md @@ -6,7 +6,7 @@ import { DeletePlaylistRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: DeletePlaylistRequest = { - playlistID: 1856.36, + playlistID: 6874.88, }; ``` diff --git a/docs/sdk/models/operations/deleteplaylistresponse.md b/docs/sdk/models/operations/deleteplaylistresponse.md index 69102af8..5e4b4195 100644 --- a/docs/sdk/models/operations/deleteplaylistresponse.md +++ b/docs/sdk/models/operations/deleteplaylistresponse.md @@ -7,7 +7,7 @@ import { DeletePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations" let value: DeletePlaylistResponse = { contentType: "", - statusCode: 507, + statusCode: 226, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/director.md b/docs/sdk/models/operations/director.md index 37d7cf11..470b8da9 100644 --- a/docs/sdk/models/operations/director.md +++ b/docs/sdk/models/operations/director.md @@ -6,12 +6,12 @@ import { Director } from "@lukehagar/plexjs/sdk/models/operations"; let value: Director = { - tag: "James Cameron", + tag: "Danny Boyle", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | +| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle | \ No newline at end of file diff --git a/docs/sdk/models/operations/enablepapertrailresponse.md b/docs/sdk/models/operations/enablepapertrailresponse.md index 2ab826dd..d710fbcf 100644 --- a/docs/sdk/models/operations/enablepapertrailresponse.md +++ b/docs/sdk/models/operations/enablepapertrailresponse.md @@ -7,7 +7,7 @@ import { EnablePaperTrailResponse } from "@lukehagar/plexjs/sdk/models/operation let value: EnablePaperTrailResponse = { contentType: "", - statusCode: 102, + statusCode: 304, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/filter.md b/docs/sdk/models/operations/filter.md index 85de5e7c..472f5a48 100644 --- a/docs/sdk/models/operations/filter.md +++ b/docs/sdk/models/operations/filter.md @@ -7,7 +7,7 @@ Filter ```typescript import { Filter } from "@lukehagar/plexjs/sdk/models/operations"; -let value: Filter = Filter.All; +let value: Filter = Filter.Released; ``` ## Values diff --git a/docs/sdk/models/operations/genre.md b/docs/sdk/models/operations/genre.md index eabf9aaa..d4bbf5af 100644 --- a/docs/sdk/models/operations/genre.md +++ b/docs/sdk/models/operations/genre.md @@ -1,17 +1,23 @@ # Genre +The filter query string for similar items. + ## Example Usage ```typescript import { Genre } from "@lukehagar/plexjs/sdk/models/operations"; let value: Genre = { - tag: "Adventure", + id: 259, + filter: "genre=19", + tag: "Crime", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *number* | :heavy_check_mark: | N/A | 259 | +| `filter` | *string* | :heavy_check_mark: | N/A | genre=19 | +| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibraryresponse.md b/docs/sdk/models/operations/getactorslibraryresponse.md index 1bc82632..2c8bc69e 100644 --- a/docs/sdk/models/operations/getactorslibraryresponse.md +++ b/docs/sdk/models/operations/getactorslibraryresponse.md @@ -7,7 +7,7 @@ import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation let value: GetActorsLibraryResponse = { contentType: "", - statusCode: 101, + statusCode: 300, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getalllibrariesresponse.md b/docs/sdk/models/operations/getalllibrariesresponse.md index e53fb7ed..258fa6cf 100644 --- a/docs/sdk/models/operations/getalllibrariesresponse.md +++ b/docs/sdk/models/operations/getalllibrariesresponse.md @@ -7,7 +7,7 @@ import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations let value: GetAllLibrariesResponse = { contentType: "", - statusCode: 308, + statusCode: 508, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getallmedialibrarygenre.md b/docs/sdk/models/operations/getallmedialibrarygenre.md index e92cb8c6..262e459e 100644 --- a/docs/sdk/models/operations/getallmedialibrarygenre.md +++ b/docs/sdk/models/operations/getallmedialibrarygenre.md @@ -6,12 +6,12 @@ import { GetAllMediaLibraryGenre } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetAllMediaLibraryGenre = { - tag: "United States of America", + tag: "Crime", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/sdk/models/operations/getallmedialibraryguids.md b/docs/sdk/models/operations/getallmedialibraryguids.md new file mode 100644 index 00000000..0e1f879c --- /dev/null +++ b/docs/sdk/models/operations/getallmedialibraryguids.md @@ -0,0 +1,17 @@ +# GetAllMediaLibraryGuids + +## Example Usage + +```typescript +import { GetAllMediaLibraryGuids } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetAllMediaLibraryGuids = { + id: "tvdb://2337", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
| tvdb://2337 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getallmedialibrarymedia.md b/docs/sdk/models/operations/getallmedialibrarymedia.md index 8f6146f3..5e712818 100644 --- a/docs/sdk/models/operations/getallmedialibrarymedia.md +++ b/docs/sdk/models/operations/getallmedialibrarymedia.md @@ -63,6 +63,7 @@ let value: GetAllMediaLibraryMedia = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -74,6 +75,7 @@ let value: GetAllMediaLibraryMedia = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -112,8 +114,8 @@ let value: GetAllMediaLibraryMedia = { | `container` | *string* | :heavy_minus_sign: | File container type. | mkv | | `videoFrameRate` | *string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | | `videoProfile` | *string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | -| `hasVoiceActivity` | *boolean* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | +| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | | `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | | `optimizedForStreaming` | *operations.GetAllMediaLibraryOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | | `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `part` | [operations.GetAllMediaLibraryPart](../../../sdk/models/operations/getallmedialibrarypart.md)[] | :heavy_check_mark: | An array of parts for this media item. | | \ No newline at end of file +| `part` | [operations.GetAllMediaLibraryPart](../../../sdk/models/operations/getallmedialibrarypart.md)[] | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getallmedialibrarymediacontainer.md b/docs/sdk/models/operations/getallmedialibrarymediacontainer.md index dfb7c26e..ca51e7fe 100644 --- a/docs/sdk/models/operations/getallmedialibrarymediacontainer.md +++ b/docs/sdk/models/operations/getallmedialibrarymediacontainer.md @@ -210,6 +210,7 @@ let value: GetAllMediaLibraryMediaContainer = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -221,6 +222,7 @@ let value: GetAllMediaLibraryMediaContainer = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -242,7 +244,7 @@ let value: GetAllMediaLibraryMediaContainer = { ], genre: [ { - tag: "United States of America", + tag: "Crime", }, ], country: [ @@ -257,12 +259,12 @@ let value: GetAllMediaLibraryMediaContainer = { ], writer: [ { - tag: "Danny Boyle", + tag: "Jamie P. Hanson", }, ], role: [ { - tag: "Danny Boyle", + tag: "Teller", }, ], guids: [ diff --git a/docs/sdk/models/operations/getallmedialibrarymetadata.md b/docs/sdk/models/operations/getallmedialibrarymetadata.md index cd1edf77..a0dac961 100644 --- a/docs/sdk/models/operations/getallmedialibrarymetadata.md +++ b/docs/sdk/models/operations/getallmedialibrarymetadata.md @@ -144,6 +144,7 @@ let value: GetAllMediaLibraryMetadata = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -155,6 +156,7 @@ let value: GetAllMediaLibraryMetadata = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -176,7 +178,7 @@ let value: GetAllMediaLibraryMetadata = { ], genre: [ { - tag: "United States of America", + tag: "Crime", }, ], country: [ @@ -191,12 +193,12 @@ let value: GetAllMediaLibraryMetadata = { ], writer: [ { - tag: "Danny Boyle", + tag: "Jamie P. Hanson", }, ], role: [ { - tag: "Danny Boyle", + tag: "Teller", }, ], guids: [ @@ -228,7 +230,7 @@ let value: GetAllMediaLibraryMetadata = { | `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | 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` | *number* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | | `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | -| `year` | *number* | :heavy_check_mark: | The release year of the media item. | 2022 | +| `year` | *number* | :heavy_minus_sign: | The release year of the media item. | 2022 | | `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | | `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | | `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | @@ -278,5 +280,5 @@ let value: GetAllMediaLibraryMetadata = { | `director` | [operations.GetAllMediaLibraryDirector](../../../sdk/models/operations/getallmedialibrarydirector.md)[] | :heavy_minus_sign: | N/A | | | `writer` | [operations.GetAllMediaLibraryWriter](../../../sdk/models/operations/getallmedialibrarywriter.md)[] | :heavy_minus_sign: | N/A | | | `role` | [operations.GetAllMediaLibraryRole](../../../sdk/models/operations/getallmedialibraryrole.md)[] | :heavy_minus_sign: | N/A | | -| `guids` | [operations.Guids](../../../sdk/models/operations/guids.md)[] | :heavy_minus_sign: | N/A | | +| `guids` | [operations.GetAllMediaLibraryGuids](../../../sdk/models/operations/getallmedialibraryguids.md)[] | :heavy_minus_sign: | N/A | | | `collection` | [operations.GetAllMediaLibraryCollection](../../../sdk/models/operations/getallmedialibrarycollection.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming.md b/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming.md index 44b01827..0420624d 100644 --- a/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming.md +++ b/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming.md @@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr ## Supported Types -### `operations.One` +### `operations.OptimizedForStreaming1` ```typescript -const value: operations.One = One.One; +const value: operations.OptimizedForStreaming1 = OptimizedForStreaming1.One; ``` ### `boolean` diff --git a/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming1.md b/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming1.md index 9ae904d5..32a9dfcf 100644 --- a/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming1.md +++ b/docs/sdk/models/operations/getallmedialibraryoptimizedforstreaming1.md @@ -6,7 +6,7 @@ import { GetAllMediaLibraryOptimizedForStreaming1 } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetAllMediaLibraryOptimizedForStreaming1 = - GetAllMediaLibraryOptimizedForStreaming1.Zero; + GetAllMediaLibraryOptimizedForStreaming1.One; ``` ## Values diff --git a/docs/sdk/models/operations/getallmedialibrarypart.md b/docs/sdk/models/operations/getallmedialibrarypart.md index c030b264..14ce64eb 100644 --- a/docs/sdk/models/operations/getallmedialibrarypart.md +++ b/docs/sdk/models/operations/getallmedialibrarypart.md @@ -44,6 +44,7 @@ let value: GetAllMediaLibraryPart = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -55,6 +56,7 @@ let value: GetAllMediaLibraryPart = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", diff --git a/docs/sdk/models/operations/getallmedialibraryresponse.md b/docs/sdk/models/operations/getallmedialibraryresponse.md index b1cf7f98..776535a9 100644 --- a/docs/sdk/models/operations/getallmedialibraryresponse.md +++ b/docs/sdk/models/operations/getallmedialibraryresponse.md @@ -12,7 +12,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetAllMediaLibraryResponse = { contentType: "", - statusCode: 103, + statusCode: 300, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), @@ -217,6 +217,7 @@ let value: GetAllMediaLibraryResponse = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -228,6 +229,7 @@ let value: GetAllMediaLibraryResponse = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -249,7 +251,7 @@ let value: GetAllMediaLibraryResponse = { ], genre: [ { - tag: "United States of America", + tag: "Crime", }, ], country: [ @@ -264,12 +266,12 @@ let value: GetAllMediaLibraryResponse = { ], writer: [ { - tag: "Danny Boyle", + tag: "Jamie P. Hanson", }, ], role: [ { - tag: "Danny Boyle", + tag: "Teller", }, ], guids: [ diff --git a/docs/sdk/models/operations/getallmedialibraryresponsebody.md b/docs/sdk/models/operations/getallmedialibraryresponsebody.md index 99709a50..5f660914 100644 --- a/docs/sdk/models/operations/getallmedialibraryresponsebody.md +++ b/docs/sdk/models/operations/getallmedialibraryresponsebody.md @@ -213,6 +213,7 @@ let value: GetAllMediaLibraryResponseBody = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -224,6 +225,7 @@ let value: GetAllMediaLibraryResponseBody = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -245,7 +247,7 @@ let value: GetAllMediaLibraryResponseBody = { ], genre: [ { - tag: "United States of America", + tag: "Crime", }, ], country: [ @@ -260,12 +262,12 @@ let value: GetAllMediaLibraryResponseBody = { ], writer: [ { - tag: "Danny Boyle", + tag: "Jamie P. Hanson", }, ], role: [ { - tag: "Danny Boyle", + tag: "Teller", }, ], guids: [ diff --git a/docs/sdk/models/operations/getallmedialibraryrole.md b/docs/sdk/models/operations/getallmedialibraryrole.md index c436e268..710dc85f 100644 --- a/docs/sdk/models/operations/getallmedialibraryrole.md +++ b/docs/sdk/models/operations/getallmedialibraryrole.md @@ -6,12 +6,12 @@ import { GetAllMediaLibraryRole } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetAllMediaLibraryRole = { - tag: "Danny Boyle", + tag: "Teller", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `tag` | *string* | :heavy_check_mark: | The name of the actor for this role | Danny Boyle | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | \ No newline at end of file diff --git a/docs/sdk/models/operations/getallmedialibrarystream.md b/docs/sdk/models/operations/getallmedialibrarystream.md index efe08c1c..308ce3fc 100644 --- a/docs/sdk/models/operations/getallmedialibrarystream.md +++ b/docs/sdk/models/operations/getallmedialibrarystream.md @@ -29,6 +29,7 @@ let value: GetAllMediaLibraryStream = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -40,6 +41,7 @@ let value: GetAllMediaLibraryStream = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -66,9 +68,9 @@ let value: GetAllMediaLibraryStream = { | `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *string* | :heavy_check_mark: | Language of the stream. | English | -| `languageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en | -| `languageCode` | *string* | :heavy_check_mark: | ISO language code. | eng | +| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | +| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | @@ -83,6 +85,7 @@ let value: GetAllMediaLibraryStream = { | `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | | `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | | `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | @@ -94,6 +97,7 @@ let value: GetAllMediaLibraryStream = { | `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | | `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | +| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | | `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | diff --git a/docs/sdk/models/operations/getallmedialibrarywriter.md b/docs/sdk/models/operations/getallmedialibrarywriter.md index f6d6aeea..bce2e648 100644 --- a/docs/sdk/models/operations/getallmedialibrarywriter.md +++ b/docs/sdk/models/operations/getallmedialibrarywriter.md @@ -6,7 +6,7 @@ import { GetAllMediaLibraryWriter } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetAllMediaLibraryWriter = { - tag: "Danny Boyle", + tag: "Jamie P. Hanson", }; ``` @@ -14,4 +14,4 @@ let value: GetAllMediaLibraryWriter = { | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `tag` | *string* | :heavy_check_mark: | The role of Writer | Danny Boyle | \ No newline at end of file +| `tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | \ No newline at end of file diff --git a/docs/sdk/models/operations/getbandwidthstatisticsresponse.md b/docs/sdk/models/operations/getbandwidthstatisticsresponse.md index ca3e14e9..1fbd5c9f 100644 --- a/docs/sdk/models/operations/getbandwidthstatisticsresponse.md +++ b/docs/sdk/models/operations/getbandwidthstatisticsresponse.md @@ -7,7 +7,7 @@ import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs/sdk/models/ope let value: GetBandwidthStatisticsResponse = { contentType: "", - statusCode: 424, + statusCode: 205, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getcountrieslibraryresponse.md b/docs/sdk/models/operations/getcountrieslibraryresponse.md index 9b940897..79b43dc0 100644 --- a/docs/sdk/models/operations/getcountrieslibraryresponse.md +++ b/docs/sdk/models/operations/getcountrieslibraryresponse.md @@ -7,7 +7,7 @@ import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operat let value: GetCountriesLibraryResponse = { contentType: "", - statusCode: 510, + statusCode: 404, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getfilehashresponse.md b/docs/sdk/models/operations/getfilehashresponse.md index d8fa7ee2..21e745b2 100644 --- a/docs/sdk/models/operations/getfilehashresponse.md +++ b/docs/sdk/models/operations/getfilehashresponse.md @@ -7,7 +7,7 @@ import { GetFileHashResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetFileHashResponse = { contentType: "", - statusCode: 305, + statusCode: 308, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getgenreslibraryresponse.md b/docs/sdk/models/operations/getgenreslibraryresponse.md index 5471d82b..b9b55c5f 100644 --- a/docs/sdk/models/operations/getgenreslibraryresponse.md +++ b/docs/sdk/models/operations/getgenreslibraryresponse.md @@ -7,7 +7,7 @@ import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation let value: GetGenresLibraryResponse = { contentType: "", - statusCode: 428, + statusCode: 101, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getlibrarydetailsresponse.md b/docs/sdk/models/operations/getlibrarydetailsresponse.md index 5c09f15f..3ad15333 100644 --- a/docs/sdk/models/operations/getlibrarydetailsresponse.md +++ b/docs/sdk/models/operations/getlibrarydetailsresponse.md @@ -7,7 +7,7 @@ import { GetLibraryDetailsResponse } from "@lukehagar/plexjs/sdk/models/operatio let value: GetLibraryDetailsResponse = { contentType: "", - statusCode: 308, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getlibraryhubsrequest.md b/docs/sdk/models/operations/getlibraryhubsrequest.md index d3dae5b1..55ee1fce 100644 --- a/docs/sdk/models/operations/getlibraryhubsrequest.md +++ b/docs/sdk/models/operations/getlibraryhubsrequest.md @@ -6,7 +6,7 @@ import { GetLibraryHubsRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetLibraryHubsRequest = { - sectionId: 6063.93, + sectionId: 2900.77, }; ``` diff --git a/docs/sdk/models/operations/getlibraryhubsresponse.md b/docs/sdk/models/operations/getlibraryhubsresponse.md index b5d464b1..60d110b4 100644 --- a/docs/sdk/models/operations/getlibraryhubsresponse.md +++ b/docs/sdk/models/operations/getlibraryhubsresponse.md @@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetLibraryHubsResponse = { contentType: "", - statusCode: 101, + statusCode: 412, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md b/docs/sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md deleted file mode 100644 index f08591ac..00000000 --- a/docs/sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md +++ /dev/null @@ -1,19 +0,0 @@ -# GetLibraryItemsEnableCreditsMarkerGeneration - -Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - -## Example Usage - -```typescript -import { GetLibraryItemsEnableCreditsMarkerGeneration } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsEnableCreditsMarkerGeneration = - GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault; -``` - -## Values - -| Name | Value | -| ---------------- | ---------------- | -| `LibraryDefault` | -1 | -| `Disabled` | 0 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getlibraryitemsepisodesort.md b/docs/sdk/models/operations/getlibraryitemsepisodesort.md deleted file mode 100644 index 8ed87394..00000000 --- a/docs/sdk/models/operations/getlibraryitemsepisodesort.md +++ /dev/null @@ -1,19 +0,0 @@ -# GetLibraryItemsEpisodeSort - -Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - -## Example Usage - -```typescript -import { GetLibraryItemsEpisodeSort } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsEpisodeSort = GetLibraryItemsEpisodeSort.OldestFirst; -``` - -## Values - -| Name | Value | -| ---------------- | ---------------- | -| `LibraryDefault` | -1 | -| `OldestFirst` | 0 | -| `NewestFirst` | 1 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getlibraryitemsflattenseasons.md b/docs/sdk/models/operations/getlibraryitemsflattenseasons.md deleted file mode 100644 index 22848e37..00000000 --- a/docs/sdk/models/operations/getlibraryitemsflattenseasons.md +++ /dev/null @@ -1,19 +0,0 @@ -# GetLibraryItemsFlattenSeasons - -Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). - -## Example Usage - -```typescript -import { GetLibraryItemsFlattenSeasons } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsFlattenSeasons = GetLibraryItemsFlattenSeasons.Show; -``` - -## Values - -| Name | Value | -| ---------------- | ---------------- | -| `LibraryDefault` | -1 | -| `Hide` | 0 | -| `Show` | 1 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getlibraryitemsmediacontainer.md b/docs/sdk/models/operations/getlibraryitemsmediacontainer.md index 36bf1a8b..f1bf251d 100644 --- a/docs/sdk/models/operations/getlibraryitemsmediacontainer.md +++ b/docs/sdk/models/operations/getlibraryitemsmediacontainer.md @@ -7,13 +7,13 @@ The Meta object is only included in the response if the `includeMeta` parameter ```typescript import { - GetLibraryItemsEnableCreditsMarkerGeneration, - GetLibraryItemsEpisodeSort, - GetLibraryItemsFlattenSeasons, + EnableCreditsMarkerGeneration, + EpisodeSort, + FlattenSeasons, GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryType, GetLibraryItemsMediaContainer, - GetLibraryItemsShowOrdering, + ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; @@ -106,11 +106,11 @@ let value: GetLibraryItemsMediaContainer = { year: 2022, seasonCount: 2022, tagline: "Return to Pandora.", - flattenSeasons: GetLibraryItemsFlattenSeasons.Show, - episodeSort: GetLibraryItemsEpisodeSort.OldestFirst, + flattenSeasons: FlattenSeasons.Show, + episodeSort: EpisodeSort.OldestFirst, enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute, + EnableCreditsMarkerGeneration.LibraryDefault, + showOrdering: ShowOrdering.TvdbAbsolute, thumb: "/library/metadata/58683/thumb/1703239236", art: "/library/metadata/58683/art/1703239236", banner: "/library/metadata/58683/banner/1703239236", diff --git a/docs/sdk/models/operations/getlibraryitemsmediaguid.md b/docs/sdk/models/operations/getlibraryitemsmediaguid.md deleted file mode 100644 index 30008e83..00000000 --- a/docs/sdk/models/operations/getlibraryitemsmediaguid.md +++ /dev/null @@ -1,17 +0,0 @@ -# GetLibraryItemsMediaGuid - -## Example Usage - -```typescript -import { GetLibraryItemsMediaGuid } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsMediaGuid = { - id: "imdb://tt13015952", -}; -``` - -## 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/sdk/models/operations/getlibraryitemsmetadata.md b/docs/sdk/models/operations/getlibraryitemsmetadata.md index f73df5f0..3255df57 100644 --- a/docs/sdk/models/operations/getlibraryitemsmetadata.md +++ b/docs/sdk/models/operations/getlibraryitemsmetadata.md @@ -4,13 +4,13 @@ ```typescript import { - GetLibraryItemsEnableCreditsMarkerGeneration, - GetLibraryItemsEpisodeSort, - GetLibraryItemsFlattenSeasons, + EnableCreditsMarkerGeneration, + EpisodeSort, + FlattenSeasons, GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryType, GetLibraryItemsMetadata, - GetLibraryItemsShowOrdering, + ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; @@ -34,11 +34,10 @@ let value: GetLibraryItemsMetadata = { year: 2022, seasonCount: 2022, tagline: "Return to Pandora.", - flattenSeasons: GetLibraryItemsFlattenSeasons.Show, - episodeSort: GetLibraryItemsEpisodeSort.OldestFirst, - enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute, + flattenSeasons: FlattenSeasons.Show, + episodeSort: EpisodeSort.OldestFirst, + enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration.LibraryDefault, + showOrdering: ShowOrdering.TvdbAbsolute, thumb: "/library/metadata/58683/thumb/1703239236", art: "/library/metadata/58683/art/1703239236", banner: "/library/metadata/58683/banner/1703239236", @@ -250,10 +249,10 @@ let value: GetLibraryItemsMetadata = { | `year` | *number* | :heavy_minus_sign: | N/A | 2022 | | `seasonCount` | *number* | :heavy_minus_sign: | N/A | 2022 | | `tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `flattenSeasons` | [operations.GetLibraryItemsFlattenSeasons](../../../sdk/models/operations/getlibraryitemsflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `episodeSort` | [operations.GetLibraryItemsEpisodeSort](../../../sdk/models/operations/getlibraryitemsepisodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `enableCreditsMarkerGeneration` | [operations.GetLibraryItemsEnableCreditsMarkerGeneration](../../../sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `showOrdering` | [operations.GetLibraryItemsShowOrdering](../../../sdk/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)).
| absolute | +| `flattenSeasons` | [operations.FlattenSeasons](../../../sdk/models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | +| `episodeSort` | [operations.EpisodeSort](../../../sdk/models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | +| `enableCreditsMarkerGeneration` | [operations.EnableCreditsMarkerGeneration](../../../sdk/models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | +| `showOrdering` | [operations.ShowOrdering](../../../sdk/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)).
| absolute | | `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | | `banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | @@ -282,9 +281,9 @@ let value: GetLibraryItemsMetadata = { | `collection` | [operations.GetLibraryItemsCollection](../../../sdk/models/operations/getlibraryitemscollection.md)[] | :heavy_minus_sign: | N/A | | | `role` | [operations.GetLibraryItemsRole](../../../sdk/models/operations/getlibraryitemsrole.md)[] | :heavy_minus_sign: | N/A | | | `location` | [operations.GetLibraryItemsLocation](../../../sdk/models/operations/getlibraryitemslocation.md)[] | :heavy_minus_sign: | N/A | | -| `mediaGuid` | [operations.GetLibraryItemsMediaGuid](../../../sdk/models/operations/getlibraryitemsmediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `mediaGuid` | [operations.MediaGuid](../../../sdk/models/operations/mediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | | `ultraBlurColors` | [operations.GetLibraryItemsUltraBlurColors](../../../sdk/models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `metaDataRating` | [operations.GetLibraryItemsMetaDataRating](../../../sdk/models/operations/getlibraryitemsmetadatarating.md)[] | :heavy_minus_sign: | N/A | | +| `metaDataRating` | [operations.MetaDataRating](../../../sdk/models/operations/metadatarating.md)[] | :heavy_minus_sign: | N/A | | | `image` | [operations.GetLibraryItemsImage](../../../sdk/models/operations/getlibraryitemsimage.md)[] | :heavy_minus_sign: | N/A | | | `titleSort` | *string* | :heavy_minus_sign: | N/A | Whale | | `viewCount` | *number* | :heavy_minus_sign: | N/A | 1 | diff --git a/docs/sdk/models/operations/getlibraryitemsmetadatarating.md b/docs/sdk/models/operations/getlibraryitemsmetadatarating.md deleted file mode 100644 index f08b1d9b..00000000 --- a/docs/sdk/models/operations/getlibraryitemsmetadatarating.md +++ /dev/null @@ -1,21 +0,0 @@ -# GetLibraryItemsMetaDataRating - -## Example Usage - -```typescript -import { GetLibraryItemsMetaDataRating } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsMetaDataRating = { - image: "themoviedb://image.rating", - value: 3, - type: "audience", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | -| `value` | *number* | :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/sdk/models/operations/getlibraryitemsrequest.md b/docs/sdk/models/operations/getlibraryitemsrequest.md index 34e9d3b4..9650a036 100644 --- a/docs/sdk/models/operations/getlibraryitemsrequest.md +++ b/docs/sdk/models/operations/getlibraryitemsrequest.md @@ -6,7 +6,7 @@ import { GetLibraryItemsQueryParamType, GetLibraryItemsRequest, Tag } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetLibraryItemsRequest = { - tag: Tag.Folder, + tag: Tag.FirstCharacter, type: GetLibraryItemsQueryParamType.TvShow, sectionKey: 9518, }; diff --git a/docs/sdk/models/operations/getlibraryitemsresponse.md b/docs/sdk/models/operations/getlibraryitemsresponse.md index 7c1ce82e..3a0eb14f 100644 --- a/docs/sdk/models/operations/getlibraryitemsresponse.md +++ b/docs/sdk/models/operations/getlibraryitemsresponse.md @@ -4,19 +4,19 @@ ```typescript import { - GetLibraryItemsEnableCreditsMarkerGeneration, - GetLibraryItemsEpisodeSort, - GetLibraryItemsFlattenSeasons, + EnableCreditsMarkerGeneration, + EpisodeSort, + FlattenSeasons, GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryType, GetLibraryItemsResponse, - GetLibraryItemsShowOrdering, + ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetLibraryItemsResponse = { contentType: "", - statusCode: 451, + statusCode: 102, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), @@ -110,11 +110,11 @@ let value: GetLibraryItemsResponse = { year: 2022, seasonCount: 2022, tagline: "Return to Pandora.", - flattenSeasons: GetLibraryItemsFlattenSeasons.Show, - episodeSort: GetLibraryItemsEpisodeSort.OldestFirst, + flattenSeasons: FlattenSeasons.Show, + episodeSort: EpisodeSort.OldestFirst, enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute, + EnableCreditsMarkerGeneration.LibraryDefault, + showOrdering: ShowOrdering.TvdbAbsolute, thumb: "/library/metadata/58683/thumb/1703239236", art: "/library/metadata/58683/art/1703239236", banner: "/library/metadata/58683/banner/1703239236", diff --git a/docs/sdk/models/operations/getlibraryitemsresponsebody.md b/docs/sdk/models/operations/getlibraryitemsresponsebody.md index 4fb95f43..245a868d 100644 --- a/docs/sdk/models/operations/getlibraryitemsresponsebody.md +++ b/docs/sdk/models/operations/getlibraryitemsresponsebody.md @@ -6,13 +6,13 @@ The contents of the library by section and tag ```typescript import { - GetLibraryItemsEnableCreditsMarkerGeneration, - GetLibraryItemsEpisodeSort, - GetLibraryItemsFlattenSeasons, + EnableCreditsMarkerGeneration, + EpisodeSort, + FlattenSeasons, GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryType, GetLibraryItemsResponseBody, - GetLibraryItemsShowOrdering, + ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; @@ -106,11 +106,11 @@ let value: GetLibraryItemsResponseBody = { year: 2022, seasonCount: 2022, tagline: "Return to Pandora.", - flattenSeasons: GetLibraryItemsFlattenSeasons.Show, - episodeSort: GetLibraryItemsEpisodeSort.OldestFirst, + flattenSeasons: FlattenSeasons.Show, + episodeSort: EpisodeSort.OldestFirst, enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute, + EnableCreditsMarkerGeneration.LibraryDefault, + showOrdering: ShowOrdering.TvdbAbsolute, thumb: "/library/metadata/58683/thumb/1703239236", art: "/library/metadata/58683/art/1703239236", banner: "/library/metadata/58683/banner/1703239236", diff --git a/docs/sdk/models/operations/getlibraryitemsshowordering.md b/docs/sdk/models/operations/getlibraryitemsshowordering.md deleted file mode 100644 index ec7d93db..00000000 --- a/docs/sdk/models/operations/getlibraryitemsshowordering.md +++ /dev/null @@ -1,28 +0,0 @@ -# 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)). - - -## Example Usage - -```typescript -import { GetLibraryItemsShowOrdering } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetLibraryItemsShowOrdering = - GetLibraryItemsShowOrdering.TvdbAbsolute; -``` - -## Values - -| Name | Value | -| -------------- | -------------- | -| `None` | None | -| `TmdbAiring` | tmdbAiring | -| `TvdbAired` | aired | -| `TvdbDvd` | dvd | -| `TvdbAbsolute` | absolute | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatalibraryoptimizedforstreaming.md b/docs/sdk/models/operations/getmediametadatalibraryoptimizedforstreaming.md index e5cd6680..da04baf2 100644 --- a/docs/sdk/models/operations/getmediametadatalibraryoptimizedforstreaming.md +++ b/docs/sdk/models/operations/getmediametadatalibraryoptimizedforstreaming.md @@ -5,11 +5,11 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr ## Supported Types -### `operations.GetMediaMetaDataOptimizedForStreaming1` +### `operations.GetMediaMetaDataOptimizedForStreamingLibrary1` ```typescript -const value: operations.GetMediaMetaDataOptimizedForStreaming1 = - GetMediaMetaDataOptimizedForStreaming1.One; +const value: operations.GetMediaMetaDataOptimizedForStreamingLibrary1 = + GetMediaMetaDataOptimizedForStreamingLibrary1.One; ``` ### `boolean` diff --git a/docs/sdk/models/operations/getmediametadatamedia.md b/docs/sdk/models/operations/getmediametadatamedia.md index 3d4634d4..15b0d8ad 100644 --- a/docs/sdk/models/operations/getmediametadatamedia.md +++ b/docs/sdk/models/operations/getmediametadatamedia.md @@ -63,6 +63,7 @@ let value: GetMediaMetaDataMedia = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -74,6 +75,7 @@ let value: GetMediaMetaDataMedia = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -112,8 +114,8 @@ let value: GetMediaMetaDataMedia = { | `container` | *string* | :heavy_minus_sign: | File container type. | mkv | | `videoFrameRate` | *string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | | `videoProfile` | *string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | -| `hasVoiceActivity` | *boolean* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | +| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | | `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | | `optimizedForStreaming` | *operations.GetMediaMetaDataOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | | `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `part` | [operations.GetMediaMetaDataPart](../../../sdk/models/operations/getmediametadatapart.md)[] | :heavy_check_mark: | An array of parts for this media item. | | \ No newline at end of file +| `part` | [operations.GetMediaMetaDataPart](../../../sdk/models/operations/getmediametadatapart.md)[] | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatamediacontainer.md b/docs/sdk/models/operations/getmediametadatamediacontainer.md index 569524a7..e789fc7e 100644 --- a/docs/sdk/models/operations/getmediametadatamediacontainer.md +++ b/docs/sdk/models/operations/getmediametadatamediacontainer.md @@ -125,6 +125,7 @@ let value: GetMediaMetaDataMediaContainer = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -136,6 +137,7 @@ let value: GetMediaMetaDataMediaContainer = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", diff --git a/docs/sdk/models/operations/getmediametadatametadata.md b/docs/sdk/models/operations/getmediametadatametadata.md index 4ed8dbb9..38d9f419 100644 --- a/docs/sdk/models/operations/getmediametadatametadata.md +++ b/docs/sdk/models/operations/getmediametadatametadata.md @@ -115,6 +115,7 @@ let value: GetMediaMetaDataMetadata = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -126,6 +127,7 @@ let value: GetMediaMetaDataMetadata = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -305,6 +307,6 @@ let value: GetMediaMetaDataMetadata = { | `role` | [operations.GetMediaMetaDataRole](../../../sdk/models/operations/getmediametadatarole.md)[] | :heavy_minus_sign: | An array of Actor roles. | | | `director` | [operations.GetMediaMetaDataDirector](../../../sdk/models/operations/getmediametadatadirector.md)[] | :heavy_minus_sign: | An array of Director roles. | | | `writer` | [operations.GetMediaMetaDataWriter](../../../sdk/models/operations/getmediametadatawriter.md)[] | :heavy_minus_sign: | An array of Writer roles. | | -| `producer` | [operations.Producer](../../../sdk/models/operations/producer.md)[] | :heavy_minus_sign: | An array of Writer roles. | | -| `similar` | [operations.Similar](../../../sdk/models/operations/similar.md)[] | :heavy_minus_sign: | An array of similar content objects. | | +| `producer` | [operations.GetMediaMetaDataProducer](../../../sdk/models/operations/getmediametadataproducer.md)[] | :heavy_minus_sign: | An array of Writer roles. | | +| `similar` | [operations.GetMediaMetaDataSimilar](../../../sdk/models/operations/getmediametadatasimilar.md)[] | :heavy_minus_sign: | An array of similar content objects. | | | `location` | [operations.GetMediaMetaDataLocation](../../../sdk/models/operations/getmediametadatalocation.md)[] | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadataoptimizedforstreaming.md b/docs/sdk/models/operations/getmediametadataoptimizedforstreaming.md index e84202e1..7ced429b 100644 --- a/docs/sdk/models/operations/getmediametadataoptimizedforstreaming.md +++ b/docs/sdk/models/operations/getmediametadataoptimizedforstreaming.md @@ -5,10 +5,11 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr ## Supported Types -### `operations.OptimizedForStreaming1` +### `operations.GetMediaMetaDataOptimizedForStreaming1` ```typescript -const value: operations.OptimizedForStreaming1 = OptimizedForStreaming1.Zero; +const value: operations.GetMediaMetaDataOptimizedForStreaming1 = + GetMediaMetaDataOptimizedForStreaming1.One; ``` ### `boolean` diff --git a/docs/sdk/models/operations/getmediametadataoptimizedforstreaming1.md b/docs/sdk/models/operations/getmediametadataoptimizedforstreaming1.md index c44624ef..026714c5 100644 --- a/docs/sdk/models/operations/getmediametadataoptimizedforstreaming1.md +++ b/docs/sdk/models/operations/getmediametadataoptimizedforstreaming1.md @@ -6,7 +6,7 @@ import { GetMediaMetaDataOptimizedForStreaming1 } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetMediaMetaDataOptimizedForStreaming1 = - GetMediaMetaDataOptimizedForStreaming1.One; + GetMediaMetaDataOptimizedForStreaming1.Zero; ``` ## Values diff --git a/docs/sdk/models/operations/getmediametadataoptimizedforstreaminglibrary1.md b/docs/sdk/models/operations/getmediametadataoptimizedforstreaminglibrary1.md new file mode 100644 index 00000000..f57d8007 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataoptimizedforstreaminglibrary1.md @@ -0,0 +1,17 @@ +# GetMediaMetaDataOptimizedForStreamingLibrary1 + +## Example Usage + +```typescript +import { GetMediaMetaDataOptimizedForStreamingLibrary1 } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataOptimizedForStreamingLibrary1 = + GetMediaMetaDataOptimizedForStreamingLibrary1.One; +``` + +## Values + +| Name | Value | +| ------ | ------ | +| `Zero` | 0 | +| `One` | 1 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatapart.md b/docs/sdk/models/operations/getmediametadatapart.md index 524da41d..6961f9e3 100644 --- a/docs/sdk/models/operations/getmediametadatapart.md +++ b/docs/sdk/models/operations/getmediametadatapart.md @@ -44,6 +44,7 @@ let value: GetMediaMetaDataPart = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -55,6 +56,7 @@ let value: GetMediaMetaDataPart = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", diff --git a/docs/sdk/models/operations/getmediametadataproducer.md b/docs/sdk/models/operations/getmediametadataproducer.md new file mode 100644 index 00000000..8eea17a9 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataproducer.md @@ -0,0 +1,28 @@ +# GetMediaMetaDataProducer + +## Example Usage + +```typescript +import { GetMediaMetaDataProducer } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataProducer = { + id: 109501, + filter: "actor=109501", + tag: "Bob Odenkirk", + tagKey: "5d77683254f42c001f8c3f69", + role: "Jimmy McGill", + thumb: + "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadataresponse.md b/docs/sdk/models/operations/getmediametadataresponse.md index b23f3a98..2aa77b92 100644 --- a/docs/sdk/models/operations/getmediametadataresponse.md +++ b/docs/sdk/models/operations/getmediametadataresponse.md @@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetMediaMetaDataResponse = { contentType: "", - statusCode: 226, + statusCode: 306, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), @@ -132,6 +132,7 @@ let value: GetMediaMetaDataResponse = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -143,6 +144,7 @@ let value: GetMediaMetaDataResponse = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", diff --git a/docs/sdk/models/operations/getmediametadataresponsebody.md b/docs/sdk/models/operations/getmediametadataresponsebody.md index 880a1de9..5903f753 100644 --- a/docs/sdk/models/operations/getmediametadataresponsebody.md +++ b/docs/sdk/models/operations/getmediametadataresponsebody.md @@ -128,6 +128,7 @@ let value: GetMediaMetaDataResponseBody = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -139,6 +140,7 @@ let value: GetMediaMetaDataResponseBody = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", diff --git a/docs/sdk/models/operations/getmediametadatasimilar.md b/docs/sdk/models/operations/getmediametadatasimilar.md new file mode 100644 index 00000000..5a8144d8 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatasimilar.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataSimilar + +## Example Usage + +```typescript +import { GetMediaMetaDataSimilar } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataSimilar = { + id: 26, + filter: "similar=26", + tag: "Breaking Bad", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *number* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatastream.md b/docs/sdk/models/operations/getmediametadatastream.md index 73816750..da50c6e8 100644 --- a/docs/sdk/models/operations/getmediametadatastream.md +++ b/docs/sdk/models/operations/getmediametadatastream.md @@ -29,6 +29,7 @@ let value: GetMediaMetaDataStream = { chromaSubsampling: "4:2:0", codedHeight: 1608, codedWidth: 3840, + closedCaptions: true, colorPrimaries: "bt2020", colorRange: "tv", colorSpace: "bt2020nc", @@ -40,6 +41,7 @@ let value: GetMediaMetaDataStream = { hasScalingMatrix: false, profile: "main 10", scanType: "progressive", + embeddedInVideo: "progressive", refFrames: 1, width: 3840, displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", @@ -66,9 +68,9 @@ let value: GetMediaMetaDataStream = { | `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *string* | :heavy_check_mark: | Language of the stream. | English | -| `languageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en | -| `languageCode` | *string* | :heavy_check_mark: | ISO language code. | eng | +| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | +| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | @@ -83,6 +85,7 @@ let value: GetMediaMetaDataStream = { | `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | | `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | | `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | @@ -94,6 +97,7 @@ let value: GetMediaMetaDataStream = { | `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | | `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | +| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | | `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | diff --git a/docs/sdk/models/operations/getmetadatachildrenrequest.md b/docs/sdk/models/operations/getmetadatachildrenrequest.md index 8797d2ee..a22a6f91 100644 --- a/docs/sdk/models/operations/getmetadatachildrenrequest.md +++ b/docs/sdk/models/operations/getmetadatachildrenrequest.md @@ -6,7 +6,7 @@ import { GetMetadataChildrenRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetMetadataChildrenRequest = { - ratingKey: 6139.66, + ratingKey: 3119.45, }; ``` diff --git a/docs/sdk/models/operations/getmetadatachildrenresponse.md b/docs/sdk/models/operations/getmetadatachildrenresponse.md index 7ad1d831..85c60e3a 100644 --- a/docs/sdk/models/operations/getmetadatachildrenresponse.md +++ b/docs/sdk/models/operations/getmetadatachildrenresponse.md @@ -7,7 +7,7 @@ import { GetMetadataChildrenResponse } from "@lukehagar/plexjs/sdk/models/operat let value: GetMetadataChildrenResponse = { contentType: "", - statusCode: 305, + statusCode: 202, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getondeckguids.md b/docs/sdk/models/operations/getondeckguids.md deleted file mode 100644 index 4934303c..00000000 --- a/docs/sdk/models/operations/getondeckguids.md +++ /dev/null @@ -1,17 +0,0 @@ -# GetOnDeckGuids - -## Example Usage - -```typescript -import { GetOnDeckGuids } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckGuids = { - id: "imdb://tt13303712", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_minus_sign: | N/A | imdb://tt13303712 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckmedia.md b/docs/sdk/models/operations/getondeckmedia.md deleted file mode 100644 index c3033404..00000000 --- a/docs/sdk/models/operations/getondeckmedia.md +++ /dev/null @@ -1,82 +0,0 @@ -# GetOnDeckMedia - -## Example Usage - -```typescript -import { GetOnDeckMedia } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckMedia = { - id: 80994, - duration: 420080, - bitrate: 1046, - width: 1920, - height: 1080, - aspectRatio: 1.78, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "hevc", - videoResolution: "1080", - container: "mkv", - videoFrameRate: "PAL", - audioProfile: "lc", - videoProfile: "main", - part: [ - { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 80994 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 420080 | -| `bitrate` | *number* | :heavy_minus_sign: | N/A | 1046 | -| `width` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `height` | *number* | :heavy_minus_sign: | N/A | 1080 | -| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.78 | -| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 2 | -| `audioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | -| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `container` | *string* | :heavy_minus_sign: | N/A | mkv | -| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | PAL | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main | -| `part` | [operations.GetOnDeckPart](../../../sdk/models/operations/getondeckpart.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckmediacontainer.md b/docs/sdk/models/operations/getondeckmediacontainer.md deleted file mode 100644 index d1324110..00000000 --- a/docs/sdk/models/operations/getondeckmediacontainer.md +++ /dev/null @@ -1,125 +0,0 @@ -# GetOnDeckMediaContainer - -## Example Usage - -```typescript -import { GetOnDeckMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckMediaContainer = { - size: 16, - identifier: "com.plexapp.plugins.library", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1680021154, - metadata: [ - { - librarySectionID: 2, - librarySectionTitle: "TV Shows", - librarySectionUUID: "4bb2521c-8ba9-459b-aaee-8ab8bc35eabd", - ratingKey: 49564, - key: "/library/metadata/49564", - parentRatingKey: 49557, - grandparentRatingKey: 49556, - guid: "plex://episode/5ea7d7402e7ab10042e74d4f", - parentGuid: "plex://season/602e754d67f4c8002ce54b3d", - grandparentGuid: "plex://show/5d9c090e705e7a001e6e94d8", - type: "episode", - title: "Circus", - grandparentKey: "/library/metadata/49556", - parentKey: "/library/metadata/49557", - librarySectionKey: "/library/sections/2", - grandparentTitle: "Bluey (2018)", - parentTitle: "Season 2", - contentRating: "TV-Y", - summary: - "Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy.", - index: 33, - parentIndex: 2, - lastViewedAt: 1681908352, - year: 2018, - thumb: "/library/metadata/49564/thumb/1654258204", - art: "/library/metadata/49556/art/1680939546", - parentThumb: "/library/metadata/49557/thumb/1654258204", - grandparentThumb: "/library/metadata/49556/thumb/1680939546", - grandparentArt: "/library/metadata/49556/art/1680939546", - grandparentTheme: "/library/metadata/49556/theme/1680939546", - duration: 420080, - originallyAvailableAt: new Date("2020-10-31T00:00:00Z"), - addedAt: 1654258196, - updatedAt: 1654258204, - media: [ - { - id: 80994, - duration: 420080, - bitrate: 1046, - width: 1920, - height: 1080, - aspectRatio: 1.78, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "hevc", - videoResolution: "1080", - container: "mkv", - videoFrameRate: "PAL", - audioProfile: "lc", - videoProfile: "main", - part: [ - { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], - }, - ], - }, - ], - guids: [ - { - id: "imdb://tt13303712", - }, - ], - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `size` | *number* | :heavy_minus_sign: | N/A | 16 | -| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | | -| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1680021154 | -| `mixedParents` | *boolean* | :heavy_minus_sign: | N/A | | -| `metadata` | [operations.GetOnDeckMetadata](../../../sdk/models/operations/getondeckmetadata.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckmetadata.md b/docs/sdk/models/operations/getondeckmetadata.md deleted file mode 100644 index 64e45466..00000000 --- a/docs/sdk/models/operations/getondeckmetadata.md +++ /dev/null @@ -1,146 +0,0 @@ -# GetOnDeckMetadata - -## Example Usage - -```typescript -import { GetOnDeckMetadata } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckMetadata = { - librarySectionID: 2, - librarySectionTitle: "TV Shows", - librarySectionUUID: "4bb2521c-8ba9-459b-aaee-8ab8bc35eabd", - ratingKey: 49564, - key: "/library/metadata/49564", - parentRatingKey: 49557, - grandparentRatingKey: 49556, - guid: "plex://episode/5ea7d7402e7ab10042e74d4f", - parentGuid: "plex://season/602e754d67f4c8002ce54b3d", - grandparentGuid: "plex://show/5d9c090e705e7a001e6e94d8", - type: "episode", - title: "Circus", - grandparentKey: "/library/metadata/49556", - parentKey: "/library/metadata/49557", - librarySectionKey: "/library/sections/2", - grandparentTitle: "Bluey (2018)", - parentTitle: "Season 2", - contentRating: "TV-Y", - summary: - "Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy.", - index: 33, - parentIndex: 2, - lastViewedAt: 1681908352, - year: 2018, - thumb: "/library/metadata/49564/thumb/1654258204", - art: "/library/metadata/49556/art/1680939546", - parentThumb: "/library/metadata/49557/thumb/1654258204", - grandparentThumb: "/library/metadata/49556/thumb/1680939546", - grandparentArt: "/library/metadata/49556/art/1680939546", - grandparentTheme: "/library/metadata/49556/theme/1680939546", - duration: 420080, - originallyAvailableAt: new Date("2020-10-31T00:00:00Z"), - addedAt: 1654258196, - updatedAt: 1654258204, - media: [ - { - id: 80994, - duration: 420080, - bitrate: 1046, - width: 1920, - height: 1080, - aspectRatio: 1.78, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "hevc", - videoResolution: "1080", - container: "mkv", - videoFrameRate: "PAL", - audioProfile: "lc", - videoProfile: "main", - part: [ - { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], - }, - ], - }, - ], - guids: [ - { - id: "imdb://tt13303712", - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | | -| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 2 | -| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | TV Shows | -| `librarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd | -| `ratingKey` | *number* | :heavy_minus_sign: | N/A | 49564 | -| `key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49564 | -| `parentRatingKey` | *number* | :heavy_minus_sign: | N/A | 49557 | -| `grandparentRatingKey` | *number* | :heavy_minus_sign: | N/A | 49556 | -| `guid` | *string* | :heavy_minus_sign: | N/A | plex://episode/5ea7d7402e7ab10042e74d4f | -| `parentGuid` | *string* | :heavy_minus_sign: | N/A | plex://season/602e754d67f4c8002ce54b3d | -| `grandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c090e705e7a001e6e94d8 | -| `type` | *string* | :heavy_minus_sign: | N/A | episode | -| `title` | *string* | :heavy_minus_sign: | N/A | Circus | -| `grandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49556 | -| `parentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49557 | -| `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2 | -| `grandparentTitle` | *string* | :heavy_minus_sign: | N/A | Bluey (2018) | -| `parentTitle` | *string* | :heavy_minus_sign: | N/A | Season 2 | -| `contentRating` | *string* | :heavy_minus_sign: | N/A | TV-Y | -| `summary` | *string* | :heavy_minus_sign: | N/A | Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy. | -| `index` | *number* | :heavy_minus_sign: | N/A | 33 | -| `parentIndex` | *number* | :heavy_minus_sign: | N/A | 2 | -| `lastViewedAt` | *number* | :heavy_minus_sign: | N/A | 1681908352 | -| `year` | *number* | :heavy_minus_sign: | N/A | 2018 | -| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49564/thumb/1654258204 | -| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49556/art/1680939546 | -| `parentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49557/thumb/1654258204 | -| `grandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49556/thumb/1680939546 | -| `grandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49556/art/1680939546 | -| `grandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/49556/theme/1680939546 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 420080 | -| `originallyAvailableAt` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy_minus_sign: | N/A | 2020-10-31 00:00:00 +0000 UTC | -| `addedAt` | *number* | :heavy_minus_sign: | N/A | 1654258196 | -| `updatedAt` | *number* | :heavy_minus_sign: | N/A | 1654258204 | -| `media` | [operations.GetOnDeckMedia](../../../sdk/models/operations/getondeckmedia.md)[] | :heavy_minus_sign: | N/A | | -| `guids` | [operations.GetOnDeckGuids](../../../sdk/models/operations/getondeckguids.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckpart.md b/docs/sdk/models/operations/getondeckpart.md deleted file mode 100644 index c3169eb7..00000000 --- a/docs/sdk/models/operations/getondeckpart.md +++ /dev/null @@ -1,58 +0,0 @@ -# GetOnDeckPart - -## Example Usage - -```typescript -import { GetOnDeckPart } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckPart = { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 80994 | -| `key` | *string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv | -| `duration` | *number* | :heavy_minus_sign: | N/A | 420080 | -| `file` | *string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv | -| `size` | *number* | :heavy_minus_sign: | N/A | 55148931 | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `container` | *string* | :heavy_minus_sign: | N/A | mkv | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main | -| `stream` | [operations.GetOnDeckStream](../../../sdk/models/operations/getondeckstream.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckresponse.md b/docs/sdk/models/operations/getondeckresponse.md deleted file mode 100644 index 14141722..00000000 --- a/docs/sdk/models/operations/getondeckresponse.md +++ /dev/null @@ -1,132 +0,0 @@ -# GetOnDeckResponse - -## Example Usage - -```typescript -import { GetOnDeckResponse } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckResponse = { - contentType: "", - statusCode: 202, - rawResponse: new Response("{\"message\": \"hello world\"}", { - headers: { "Content-Type": "application/json" }, - }), - object: { - mediaContainer: { - size: 16, - identifier: "com.plexapp.plugins.library", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1680021154, - metadata: [ - { - librarySectionID: 2, - librarySectionTitle: "TV Shows", - librarySectionUUID: "4bb2521c-8ba9-459b-aaee-8ab8bc35eabd", - ratingKey: 49564, - key: "/library/metadata/49564", - parentRatingKey: 49557, - grandparentRatingKey: 49556, - guid: "plex://episode/5ea7d7402e7ab10042e74d4f", - parentGuid: "plex://season/602e754d67f4c8002ce54b3d", - grandparentGuid: "plex://show/5d9c090e705e7a001e6e94d8", - type: "episode", - title: "Circus", - grandparentKey: "/library/metadata/49556", - parentKey: "/library/metadata/49557", - librarySectionKey: "/library/sections/2", - grandparentTitle: "Bluey (2018)", - parentTitle: "Season 2", - contentRating: "TV-Y", - summary: - "Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy.", - index: 33, - parentIndex: 2, - lastViewedAt: 1681908352, - year: 2018, - thumb: "/library/metadata/49564/thumb/1654258204", - art: "/library/metadata/49556/art/1680939546", - parentThumb: "/library/metadata/49557/thumb/1654258204", - grandparentThumb: "/library/metadata/49556/thumb/1680939546", - grandparentArt: "/library/metadata/49556/art/1680939546", - grandparentTheme: "/library/metadata/49556/theme/1680939546", - duration: 420080, - originallyAvailableAt: new Date("2020-10-31T00:00:00Z"), - addedAt: 1654258196, - updatedAt: 1654258204, - media: [ - { - id: 80994, - duration: 420080, - bitrate: 1046, - width: 1920, - height: 1080, - aspectRatio: 1.78, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "hevc", - videoResolution: "1080", - container: "mkv", - videoFrameRate: "PAL", - audioProfile: "lc", - videoProfile: "main", - part: [ - { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: - "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], - }, - ], - }, - ], - guids: [ - { - id: "imdb://tt13303712", - }, - ], - }, - ], - }, - }, -}; -``` - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [operations.GetOnDeckResponseBody](../../../sdk/models/operations/getondeckresponsebody.md) | :heavy_minus_sign: | The on Deck content | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckresponsebody.md b/docs/sdk/models/operations/getondeckresponsebody.md deleted file mode 100644 index ff6806dc..00000000 --- a/docs/sdk/models/operations/getondeckresponsebody.md +++ /dev/null @@ -1,124 +0,0 @@ -# GetOnDeckResponseBody - -The on Deck content - -## Example Usage - -```typescript -import { GetOnDeckResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckResponseBody = { - mediaContainer: { - size: 16, - identifier: "com.plexapp.plugins.library", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1680021154, - metadata: [ - { - librarySectionID: 2, - librarySectionTitle: "TV Shows", - librarySectionUUID: "4bb2521c-8ba9-459b-aaee-8ab8bc35eabd", - ratingKey: 49564, - key: "/library/metadata/49564", - parentRatingKey: 49557, - grandparentRatingKey: 49556, - guid: "plex://episode/5ea7d7402e7ab10042e74d4f", - parentGuid: "plex://season/602e754d67f4c8002ce54b3d", - grandparentGuid: "plex://show/5d9c090e705e7a001e6e94d8", - type: "episode", - title: "Circus", - grandparentKey: "/library/metadata/49556", - parentKey: "/library/metadata/49557", - librarySectionKey: "/library/sections/2", - grandparentTitle: "Bluey (2018)", - parentTitle: "Season 2", - contentRating: "TV-Y", - summary: - "Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy.", - index: 33, - parentIndex: 2, - lastViewedAt: 1681908352, - year: 2018, - thumb: "/library/metadata/49564/thumb/1654258204", - art: "/library/metadata/49556/art/1680939546", - parentThumb: "/library/metadata/49557/thumb/1654258204", - grandparentThumb: "/library/metadata/49556/thumb/1680939546", - grandparentArt: "/library/metadata/49556/art/1680939546", - grandparentTheme: "/library/metadata/49556/theme/1680939546", - duration: 420080, - originallyAvailableAt: new Date("2020-10-31T00:00:00Z"), - addedAt: 1654258196, - updatedAt: 1654258204, - media: [ - { - id: 80994, - duration: 420080, - bitrate: 1046, - width: 1920, - height: 1080, - aspectRatio: 1.78, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "hevc", - videoResolution: "1080", - container: "mkv", - videoFrameRate: "PAL", - audioProfile: "lc", - videoProfile: "main", - part: [ - { - id: 80994, - key: "/library/parts/80994/1655007810/file.mkv", - duration: 420080, - file: - "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", - size: 55148931, - audioProfile: "lc", - container: "mkv", - videoProfile: "main", - stream: [ - { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", - }, - ], - }, - ], - }, - ], - guids: [ - { - id: "imdb://tt13303712", - }, - ], - }, - ], - }, -}; -``` - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `mediaContainer` | [operations.GetOnDeckMediaContainer](../../../sdk/models/operations/getondeckmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdk/models/operations/getondeckstream.md b/docs/sdk/models/operations/getondeckstream.md deleted file mode 100644 index ef62c84f..00000000 --- a/docs/sdk/models/operations/getondeckstream.md +++ /dev/null @@ -1,60 +0,0 @@ -# GetOnDeckStream - -## Example Usage - -```typescript -import { GetOnDeckStream } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetOnDeckStream = { - id: 211234, - streamType: 1, - codec: "hevc", - index: 0, - bitrate: 918, - language: "English", - languageTag: "en", - languageCode: "eng", - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "4:2:0", - codedHeight: 1080, - codedWidth: 1920, - colorRange: "tv", - frameRate: 25, - height: 1080, - level: 120, - profile: "main", - refFrames: 1, - width: 1920, - displayTitle: "1080p (HEVC Main)", - extendedDisplayTitle: "1080p (HEVC Main)", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 211234 | -| `streamType` | *number* | :heavy_minus_sign: | N/A | 1 | -| `default` | *boolean* | :heavy_minus_sign: | N/A | | -| `codec` | *string* | :heavy_minus_sign: | N/A | hevc | -| `index` | *number* | :heavy_minus_sign: | N/A | 0 | -| `bitrate` | *number* | :heavy_minus_sign: | N/A | 918 | -| `language` | *string* | :heavy_minus_sign: | N/A | English | -| `languageTag` | *string* | :heavy_minus_sign: | N/A | en | -| `languageCode` | *string* | :heavy_minus_sign: | N/A | eng | -| `bitDepth` | *number* | :heavy_minus_sign: | N/A | 8 | -| `chromaLocation` | *string* | :heavy_minus_sign: | N/A | left | -| `chromaSubsampling` | *string* | :heavy_minus_sign: | N/A | 4:2:0 | -| `codedHeight` | *number* | :heavy_minus_sign: | N/A | 1080 | -| `codedWidth` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `colorRange` | *string* | :heavy_minus_sign: | N/A | tv | -| `frameRate` | *number* | :heavy_minus_sign: | N/A | 25 | -| `height` | *number* | :heavy_minus_sign: | N/A | 1080 | -| `level` | *number* | :heavy_minus_sign: | N/A | 120 | -| `profile` | *string* | :heavy_minus_sign: | N/A | main | -| `refFrames` | *number* | :heavy_minus_sign: | N/A | 1 | -| `width` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `displayTitle` | *string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | -| `extendedDisplayTitle` | *string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | \ No newline at end of file diff --git a/docs/sdk/models/operations/getplaylistcontentsrequest.md b/docs/sdk/models/operations/getplaylistcontentsrequest.md index 8eb6f059..059746ab 100644 --- a/docs/sdk/models/operations/getplaylistcontentsrequest.md +++ b/docs/sdk/models/operations/getplaylistcontentsrequest.md @@ -6,7 +6,7 @@ import { GetPlaylistContentsQueryParamType, GetPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetPlaylistContentsRequest = { - playlistID: 2539.41, + playlistID: 5182.01, type: GetPlaylistContentsQueryParamType.TvShow, }; ``` diff --git a/docs/sdk/models/operations/getplaylistcontentsresponse.md b/docs/sdk/models/operations/getplaylistcontentsresponse.md index dc56042d..4b056ae4 100644 --- a/docs/sdk/models/operations/getplaylistcontentsresponse.md +++ b/docs/sdk/models/operations/getplaylistcontentsresponse.md @@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetPlaylistContentsResponse = { contentType: "", - statusCode: 205, + statusCode: 100, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getplaylistrequest.md b/docs/sdk/models/operations/getplaylistrequest.md index 16bd95f7..f70ec653 100644 --- a/docs/sdk/models/operations/getplaylistrequest.md +++ b/docs/sdk/models/operations/getplaylistrequest.md @@ -6,7 +6,7 @@ import { GetPlaylistRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetPlaylistRequest = { - playlistID: 8726.51, + playlistID: 7980.47, }; ``` diff --git a/docs/sdk/models/operations/getplaylistresponse.md b/docs/sdk/models/operations/getplaylistresponse.md index 8790ff79..02a995f3 100644 --- a/docs/sdk/models/operations/getplaylistresponse.md +++ b/docs/sdk/models/operations/getplaylistresponse.md @@ -7,7 +7,7 @@ import { GetPlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetPlaylistResponse = { contentType: "", - statusCode: 207, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getplaylistsresponse.md b/docs/sdk/models/operations/getplaylistsresponse.md index b645470d..a8b93631 100644 --- a/docs/sdk/models/operations/getplaylistsresponse.md +++ b/docs/sdk/models/operations/getplaylistsresponse.md @@ -7,7 +7,7 @@ import { GetPlaylistsResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetPlaylistsResponse = { contentType: "", - statusCode: 506, + statusCode: 503, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getrecentlyaddedlibraryresponse.md b/docs/sdk/models/operations/getrecentlyaddedlibraryresponse.md index 76b49087..58729bed 100644 --- a/docs/sdk/models/operations/getrecentlyaddedlibraryresponse.md +++ b/docs/sdk/models/operations/getrecentlyaddedlibraryresponse.md @@ -7,7 +7,7 @@ import { GetRecentlyAddedLibraryResponse } from "@lukehagar/plexjs/sdk/models/op let value: GetRecentlyAddedLibraryResponse = { contentType: "", - statusCode: 418, + statusCode: 204, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getrecentlyaddedmediacontainer.md b/docs/sdk/models/operations/getrecentlyaddedmediacontainer.md index a7969e72..9d1b45e5 100644 --- a/docs/sdk/models/operations/getrecentlyaddedmediacontainer.md +++ b/docs/sdk/models/operations/getrecentlyaddedmediacontainer.md @@ -4,20 +4,18 @@ ```typescript import { - EnableCreditsMarkerGeneration, - EpisodeSort, - FlattenSeasons, GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsType, GetRecentlyAddedMediaContainer, - ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetRecentlyAddedMediaContainer = { size: 50, - identifier: "com.plexapp.plugins.library", + totalSize: 50, + offset: 0, allowSync: false, + identifier: "com.plexapp.plugins.library", meta: { type: [ { @@ -70,172 +68,76 @@ let value: GetRecentlyAddedMediaContainer = { }, 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: GetRecentlyAddedHubsType.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: FlattenSeasons.Show, - episodeSort: EpisodeSort.OldestFirst, - enableCreditsMarkerGeneration: - EnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: ShowOrdering.TvdbAbsolute, - thumb: "/library/metadata/58683/thumb/1703239236", - art: "/library/metadata/58683/art/1703239236", - banner: "/library/metadata/58683/banner/1703239236", - duration: 11558112, - originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"), addedAt: 1556281940, - updatedAt: 1556281940, + art: "/library/metadata/58683/art/1703239236", audienceRatingImage: "rottentomatoes://image.rating.upright", + audienceRating: 9.2, chapterSource: "media", - primaryExtraKey: "/library/metadata/58684", - ratingImage: "rottentomatoes://image.rating.ripe", - grandparentRatingKey: "66", + childCount: 1, + contentRating: "PG-13", + createdAtAccuracy: "epoch,local", + createdAtTZOffset: "0", + duration: 11558112, + grandparentArt: "/library/metadata/66/art/1705716261", grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4", grandparentKey: "/library/metadata/66", - grandparentTitle: "Caprica", - grandparentThumb: "/library/metadata/66/thumb/1705716261", - parentSlug: "alice-in-borderland-2020", + grandparentRatingKey: "66", grandparentSlug: "alice-in-borderland-2020", - grandparentArt: "/library/metadata/66/art/1705716261", grandparentTheme: "/library/metadata/66/theme/1705716261", - media: [ + grandparentThumb: "/library/metadata/66/thumb/1705716261", + grandparentTitle: "Caprica", + guid: "plex://movie/5d7768ba96b655001fdc0408", + index: 1, + key: "/library/metadata/58683", + lastRatedAt: 1721813113, + lastViewedAt: 1682752242, + leafCount: 14, + librarySectionID: 1, + librarySectionKey: "/library/sections/1", + librarySectionTitle: "Movies", + originalTitle: "映画 ブラッククローバー 魔法帝の剣", + originallyAvailableAt: new RFCDate("2022-12-14"), + parentGuid: "plex://show/5d9c081b170e24001f2a7be4", + parentIndex: 1, + parentKey: "/library/metadata/66", + parentRatingKey: "66", + parentSlug: "alice-in-borderland-2020", + parentStudio: "UCP", + parentTheme: "/library/metadata/66/theme/1705716261", + parentThumb: "/library/metadata/66/thumb/1705716261", + parentTitle: "Caprica", + parentYear: 2010, + primaryExtraKey: "/library/metadata/58684", + ratingImage: "rottentomatoes://image.rating.ripe", + ratingKey: "58683", + rating: 7.6, + seasonCount: 2022, + skipCount: 1, + slug: "4-for-texas", + studio: "20th Century Studios", + subtype: "clip", + summary: + "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n" + + "Once a familiar threat returns to finish what was previously started, Jake must\n" + + "work with Neytiri and the army of the Na'vi race to protect their home.\n" + + "", + tagline: "Return to Pandora.", + theme: "/library/metadata/1/theme/1705636920", + thumb: "/library/metadata/58683/thumb/1703239236", + titleSort: "Whale", + title: "Avatar: The Way of Water", + type: GetRecentlyAddedHubsType.Movie, + updatedAt: 1556281940, + userRating: 10, + viewCount: 1, + viewOffset: 5222500, + viewedLeafCount: 0, + year: 2022, + image: [ { - 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, - 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", - 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", - }, - ], - country: [ - { - tag: "United States of America", - }, - ], - director: [ - { - 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", - }, - ], - location: [ - { - path: "/TV Shows/House", - }, - ], - mediaGuid: [ - { - id: "imdb://tt13015952", + alt: "Episode 1", + type: GetRecentlyAddedHubsResponseType.Background, + url: "/library/metadata/45521/thumb/1644710589", }, ], ultraBlurColors: { @@ -244,42 +146,174 @@ let value: GetRecentlyAddedMediaContainer = { bottomRight: "73958", bottomLeft: "1f5066", }, - metaDataRating: [ + media: [ { - image: "themoviedb://image.rating", - value: 3, + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, + aspectRatio: 2.35, + audioChannels: 6, + displayOffset: 50, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: false, + audioProfile: "dts", + has64bitOffsets: false, + part: [ + { + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, + container: "mkv", + videoProfile: "main 10", + audioProfile: "dts", + has64bitOffsets: false, + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", + samplingRate: 48000, + canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", + }, + ], + }, + ], + }, + ], + genre: [ + { + id: 259, + filter: "genre=19", + tag: "Crime", + }, + ], + country: [ + { + id: 259, + tag: "United States of America", + filter: "country=19", + }, + ], + director: [ + { + tag: "Danny Boyle", + }, + ], + writer: [ + { + id: 126522, + filter: "writer=126522", + tag: "Jamie P. Hanson", + tagKey: "5d77683d85719b001f3a535e", + }, + ], + role: [ + { + id: 126522, + filter: "actor=126522", + tag: "Teller", + tagKey: "5d77683d85719b001f3a535e", + role: "Self - Judge", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + producer: [ + { + id: 126522, + filter: "producer=126522", + tag: "Amelia Knapp", + tagKey: "5d77683d85719b001f3a535e", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + rating1: [ + { + image: "imdb://image.rating", + value: 5.1, type: "audience", }, ], - image: [ + similar: [ { - alt: "Episode 1", - type: GetRecentlyAddedHubsResponseType.Background, - url: "/library/metadata/45521/thumb/1644710589", + id: 259, + filter: "similar=259", + tag: "Criss Angel Mindfreak", + }, + ], + location: [ + { + path: "/TV Shows/Clarkson's Farm", + }, + ], + guids: [ + { + id: "tvdb://2337", + }, + ], + collection: [ + { + tag: "My Awesome Collection", }, ], - 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", }, ], }; @@ -289,10 +323,10 @@ let value: GetRecentlyAddedMediaContainer = { | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| `size` | *number* | :heavy_check_mark: | N/A | 50 | -| `offset` | *number* | :heavy_minus_sign: | N/A | | -| `totalSize` | *number* | :heavy_minus_sign: | N/A | | -| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false | +| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `totalSize` | *number* | :heavy_check_mark: | Total number of media items in the library. | 50 | +| `offset` | *number* | :heavy_check_mark: | Offset value for pagination. | 0 | +| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | | `meta` | [operations.Meta](../../../sdk/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` | [operations.GetRecentlyAddedMetadata](../../../sdk/models/operations/getrecentlyaddedmetadata.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `metadata` | [operations.GetRecentlyAddedMetadata](../../../sdk/models/operations/getrecentlyaddedmetadata.md)[] | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getrecentlyaddedmetadata.md b/docs/sdk/models/operations/getrecentlyaddedmetadata.md index 7746d811..b536ebed 100644 --- a/docs/sdk/models/operations/getrecentlyaddedmetadata.md +++ b/docs/sdk/models/operations/getrecentlyaddedmetadata.md @@ -1,185 +1,89 @@ # GetRecentlyAddedMetadata +Unknown + + ## Example Usage ```typescript import { - EnableCreditsMarkerGeneration, - EpisodeSort, - FlattenSeasons, GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsType, GetRecentlyAddedMetadata, - ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetRecentlyAddedMetadata = { - 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: GetRecentlyAddedHubsType.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: FlattenSeasons.Show, - episodeSort: EpisodeSort.OldestFirst, - enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: ShowOrdering.TvdbAbsolute, - thumb: "/library/metadata/58683/thumb/1703239236", - art: "/library/metadata/58683/art/1703239236", - banner: "/library/metadata/58683/banner/1703239236", - duration: 11558112, - originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"), addedAt: 1556281940, - updatedAt: 1556281940, + art: "/library/metadata/58683/art/1703239236", audienceRatingImage: "rottentomatoes://image.rating.upright", + audienceRating: 9.2, chapterSource: "media", - primaryExtraKey: "/library/metadata/58684", - ratingImage: "rottentomatoes://image.rating.ripe", - grandparentRatingKey: "66", + childCount: 1, + contentRating: "PG-13", + createdAtAccuracy: "epoch,local", + createdAtTZOffset: "0", + duration: 11558112, + grandparentArt: "/library/metadata/66/art/1705716261", grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4", grandparentKey: "/library/metadata/66", - grandparentTitle: "Caprica", - grandparentThumb: "/library/metadata/66/thumb/1705716261", - parentSlug: "alice-in-borderland-2020", + grandparentRatingKey: "66", grandparentSlug: "alice-in-borderland-2020", - grandparentArt: "/library/metadata/66/art/1705716261", grandparentTheme: "/library/metadata/66/theme/1705716261", - media: [ + grandparentThumb: "/library/metadata/66/thumb/1705716261", + grandparentTitle: "Caprica", + guid: "plex://movie/5d7768ba96b655001fdc0408", + index: 1, + key: "/library/metadata/58683", + lastRatedAt: 1721813113, + lastViewedAt: 1682752242, + leafCount: 14, + librarySectionID: 1, + librarySectionKey: "/library/sections/1", + librarySectionTitle: "Movies", + originalTitle: "映画 ブラッククローバー 魔法帝の剣", + originallyAvailableAt: new RFCDate("2022-12-14"), + parentGuid: "plex://show/5d9c081b170e24001f2a7be4", + parentIndex: 1, + parentKey: "/library/metadata/66", + parentRatingKey: "66", + parentSlug: "alice-in-borderland-2020", + parentStudio: "UCP", + parentTheme: "/library/metadata/66/theme/1705716261", + parentThumb: "/library/metadata/66/thumb/1705716261", + parentTitle: "Caprica", + parentYear: 2010, + primaryExtraKey: "/library/metadata/58684", + ratingImage: "rottentomatoes://image.rating.ripe", + ratingKey: "58683", + rating: 7.6, + seasonCount: 2022, + skipCount: 1, + slug: "4-for-texas", + studio: "20th Century Studios", + subtype: "clip", + summary: + "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n" + + "Once a familiar threat returns to finish what was previously started, Jake must\n" + + "work with Neytiri and the army of the Na'vi race to protect their home.\n" + + "", + tagline: "Return to Pandora.", + theme: "/library/metadata/1/theme/1705636920", + thumb: "/library/metadata/58683/thumb/1703239236", + titleSort: "Whale", + title: "Avatar: The Way of Water", + type: GetRecentlyAddedHubsType.Movie, + updatedAt: 1556281940, + userRating: 10, + viewCount: 1, + viewOffset: 5222500, + viewedLeafCount: 0, + year: 2022, + image: [ { - 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, - 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", - 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", - }, - ], - country: [ - { - tag: "United States of America", - }, - ], - director: [ - { - 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", - }, - ], - location: [ - { - path: "/TV Shows/House", - }, - ], - mediaGuid: [ - { - id: "imdb://tt13015952", + alt: "Episode 1", + type: GetRecentlyAddedHubsResponseType.Background, + url: "/library/metadata/45521/thumb/1644710589", }, ], ultraBlurColors: { @@ -188,122 +92,253 @@ let value: GetRecentlyAddedMetadata = { bottomRight: "73958", bottomLeft: "1f5066", }, - metaDataRating: [ + media: [ { - image: "themoviedb://image.rating", - value: 3, + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, + aspectRatio: 2.35, + audioChannels: 6, + displayOffset: 50, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: false, + audioProfile: "dts", + has64bitOffsets: false, + part: [ + { + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, + container: "mkv", + videoProfile: "main 10", + audioProfile: "dts", + has64bitOffsets: false, + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", + samplingRate: 48000, + canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", + }, + ], + }, + ], + }, + ], + genre: [ + { + id: 259, + filter: "genre=19", + tag: "Crime", + }, + ], + country: [ + { + id: 259, + tag: "United States of America", + filter: "country=19", + }, + ], + director: [ + { + tag: "Danny Boyle", + }, + ], + writer: [ + { + id: 126522, + filter: "writer=126522", + tag: "Jamie P. Hanson", + tagKey: "5d77683d85719b001f3a535e", + }, + ], + role: [ + { + id: 126522, + filter: "actor=126522", + tag: "Teller", + tagKey: "5d77683d85719b001f3a535e", + role: "Self - Judge", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + producer: [ + { + id: 126522, + filter: "producer=126522", + tag: "Amelia Knapp", + tagKey: "5d77683d85719b001f3a535e", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + rating1: [ + { + image: "imdb://image.rating", + value: 5.1, type: "audience", }, ], - image: [ + similar: [ { - alt: "Episode 1", - type: GetRecentlyAddedHubsResponseType.Background, - url: "/library/metadata/45521/thumb/1644710589", + id: 259, + filter: "similar=259", + tag: "Criss Angel Mindfreak", + }, + ], + location: [ + { + path: "/TV Shows/Clarkson's Farm", + }, + ], + guids: [ + { + id: "tvdb://2337", + }, + ], + collection: [ + { + tag: "My Awesome Collection", }, ], - 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", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ratingKey` | *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` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `skipChildren` | *boolean* | :heavy_minus_sign: | N/A | false | -| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `type` | [operations.GetRecentlyAddedHubsType](../../../sdk/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` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | -| `contentRating` | *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` | *number* | :heavy_minus_sign: | N/A | 7.6 | -| `audienceRating` | *number* | :heavy_minus_sign: | N/A | 9.2 | -| `year` | *number* | :heavy_minus_sign: | N/A | 2022 | -| `seasonCount` | *number* | :heavy_minus_sign: | N/A | 2022 | -| `tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `flattenSeasons` | [operations.FlattenSeasons](../../../sdk/models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `episodeSort` | [operations.EpisodeSort](../../../sdk/models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `enableCreditsMarkerGeneration` | [operations.EnableCreditsMarkerGeneration](../../../sdk/models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `showOrdering` | [operations.ShowOrdering](../../../sdk/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)).
| absolute | -| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 | -| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `addedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | -| `audienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `chapterSource` | *string* | :heavy_minus_sign: | N/A | media | -| `primaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `ratingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `grandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | -| `grandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `grandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `grandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | -| `grandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | -| `grandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `media` | [operations.Media](../../../sdk/models/operations/media.md)[] | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | -| `genre` | [operations.Genre](../../../sdk/models/operations/genre.md)[] | :heavy_minus_sign: | N/A | | -| `country` | [operations.Country](../../../sdk/models/operations/country.md)[] | :heavy_minus_sign: | N/A | | -| `director` | [operations.Director](../../../sdk/models/operations/director.md)[] | :heavy_minus_sign: | N/A | | -| `writer` | [operations.Writer](../../../sdk/models/operations/writer.md)[] | :heavy_minus_sign: | N/A | | -| `collection` | [operations.Collection](../../../sdk/models/operations/collection.md)[] | :heavy_minus_sign: | N/A | | -| `role` | [operations.Role](../../../sdk/models/operations/role.md)[] | :heavy_minus_sign: | N/A | | -| `location` | [operations.Location](../../../sdk/models/operations/location.md)[] | :heavy_minus_sign: | N/A | | -| `mediaGuid` | [operations.MediaGuid](../../../sdk/models/operations/mediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `ultraBlurColors` | [operations.UltraBlurColors](../../../sdk/models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `metaDataRating` | [operations.MetaDataRating](../../../sdk/models/operations/metadatarating.md)[] | :heavy_minus_sign: | N/A | | -| `image` | [operations.GetRecentlyAddedImage](../../../sdk/models/operations/getrecentlyaddedimage.md)[] | :heavy_minus_sign: | N/A | | -| `titleSort` | *string* | :heavy_minus_sign: | N/A | Whale | -| `viewCount` | *number* | :heavy_minus_sign: | N/A | 1 | -| `lastViewedAt` | *number* | :heavy_minus_sign: | N/A | 1682752242 | -| `originalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `viewOffset` | *number* | :heavy_minus_sign: | N/A | 5222500 | -| `skipCount` | *number* | :heavy_minus_sign: | N/A | 1 | -| `index` | *number* | :heavy_minus_sign: | N/A | 1 | -| `theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | -| `leafCount` | *number* | :heavy_minus_sign: | N/A | 14 | -| `viewedLeafCount` | *number* | :heavy_minus_sign: | N/A | 0 | -| `childCount` | *number* | :heavy_minus_sign: | N/A | 1 | -| `hasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | -| `hasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | -| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | -| `parentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `parentStudio` | *string* | :heavy_minus_sign: | N/A | UCP | -| `parentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `parentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | -| `parentIndex` | *number* | :heavy_minus_sign: | N/A | 1 | -| `parentYear` | *number* | :heavy_minus_sign: | N/A | 2010 | -| `parentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `addedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 | +| `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `audienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `chapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `childCount` | *number* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `contentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `createdAtAccuracy` | *string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `createdAtTZOffset` | *string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `duration` | *number* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `grandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `grandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `grandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `grandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `grandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `index` | *number* | :heavy_check_mark: | The index position of the media item. | 1 | +| `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `lastRatedAt` | *number* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `leafCount` | *number* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `librarySectionID` | *number* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `librarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | +| `originalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `parentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `parentIndex` | *number* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `parentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `parentSlug` | *string* | :heavy_minus_sign: | The slug for the parent media item. | alice-in-borderland-2020 | +| `parentStudio` | *string* | :heavy_check_mark: | The studio of the parent media item. | UCP | +| `parentTheme` | *string* | :heavy_check_mark: | The theme URL for the parent media item. | /library/metadata/66/theme/1705716261 | +| `parentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `parentYear` | *number* | :heavy_minus_sign: | The release year of the parent media item. | 2010 | +| `primaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `ratingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `rating` | *number* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `seasonCount` | *number* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `skipCount` | *number* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `subtype` | *string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | 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.
| +| `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `type` | [operations.GetRecentlyAddedHubsType](../../../sdk/models/operations/getrecentlyaddedhubstype.md) | :heavy_check_mark: | N/A | movie | +| `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `userRating` | *number* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `viewCount` | *number* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `viewOffset` | *number* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `year` | *number* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `image` | [operations.GetRecentlyAddedImage](../../../sdk/models/operations/getrecentlyaddedimage.md)[] | :heavy_minus_sign: | N/A | | +| `ultraBlurColors` | [operations.UltraBlurColors](../../../sdk/models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `media` | [operations.Media](../../../sdk/models/operations/media.md)[] | :heavy_minus_sign: | N/A | | +| `genre` | [operations.Genre](../../../sdk/models/operations/genre.md)[] | :heavy_minus_sign: | N/A | | +| `country` | [operations.Country](../../../sdk/models/operations/country.md)[] | :heavy_minus_sign: | N/A | | +| `director` | [operations.Director](../../../sdk/models/operations/director.md)[] | :heavy_minus_sign: | N/A | | +| `writer` | [operations.Writer](../../../sdk/models/operations/writer.md)[] | :heavy_minus_sign: | N/A | | +| `role` | [operations.Role](../../../sdk/models/operations/role.md)[] | :heavy_minus_sign: | N/A | | +| `producer` | [operations.Producer](../../../sdk/models/operations/producer.md)[] | :heavy_minus_sign: | N/A | | +| `rating1` | [operations.Rating](../../../sdk/models/operations/rating.md)[] | :heavy_minus_sign: | N/A | | +| `similar` | [operations.Similar](../../../sdk/models/operations/similar.md)[] | :heavy_minus_sign: | N/A | | +| `location` | [operations.Location](../../../sdk/models/operations/location.md)[] | :heavy_minus_sign: | N/A | | +| `guids` | [operations.Guids](../../../sdk/models/operations/guids.md)[] | :heavy_minus_sign: | N/A | | +| `collection` | [operations.Collection](../../../sdk/models/operations/collection.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming.md b/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming.md new file mode 100644 index 00000000..81aefd4c --- /dev/null +++ b/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming.md @@ -0,0 +1,20 @@ +# GetRecentlyAddedOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + +## Supported Types + +### `operations.GetRecentlyAddedOptimizedForStreaming1` + +```typescript +const value: operations.GetRecentlyAddedOptimizedForStreaming1 = + GetRecentlyAddedOptimizedForStreaming1.One; +``` + +### `boolean` + +```typescript +const value: boolean = false; +``` + diff --git a/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming1.md b/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming1.md new file mode 100644 index 00000000..9eaaca0d --- /dev/null +++ b/docs/sdk/models/operations/getrecentlyaddedoptimizedforstreaming1.md @@ -0,0 +1,17 @@ +# GetRecentlyAddedOptimizedForStreaming1 + +## Example Usage + +```typescript +import { GetRecentlyAddedOptimizedForStreaming1 } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetRecentlyAddedOptimizedForStreaming1 = + GetRecentlyAddedOptimizedForStreaming1.Zero; +``` + +## Values + +| Name | Value | +| ------ | ------ | +| `Zero` | 0 | +| `One` | 1 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getrecentlyaddedresponse.md b/docs/sdk/models/operations/getrecentlyaddedresponse.md index 316a6c96..400c8583 100644 --- a/docs/sdk/models/operations/getrecentlyaddedresponse.md +++ b/docs/sdk/models/operations/getrecentlyaddedresponse.md @@ -4,27 +4,25 @@ ```typescript import { - EnableCreditsMarkerGeneration, - EpisodeSort, - FlattenSeasons, GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsType, GetRecentlyAddedResponse, - ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetRecentlyAddedResponse = { contentType: "", - statusCode: 507, + statusCode: 101, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), object: { mediaContainer: { size: 50, - identifier: "com.plexapp.plugins.library", + totalSize: 50, + offset: 0, allowSync: false, + identifier: "com.plexapp.plugins.library", meta: { type: [ { @@ -77,172 +75,76 @@ let value: GetRecentlyAddedResponse = { }, 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: GetRecentlyAddedHubsType.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: FlattenSeasons.Show, - episodeSort: EpisodeSort.OldestFirst, - enableCreditsMarkerGeneration: - EnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: ShowOrdering.TvdbAbsolute, - thumb: "/library/metadata/58683/thumb/1703239236", - art: "/library/metadata/58683/art/1703239236", - banner: "/library/metadata/58683/banner/1703239236", - duration: 11558112, - originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"), addedAt: 1556281940, - updatedAt: 1556281940, + art: "/library/metadata/58683/art/1703239236", audienceRatingImage: "rottentomatoes://image.rating.upright", + audienceRating: 9.2, chapterSource: "media", - primaryExtraKey: "/library/metadata/58684", - ratingImage: "rottentomatoes://image.rating.ripe", - grandparentRatingKey: "66", + childCount: 1, + contentRating: "PG-13", + createdAtAccuracy: "epoch,local", + createdAtTZOffset: "0", + duration: 11558112, + grandparentArt: "/library/metadata/66/art/1705716261", grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4", grandparentKey: "/library/metadata/66", - grandparentTitle: "Caprica", - grandparentThumb: "/library/metadata/66/thumb/1705716261", - parentSlug: "alice-in-borderland-2020", + grandparentRatingKey: "66", grandparentSlug: "alice-in-borderland-2020", - grandparentArt: "/library/metadata/66/art/1705716261", grandparentTheme: "/library/metadata/66/theme/1705716261", - media: [ + grandparentThumb: "/library/metadata/66/thumb/1705716261", + grandparentTitle: "Caprica", + guid: "plex://movie/5d7768ba96b655001fdc0408", + index: 1, + key: "/library/metadata/58683", + lastRatedAt: 1721813113, + lastViewedAt: 1682752242, + leafCount: 14, + librarySectionID: 1, + librarySectionKey: "/library/sections/1", + librarySectionTitle: "Movies", + originalTitle: "映画 ブラッククローバー 魔法帝の剣", + originallyAvailableAt: new RFCDate("2022-12-14"), + parentGuid: "plex://show/5d9c081b170e24001f2a7be4", + parentIndex: 1, + parentKey: "/library/metadata/66", + parentRatingKey: "66", + parentSlug: "alice-in-borderland-2020", + parentStudio: "UCP", + parentTheme: "/library/metadata/66/theme/1705716261", + parentThumb: "/library/metadata/66/thumb/1705716261", + parentTitle: "Caprica", + parentYear: 2010, + primaryExtraKey: "/library/metadata/58684", + ratingImage: "rottentomatoes://image.rating.ripe", + ratingKey: "58683", + rating: 7.6, + seasonCount: 2022, + skipCount: 1, + slug: "4-for-texas", + studio: "20th Century Studios", + subtype: "clip", + summary: + "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n" + + "Once a familiar threat returns to finish what was previously started, Jake must\n" + + "work with Neytiri and the army of the Na'vi race to protect their home.\n" + + "", + tagline: "Return to Pandora.", + theme: "/library/metadata/1/theme/1705636920", + thumb: "/library/metadata/58683/thumb/1703239236", + titleSort: "Whale", + title: "Avatar: The Way of Water", + type: GetRecentlyAddedHubsType.Movie, + updatedAt: 1556281940, + userRating: 10, + viewCount: 1, + viewOffset: 5222500, + viewedLeafCount: 0, + year: 2022, + image: [ { - 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, - 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", - 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", - }, - ], - country: [ - { - tag: "United States of America", - }, - ], - director: [ - { - 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", - }, - ], - location: [ - { - path: "/TV Shows/House", - }, - ], - mediaGuid: [ - { - id: "imdb://tt13015952", + alt: "Episode 1", + type: GetRecentlyAddedHubsResponseType.Background, + url: "/library/metadata/45521/thumb/1644710589", }, ], ultraBlurColors: { @@ -251,42 +153,174 @@ let value: GetRecentlyAddedResponse = { bottomRight: "73958", bottomLeft: "1f5066", }, - metaDataRating: [ + media: [ { - image: "themoviedb://image.rating", - value: 3, + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, + aspectRatio: 2.35, + audioChannels: 6, + displayOffset: 50, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: false, + audioProfile: "dts", + has64bitOffsets: false, + part: [ + { + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, + container: "mkv", + videoProfile: "main 10", + audioProfile: "dts", + has64bitOffsets: false, + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", + samplingRate: 48000, + canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", + }, + ], + }, + ], + }, + ], + genre: [ + { + id: 259, + filter: "genre=19", + tag: "Crime", + }, + ], + country: [ + { + id: 259, + tag: "United States of America", + filter: "country=19", + }, + ], + director: [ + { + tag: "Danny Boyle", + }, + ], + writer: [ + { + id: 126522, + filter: "writer=126522", + tag: "Jamie P. Hanson", + tagKey: "5d77683d85719b001f3a535e", + }, + ], + role: [ + { + id: 126522, + filter: "actor=126522", + tag: "Teller", + tagKey: "5d77683d85719b001f3a535e", + role: "Self - Judge", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + producer: [ + { + id: 126522, + filter: "producer=126522", + tag: "Amelia Knapp", + tagKey: "5d77683d85719b001f3a535e", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + rating1: [ + { + image: "imdb://image.rating", + value: 5.1, type: "audience", }, ], - image: [ + similar: [ { - alt: "Episode 1", - type: GetRecentlyAddedHubsResponseType.Background, - url: "/library/metadata/45521/thumb/1644710589", + id: 259, + filter: "similar=259", + tag: "Criss Angel Mindfreak", + }, + ], + location: [ + { + path: "/TV Shows/Clarkson's Farm", + }, + ], + guids: [ + { + id: "tvdb://2337", + }, + ], + collection: [ + { + tag: "My Awesome Collection", }, ], - 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", }, ], }, diff --git a/docs/sdk/models/operations/getrecentlyaddedresponsebody.md b/docs/sdk/models/operations/getrecentlyaddedresponsebody.md index 05d64862..c1bbbdde 100644 --- a/docs/sdk/models/operations/getrecentlyaddedresponsebody.md +++ b/docs/sdk/models/operations/getrecentlyaddedresponsebody.md @@ -6,21 +6,19 @@ A successful response with recently added content. ```typescript import { - EnableCreditsMarkerGeneration, - EpisodeSort, - FlattenSeasons, GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsType, GetRecentlyAddedResponseBody, - ShowOrdering, } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetRecentlyAddedResponseBody = { mediaContainer: { size: 50, - identifier: "com.plexapp.plugins.library", + totalSize: 50, + offset: 0, allowSync: false, + identifier: "com.plexapp.plugins.library", meta: { type: [ { @@ -73,172 +71,76 @@ let value: GetRecentlyAddedResponseBody = { }, 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: GetRecentlyAddedHubsType.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: FlattenSeasons.Show, - episodeSort: EpisodeSort.OldestFirst, - enableCreditsMarkerGeneration: - EnableCreditsMarkerGeneration.LibraryDefault, - showOrdering: ShowOrdering.TvdbAbsolute, - thumb: "/library/metadata/58683/thumb/1703239236", - art: "/library/metadata/58683/art/1703239236", - banner: "/library/metadata/58683/banner/1703239236", - duration: 11558112, - originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"), addedAt: 1556281940, - updatedAt: 1556281940, + art: "/library/metadata/58683/art/1703239236", audienceRatingImage: "rottentomatoes://image.rating.upright", + audienceRating: 9.2, chapterSource: "media", - primaryExtraKey: "/library/metadata/58684", - ratingImage: "rottentomatoes://image.rating.ripe", - grandparentRatingKey: "66", + childCount: 1, + contentRating: "PG-13", + createdAtAccuracy: "epoch,local", + createdAtTZOffset: "0", + duration: 11558112, + grandparentArt: "/library/metadata/66/art/1705716261", grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4", grandparentKey: "/library/metadata/66", - grandparentTitle: "Caprica", - grandparentThumb: "/library/metadata/66/thumb/1705716261", - parentSlug: "alice-in-borderland-2020", + grandparentRatingKey: "66", grandparentSlug: "alice-in-borderland-2020", - grandparentArt: "/library/metadata/66/art/1705716261", grandparentTheme: "/library/metadata/66/theme/1705716261", - media: [ + grandparentThumb: "/library/metadata/66/thumb/1705716261", + grandparentTitle: "Caprica", + guid: "plex://movie/5d7768ba96b655001fdc0408", + index: 1, + key: "/library/metadata/58683", + lastRatedAt: 1721813113, + lastViewedAt: 1682752242, + leafCount: 14, + librarySectionID: 1, + librarySectionKey: "/library/sections/1", + librarySectionTitle: "Movies", + originalTitle: "映画 ブラッククローバー 魔法帝の剣", + originallyAvailableAt: new RFCDate("2022-12-14"), + parentGuid: "plex://show/5d9c081b170e24001f2a7be4", + parentIndex: 1, + parentKey: "/library/metadata/66", + parentRatingKey: "66", + parentSlug: "alice-in-borderland-2020", + parentStudio: "UCP", + parentTheme: "/library/metadata/66/theme/1705716261", + parentThumb: "/library/metadata/66/thumb/1705716261", + parentTitle: "Caprica", + parentYear: 2010, + primaryExtraKey: "/library/metadata/58684", + ratingImage: "rottentomatoes://image.rating.ripe", + ratingKey: "58683", + rating: 7.6, + seasonCount: 2022, + skipCount: 1, + slug: "4-for-texas", + studio: "20th Century Studios", + subtype: "clip", + summary: + "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n" + + "Once a familiar threat returns to finish what was previously started, Jake must\n" + + "work with Neytiri and the army of the Na'vi race to protect their home.\n" + + "", + tagline: "Return to Pandora.", + theme: "/library/metadata/1/theme/1705636920", + thumb: "/library/metadata/58683/thumb/1703239236", + titleSort: "Whale", + title: "Avatar: The Way of Water", + type: GetRecentlyAddedHubsType.Movie, + updatedAt: 1556281940, + userRating: 10, + viewCount: 1, + viewOffset: 5222500, + viewedLeafCount: 0, + year: 2022, + image: [ { - 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, - 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", - 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", - }, - ], - country: [ - { - tag: "United States of America", - }, - ], - director: [ - { - 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", - }, - ], - location: [ - { - path: "/TV Shows/House", - }, - ], - mediaGuid: [ - { - id: "imdb://tt13015952", + alt: "Episode 1", + type: GetRecentlyAddedHubsResponseType.Background, + url: "/library/metadata/45521/thumb/1644710589", }, ], ultraBlurColors: { @@ -247,42 +149,174 @@ let value: GetRecentlyAddedResponseBody = { bottomRight: "73958", bottomLeft: "1f5066", }, - metaDataRating: [ + media: [ { - image: "themoviedb://image.rating", - value: 3, + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, + aspectRatio: 2.35, + audioChannels: 6, + displayOffset: 50, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: false, + audioProfile: "dts", + has64bitOffsets: false, + part: [ + { + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, + container: "mkv", + videoProfile: "main 10", + audioProfile: "dts", + has64bitOffsets: false, + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", + samplingRate: 48000, + canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", + }, + ], + }, + ], + }, + ], + genre: [ + { + id: 259, + filter: "genre=19", + tag: "Crime", + }, + ], + country: [ + { + id: 259, + tag: "United States of America", + filter: "country=19", + }, + ], + director: [ + { + tag: "Danny Boyle", + }, + ], + writer: [ + { + id: 126522, + filter: "writer=126522", + tag: "Jamie P. Hanson", + tagKey: "5d77683d85719b001f3a535e", + }, + ], + role: [ + { + id: 126522, + filter: "actor=126522", + tag: "Teller", + tagKey: "5d77683d85719b001f3a535e", + role: "Self - Judge", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + producer: [ + { + id: 126522, + filter: "producer=126522", + tag: "Amelia Knapp", + tagKey: "5d77683d85719b001f3a535e", + thumb: + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", + }, + ], + rating1: [ + { + image: "imdb://image.rating", + value: 5.1, type: "audience", }, ], - image: [ + similar: [ { - alt: "Episode 1", - type: GetRecentlyAddedHubsResponseType.Background, - url: "/library/metadata/45521/thumb/1644710589", + id: 259, + filter: "similar=259", + tag: "Criss Angel Mindfreak", + }, + ], + location: [ + { + path: "/TV Shows/Clarkson's Farm", + }, + ], + guids: [ + { + id: "tvdb://2337", + }, + ], + collection: [ + { + tag: "My Awesome Collection", }, ], - 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", }, ], }, diff --git a/docs/sdk/models/operations/getrefreshlibrarymetadatarequest.md b/docs/sdk/models/operations/getrefreshlibrarymetadatarequest.md index 8d977e6e..695f2fb0 100644 --- a/docs/sdk/models/operations/getrefreshlibrarymetadatarequest.md +++ b/docs/sdk/models/operations/getrefreshlibrarymetadatarequest.md @@ -6,7 +6,7 @@ import { Force, GetRefreshLibraryMetadataRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetRefreshLibraryMetadataRequest = { - force: Force.One, + force: Force.Zero, sectionKey: 9518, }; ``` diff --git a/docs/sdk/models/operations/getrefreshlibrarymetadataresponse.md b/docs/sdk/models/operations/getrefreshlibrarymetadataresponse.md index 88d7370a..bfd712e6 100644 --- a/docs/sdk/models/operations/getrefreshlibrarymetadataresponse.md +++ b/docs/sdk/models/operations/getrefreshlibrarymetadataresponse.md @@ -7,7 +7,7 @@ import { GetRefreshLibraryMetadataResponse } from "@lukehagar/plexjs/sdk/models/ let value: GetRefreshLibraryMetadataResponse = { contentType: "", - statusCode: 300, + statusCode: 428, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getresourcesstatisticsresponse.md b/docs/sdk/models/operations/getresourcesstatisticsresponse.md index 505abc8d..f64ca67d 100644 --- a/docs/sdk/models/operations/getresourcesstatisticsresponse.md +++ b/docs/sdk/models/operations/getresourcesstatisticsresponse.md @@ -7,7 +7,7 @@ import { GetResourcesStatisticsResponse } from "@lukehagar/plexjs/sdk/models/ope let value: GetResourcesStatisticsResponse = { contentType: "", - statusCode: 103, + statusCode: 424, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getsearchalllibrariesmediacontainer.md b/docs/sdk/models/operations/getsearchalllibrariesmediacontainer.md index 85eacf9c..fd73b5c2 100644 --- a/docs/sdk/models/operations/getsearchalllibrariesmediacontainer.md +++ b/docs/sdk/models/operations/getsearchalllibrariesmediacontainer.md @@ -15,10 +15,10 @@ import { import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetSearchAllLibrariesMediaContainer = { - size: 543.38, + size: 2239.24, searchResult: [ { - score: 1999.96, + score: 3453.52, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchalllibrariesresponse.md b/docs/sdk/models/operations/getsearchalllibrariesresponse.md index aa5e2f88..3f2137c9 100644 --- a/docs/sdk/models/operations/getsearchalllibrariesresponse.md +++ b/docs/sdk/models/operations/getsearchalllibrariesresponse.md @@ -16,16 +16,16 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetSearchAllLibrariesResponse = { contentType: "", - statusCode: 203, + statusCode: 100, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), object: { mediaContainer: { - size: 9280.82, + size: 6214.79, searchResult: [ { - score: 7044.15, + score: 5772.29, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md b/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md index ac19a731..bffcaa98 100644 --- a/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md +++ b/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md @@ -18,10 +18,10 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetSearchAllLibrariesResponseBody = { mediaContainer: { - size: 185.21, + size: 9280.82, searchResult: [ { - score: 7936.98, + score: 7044.15, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchlibraryresponse.md b/docs/sdk/models/operations/getsearchlibraryresponse.md index a957fdda..45942f5c 100644 --- a/docs/sdk/models/operations/getsearchlibraryresponse.md +++ b/docs/sdk/models/operations/getsearchlibraryresponse.md @@ -7,7 +7,7 @@ import { GetSearchLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation let value: GetSearchLibraryResponse = { contentType: "", - statusCode: 413, + statusCode: 510, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getsearchresultsresponse.md b/docs/sdk/models/operations/getsearchresultsresponse.md index 303227ea..088bfc74 100644 --- a/docs/sdk/models/operations/getsearchresultsresponse.md +++ b/docs/sdk/models/operations/getsearchresultsresponse.md @@ -7,7 +7,7 @@ import { GetSearchResultsResponse } from "@lukehagar/plexjs/sdk/models/operation let value: GetSearchResultsResponse = { contentType: "", - statusCode: 205, + statusCode: 418, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getsessionhistoryresponse.md b/docs/sdk/models/operations/getsessionhistoryresponse.md index fd554a1f..83604169 100644 --- a/docs/sdk/models/operations/getsessionhistoryresponse.md +++ b/docs/sdk/models/operations/getsessionhistoryresponse.md @@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetSessionHistoryResponse = { contentType: "", - statusCode: 101, + statusCode: 510, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getsessionsresponse.md b/docs/sdk/models/operations/getsessionsresponse.md index 44484669..63a65810 100644 --- a/docs/sdk/models/operations/getsessionsresponse.md +++ b/docs/sdk/models/operations/getsessionsresponse.md @@ -7,7 +7,7 @@ import { GetSessionsResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetSessionsResponse = { contentType: "", - statusCode: 205, + statusCode: 101, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getsourceconnectioninformationresponse.md b/docs/sdk/models/operations/getsourceconnectioninformationresponse.md index c4e55fe2..3288e0d0 100644 --- a/docs/sdk/models/operations/getsourceconnectioninformationresponse.md +++ b/docs/sdk/models/operations/getsourceconnectioninformationresponse.md @@ -7,7 +7,7 @@ import { GetSourceConnectionInformationResponse } from "@lukehagar/plexjs/sdk/mo let value: GetSourceConnectionInformationResponse = { contentType: "", - statusCode: 301, + statusCode: 101, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getstatisticsresponse.md b/docs/sdk/models/operations/getstatisticsresponse.md index 7ae63dd1..c937e45c 100644 --- a/docs/sdk/models/operations/getstatisticsresponse.md +++ b/docs/sdk/models/operations/getstatisticsresponse.md @@ -7,7 +7,7 @@ import { GetStatisticsResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetStatisticsResponse = { contentType: "", - statusCode: 201, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/gettokendetailsresponse.md b/docs/sdk/models/operations/gettokendetailsresponse.md index 57ac593f..7ea32d4d 100644 --- a/docs/sdk/models/operations/gettokendetailsresponse.md +++ b/docs/sdk/models/operations/gettokendetailsresponse.md @@ -13,7 +13,7 @@ import { let value: GetTokenDetailsResponse = { contentType: "", - statusCode: 303, + statusCode: 508, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), @@ -31,7 +31,7 @@ let value: GetTokenDetailsResponse = { homeSize: 1, id: 13692262, joinedAt: 1556281940, - locale: "no", + locale: "pl", mailingListStatus: MailingListStatus.Active, maxHomeSize: 15, profile: { diff --git a/docs/sdk/models/operations/gettokendetailsuserplexaccount.md b/docs/sdk/models/operations/gettokendetailsuserplexaccount.md index b3652167..33961c4c 100644 --- a/docs/sdk/models/operations/gettokendetailsuserplexaccount.md +++ b/docs/sdk/models/operations/gettokendetailsuserplexaccount.md @@ -27,7 +27,7 @@ let value: GetTokenDetailsUserPlexAccount = { homeSize: 1, id: 13692262, joinedAt: 1556281940, - locale: "fr", + locale: "ja", mailingListStatus: MailingListStatus.Active, maxHomeSize: 15, profile: { diff --git a/docs/sdk/models/operations/gettopwatchedcontentresponse.md b/docs/sdk/models/operations/gettopwatchedcontentresponse.md index 8fd10250..9afa8744 100644 --- a/docs/sdk/models/operations/gettopwatchedcontentresponse.md +++ b/docs/sdk/models/operations/gettopwatchedcontentresponse.md @@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: GetTopWatchedContentResponse = { contentType: "", - statusCode: 409, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/gettranscodesessionsresponse.md b/docs/sdk/models/operations/gettranscodesessionsresponse.md index 59e51346..75b913c0 100644 --- a/docs/sdk/models/operations/gettranscodesessionsresponse.md +++ b/docs/sdk/models/operations/gettranscodesessionsresponse.md @@ -7,7 +7,7 @@ import { GetTranscodeSessionsResponse } from "@lukehagar/plexjs/sdk/models/opera let value: GetTranscodeSessionsResponse = { contentType: "", - statusCode: 510, + statusCode: 226, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/gettransienttokenresponse.md b/docs/sdk/models/operations/gettransienttokenresponse.md index 43cff5fe..545b3d3f 100644 --- a/docs/sdk/models/operations/gettransienttokenresponse.md +++ b/docs/sdk/models/operations/gettransienttokenresponse.md @@ -7,7 +7,7 @@ import { GetTransientTokenResponse } from "@lukehagar/plexjs/sdk/models/operatio let value: GetTransientTokenResponse = { contentType: "", - statusCode: 102, + statusCode: 205, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getupdatestatusresponse.md b/docs/sdk/models/operations/getupdatestatusresponse.md index 75585685..1451f267 100644 --- a/docs/sdk/models/operations/getupdatestatusresponse.md +++ b/docs/sdk/models/operations/getupdatestatusresponse.md @@ -7,7 +7,7 @@ import { GetUpdateStatusResponse } from "@lukehagar/plexjs/sdk/models/operations let value: GetUpdateStatusResponse = { contentType: "", - statusCode: 226, + statusCode: 508, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getusersresponse.md b/docs/sdk/models/operations/getusersresponse.md index 21d3ab96..af29f462 100644 --- a/docs/sdk/models/operations/getusersresponse.md +++ b/docs/sdk/models/operations/getusersresponse.md @@ -7,7 +7,7 @@ import { GetUsersResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetUsersResponse = { contentType: "", - statusCode: 208, + statusCode: 400, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getwatchlistresponse.md b/docs/sdk/models/operations/getwatchlistresponse.md index 5029a580..abf190db 100644 --- a/docs/sdk/models/operations/getwatchlistresponse.md +++ b/docs/sdk/models/operations/getwatchlistresponse.md @@ -7,7 +7,7 @@ import { GetWatchListResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetWatchListResponse = { contentType: "", - statusCode: 200, + statusCode: 302, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/hasthumbnail.md b/docs/sdk/models/operations/hasthumbnail.md index 9f368e56..a2394e71 100644 --- a/docs/sdk/models/operations/hasthumbnail.md +++ b/docs/sdk/models/operations/hasthumbnail.md @@ -1,5 +1,7 @@ # HasThumbnail +Indicates if the part has a thumbnail. + ## Example Usage ```typescript diff --git a/docs/sdk/models/operations/includecollections.md b/docs/sdk/models/operations/includecollections.md index 2740d703..0cb6ec30 100644 --- a/docs/sdk/models/operations/includecollections.md +++ b/docs/sdk/models/operations/includecollections.md @@ -8,7 +8,7 @@ include collections in the results ```typescript import { IncludeCollections } from "@lukehagar/plexjs/sdk/models/operations"; -let value: IncludeCollections = IncludeCollections.Zero; +let value: IncludeCollections = IncludeCollections.One; ``` ## Values diff --git a/docs/sdk/models/operations/includedetails.md b/docs/sdk/models/operations/includedetails.md index 2074e151..b9055091 100644 --- a/docs/sdk/models/operations/includedetails.md +++ b/docs/sdk/models/operations/includedetails.md @@ -9,7 +9,7 @@ Only exists for backwards compatibility, media providers other than the server l ```typescript import { IncludeDetails } from "@lukehagar/plexjs/sdk/models/operations"; -let value: IncludeDetails = IncludeDetails.Zero; +let value: IncludeDetails = IncludeDetails.One; ``` ## Values diff --git a/docs/sdk/models/operations/level.md b/docs/sdk/models/operations/level.md index 861ffd0b..bab6f656 100644 --- a/docs/sdk/models/operations/level.md +++ b/docs/sdk/models/operations/level.md @@ -13,7 +13,7 @@ An integer log level to write to the PMS log with. ```typescript import { Level } from "@lukehagar/plexjs/sdk/models/operations"; -let value: Level = Level.Two; +let value: Level = Level.Three; ``` ## Values diff --git a/docs/sdk/models/operations/libtype.md b/docs/sdk/models/operations/libtype.md index 00bd8379..ff8aa206 100644 --- a/docs/sdk/models/operations/libtype.md +++ b/docs/sdk/models/operations/libtype.md @@ -8,7 +8,7 @@ The type of library to filter. Can be "movie" or "show", or all if not present. ```typescript import { Libtype } from "@lukehagar/plexjs/sdk/models/operations"; -let value: Libtype = Libtype.Show; +let value: Libtype = Libtype.Movie; ``` ## Values diff --git a/docs/sdk/models/operations/location.md b/docs/sdk/models/operations/location.md index d6719a4d..24f519f9 100644 --- a/docs/sdk/models/operations/location.md +++ b/docs/sdk/models/operations/location.md @@ -1,17 +1,19 @@ # Location +The folder path for the media item. + ## Example Usage ```typescript import { Location } from "@lukehagar/plexjs/sdk/models/operations"; let value: Location = { - path: "/TV Shows/House", + path: "/TV Shows/Clarkson's Farm", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `path` | *string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm | \ No newline at end of file diff --git a/docs/sdk/models/operations/loglineresponse.md b/docs/sdk/models/operations/loglineresponse.md index 1dfad548..f782ec34 100644 --- a/docs/sdk/models/operations/loglineresponse.md +++ b/docs/sdk/models/operations/loglineresponse.md @@ -7,7 +7,7 @@ import { LogLineResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: LogLineResponse = { contentType: "", - statusCode: 410, + statusCode: 100, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/logmultilineresponse.md b/docs/sdk/models/operations/logmultilineresponse.md index bc67217d..29c013f1 100644 --- a/docs/sdk/models/operations/logmultilineresponse.md +++ b/docs/sdk/models/operations/logmultilineresponse.md @@ -7,7 +7,7 @@ import { LogMultiLineResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: LogMultiLineResponse = { contentType: "", - statusCode: 100, + statusCode: 102, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/media.md b/docs/sdk/models/operations/media.md index fc6e0be2..aec12ee4 100644 --- a/docs/sdk/models/operations/media.md +++ b/docs/sdk/models/operations/media.md @@ -6,14 +6,14 @@ import { Media } from "@lukehagar/plexjs/sdk/models/operations"; let value: Media = { - id: 119534, - duration: 11558112, - bitrate: 25025, + id: 387322, + duration: 9610350, + bitrate: 25512, width: 3840, - height: 2072, - aspectRatio: 1.85, - audioProfile: "dts", + height: 1602, + aspectRatio: 2.35, audioChannels: 6, + displayOffset: 50, audioCodec: "eac3", videoCodec: "hevc", videoResolution: "4k", @@ -21,61 +21,74 @@ let value: Media = { videoFrameRate: "24p", videoProfile: "main 10", hasVoiceActivity: false, + audioProfile: "dts", 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, + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, container: "mkv", + videoProfile: "main 10", audioProfile: "dts", has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "main 10", - indexes: "sd", stream: [ { - id: 272796, + id: 1002625, streamType: 1, default: true, - selected: true, - codec: "h264", + codec: "hevc", 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, + bitrate: 24743, language: "English", languageTag: "en", languageCode: "eng", - audioChannelLayout: "stereo", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", samplingRate: 48000, - title: "English", canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", }, ], }, @@ -85,23 +98,24 @@ let value: Media = { ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `id` | *number* | :heavy_check_mark: | N/A | 119534 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 | -| `bitrate` | *number* | :heavy_minus_sign: | N/A | 25025 | -| `width` | *number* | :heavy_minus_sign: | N/A | 3840 | -| `height` | *number* | :heavy_minus_sign: | N/A | 2072 | -| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.85 | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | dts | -| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 6 | -| `audioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | -| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | -| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | -| `container` | *string* | :heavy_check_mark: | N/A | mkv | -| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | -| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | N/A | false | -| `optimizedForStreaming` | [operations.OptimizedForStreaming](../../../sdk/models/operations/optimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `part` | [operations.Part](../../../sdk/models/operations/part.md)[] | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *number* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *number* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `width` | *number* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `height` | *number* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `aspectRatio` | *number* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `audioChannels` | *number* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `displayOffset` | *number* | :heavy_minus_sign: | N/A | 50 | +| `audioCodec` | *string* | :heavy_minus_sign: | Audio codec used. | eac3 | +| `videoCodec` | *string* | :heavy_minus_sign: | Video codec used. | hevc | +| `videoResolution` | *string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `container` | *string* | :heavy_minus_sign: | File container type. | mkv | +| `videoFrameRate` | *string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `videoProfile` | *string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `optimizedForStreaming` | *operations.OptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | +| `part` | [operations.Part](../../../sdk/models/operations/part.md)[] | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/one.md b/docs/sdk/models/operations/one.md index 8b1d1ec4..324f4f9e 100644 --- a/docs/sdk/models/operations/one.md +++ b/docs/sdk/models/operations/one.md @@ -5,7 +5,7 @@ ```typescript import { One } from "@lukehagar/plexjs/sdk/models/operations"; -let value: One = One.Zero; +let value: One = One.One; ``` ## Values diff --git a/docs/sdk/models/operations/optimizedforstreaming.md b/docs/sdk/models/operations/optimizedforstreaming.md index 4d233e37..e1170e3c 100644 --- a/docs/sdk/models/operations/optimizedforstreaming.md +++ b/docs/sdk/models/operations/optimizedforstreaming.md @@ -1,16 +1,19 @@ # OptimizedForStreaming -## Example Usage +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + +## Supported Types + +### `operations.One` ```typescript -import { OptimizedForStreaming } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: OptimizedForStreaming = OptimizedForStreaming.Enable; +const value: operations.One = One.One; ``` -## Values +### `boolean` + +```typescript +const value: boolean = false; +``` -| Name | Value | -| --------- | --------- | -| `Disable` | 0 | -| `Enable` | 1 | \ No newline at end of file diff --git a/docs/sdk/models/operations/part.md b/docs/sdk/models/operations/part.md index bc378627..f55ea4e0 100644 --- a/docs/sdk/models/operations/part.md +++ b/docs/sdk/models/operations/part.md @@ -6,58 +6,70 @@ import { Part } from "@lukehagar/plexjs/sdk/models/operations"; let value: 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, + accessible: true, + exists: true, + id: 418385, + key: "/library/parts/418385/1735864239/file.mkv", + indexes: "sd", + duration: 9610350, + file: "/mnt/Movies_1/W/Wicked (2024).mkv", + size: 30649952104, + packetLength: 188, container: "mkv", + videoProfile: "main 10", audioProfile: "dts", has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "main 10", - indexes: "sd", stream: [ { - id: 272796, + id: 1002625, streamType: 1, default: true, - selected: true, - codec: "h264", + codec: "hevc", 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, + bitrate: 24743, language: "English", languageTag: "en", languageCode: "eng", - audioChannelLayout: "stereo", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", samplingRate: 48000, - title: "English", canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", }, ], }; @@ -65,18 +77,21 @@ let value: Part = { ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `id` | *number* | :heavy_check_mark: | N/A | 119542 | -| `key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `duration` | *number* | :heavy_minus_sign: | 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` | *number* | :heavy_check_mark: | N/A | 36158371307 | -| `container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | dts | -| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `optimizedForStreaming` | *boolean* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | -| `indexes` | *string* | :heavy_minus_sign: | N/A | sd | -| `hasThumbnail` | [operations.HasThumbnail](../../../sdk/models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | [operations.Stream](../../../sdk/models/operations/stream.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `accessible` | *boolean* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `exists` | *boolean* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *number* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `indexes` | *string* | :heavy_minus_sign: | N/A | sd | +| `duration` | *number* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | +| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *number* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `packetLength` | *number* | :heavy_minus_sign: | N/A | 188 | +| `container` | *string* | :heavy_minus_sign: | Container format of the part. | mkv | +| `videoProfile` | *string* | :heavy_minus_sign: | Video profile for the part. | main 10 | +| `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | +| `optimizedForStreaming` | *operations.GetRecentlyAddedOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `hasThumbnail` | [operations.HasThumbnail](../../../sdk/models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `stream` | [operations.Stream](../../../sdk/models/operations/stream.md)[] | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/pastsubscription.md b/docs/sdk/models/operations/pastsubscription.md index a439bb7f..cbf337af 100644 --- a/docs/sdk/models/operations/pastsubscription.md +++ b/docs/sdk/models/operations/pastsubscription.md @@ -15,7 +15,7 @@ let value: PastSubscription = { state: PostUsersSignInDataState.Ended, billing: { internalPaymentMethod: {}, - paymentMethodId: 748664, + paymentMethodId: 83422, }, }; ``` diff --git a/docs/sdk/models/operations/performsearchrequest.md b/docs/sdk/models/operations/performsearchrequest.md index 5e514df3..c3181fb9 100644 --- a/docs/sdk/models/operations/performsearchrequest.md +++ b/docs/sdk/models/operations/performsearchrequest.md @@ -6,7 +6,7 @@ import { PerformSearchRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: PerformSearchRequest = { - query: "dylan", + query: "arnold", }; ``` diff --git a/docs/sdk/models/operations/performsearchresponse.md b/docs/sdk/models/operations/performsearchresponse.md index 093fa92d..4cb5d340 100644 --- a/docs/sdk/models/operations/performsearchresponse.md +++ b/docs/sdk/models/operations/performsearchresponse.md @@ -7,7 +7,7 @@ import { PerformSearchResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: PerformSearchResponse = { contentType: "", - statusCode: 206, + statusCode: 205, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/performvoicesearchresponse.md b/docs/sdk/models/operations/performvoicesearchresponse.md index ea1ccdbf..dc9fd5f8 100644 --- a/docs/sdk/models/operations/performvoicesearchresponse.md +++ b/docs/sdk/models/operations/performvoicesearchresponse.md @@ -7,7 +7,7 @@ import { PerformVoiceSearchResponse } from "@lukehagar/plexjs/sdk/models/operati let value: PerformVoiceSearchResponse = { contentType: "", - statusCode: 301, + statusCode: 305, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/playlisttype.md b/docs/sdk/models/operations/playlisttype.md index bb2c3475..a8fea26c 100644 --- a/docs/sdk/models/operations/playlisttype.md +++ b/docs/sdk/models/operations/playlisttype.md @@ -7,7 +7,7 @@ limit to a type of playlist. ```typescript import { PlaylistType } from "@lukehagar/plexjs/sdk/models/operations"; -let value: PlaylistType = PlaylistType.Video; +let value: PlaylistType = PlaylistType.Photo; ``` ## Values diff --git a/docs/sdk/models/operations/postuserssignindataresponse.md b/docs/sdk/models/operations/postuserssignindataresponse.md index 295826bc..6c001cc6 100644 --- a/docs/sdk/models/operations/postuserssignindataresponse.md +++ b/docs/sdk/models/operations/postuserssignindataresponse.md @@ -14,7 +14,7 @@ import { let value: PostUsersSignInDataResponse = { contentType: "", - statusCode: 305, + statusCode: 503, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), @@ -32,7 +32,7 @@ let value: PostUsersSignInDataResponse = { homeSize: 1, id: 13692262, joinedAt: 1556281940, - locale: "el", + locale: "it", mailingListStatus: PostUsersSignInDataMailingListStatus.Active, maxHomeSize: 15, profile: { @@ -79,7 +79,7 @@ let value: PostUsersSignInDataResponse = { state: PostUsersSignInDataState.Ended, billing: { internalPaymentMethod: {}, - paymentMethodId: 292147, + paymentMethodId: 100294, }, }, ], diff --git a/docs/sdk/models/operations/postuserssignindatauserplexaccount.md b/docs/sdk/models/operations/postuserssignindatauserplexaccount.md index 1d983e0e..88735f56 100644 --- a/docs/sdk/models/operations/postuserssignindatauserplexaccount.md +++ b/docs/sdk/models/operations/postuserssignindatauserplexaccount.md @@ -28,7 +28,7 @@ let value: PostUsersSignInDataUserPlexAccount = { homeSize: 1, id: 13692262, joinedAt: 1556281940, - locale: "no", + locale: "hi", mailingListStatus: PostUsersSignInDataMailingListStatus.Active, maxHomeSize: 15, profile: { @@ -75,7 +75,7 @@ let value: PostUsersSignInDataUserPlexAccount = { state: PostUsersSignInDataState.Ended, billing: { internalPaymentMethod: {}, - paymentMethodId: 83422, + paymentMethodId: 584476, }, }, ], diff --git a/docs/sdk/models/operations/producer.md b/docs/sdk/models/operations/producer.md index 61cf6434..12ddc160 100644 --- a/docs/sdk/models/operations/producer.md +++ b/docs/sdk/models/operations/producer.md @@ -6,23 +6,21 @@ import { Producer } from "@lukehagar/plexjs/sdk/models/operations"; let value: Producer = { - id: 109501, - filter: "actor=109501", - tag: "Bob Odenkirk", - tagKey: "5d77683254f42c001f8c3f69", - role: "Jimmy McGill", + id: 126522, + filter: "producer=126522", + tag: "Amelia Knapp", + tagKey: "5d77683d85719b001f3a535e", thumb: - "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *number* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | +| `filter` | *string* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | +| `tag` | *string* | :heavy_check_mark: | The name of the producer | Amelia Knapp | +| `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the producer's tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/sdk/models/operations/queryparamforce.md b/docs/sdk/models/operations/queryparamforce.md index 2fbceaab..a105e3bd 100644 --- a/docs/sdk/models/operations/queryparamforce.md +++ b/docs/sdk/models/operations/queryparamforce.md @@ -11,7 +11,7 @@ If the `force` argument is set to 0, a new playlist will be created suffixed wit ```typescript import { QueryParamForce } from "@lukehagar/plexjs/sdk/models/operations"; -let value: QueryParamForce = QueryParamForce.One; +let value: QueryParamForce = QueryParamForce.Zero; ``` ## Values diff --git a/docs/sdk/models/operations/queryparamonlytransient.md b/docs/sdk/models/operations/queryparamonlytransient.md index fb6039e8..7741ec6b 100644 --- a/docs/sdk/models/operations/queryparamonlytransient.md +++ b/docs/sdk/models/operations/queryparamonlytransient.md @@ -7,7 +7,7 @@ Only return hubs which are "transient", meaning those which are prone to changin ```typescript import { QueryParamOnlyTransient } from "@lukehagar/plexjs/sdk/models/operations"; -let value: QueryParamOnlyTransient = QueryParamOnlyTransient.Zero; +let value: QueryParamOnlyTransient = QueryParamOnlyTransient.One; ``` ## Values diff --git a/docs/sdk/models/operations/rating.md b/docs/sdk/models/operations/rating.md new file mode 100644 index 00000000..3d4e70dc --- /dev/null +++ b/docs/sdk/models/operations/rating.md @@ -0,0 +1,23 @@ +# Rating + +The type of rating, for example 'audience' or 'critic'. + +## Example Usage + +```typescript +import { Rating } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: Rating = { + image: "imdb://image.rating", + value: 5.1, + type: "audience", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | +| `image` | *string* | :heavy_check_mark: | N/A | imdb://image.rating | +| `value` | *number* | :heavy_check_mark: | N/A | 5.1 | +| `type` | *string* | :heavy_check_mark: | N/A | audience | \ No newline at end of file diff --git a/docs/sdk/models/operations/role.md b/docs/sdk/models/operations/role.md index 05624010..e2ccc10b 100644 --- a/docs/sdk/models/operations/role.md +++ b/docs/sdk/models/operations/role.md @@ -6,23 +6,23 @@ import { Role } from "@lukehagar/plexjs/sdk/models/operations"; let value: Role = { - id: 294129, - filter: "actor=294129", + id: 126522, + filter: "actor=126522", + tag: "Teller", + tagKey: "5d77683d85719b001f3a535e", + role: "Self - Judge", thumb: - "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", - tag: "Mike Smith", - tagKey: "668e7e7b22bcad9064350c91", - role: "Self", + "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | -| `filter` | *string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | -| `thumb` | *string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | -| `tag` | *string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | -| `tagKey` | *string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | -| `role` | *string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | +| `filter` | *string* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | +| `tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `role` | *string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/sdk/models/operations/searchresult.md b/docs/sdk/models/operations/searchresult.md index 19905b99..349ecdd2 100644 --- a/docs/sdk/models/operations/searchresult.md +++ b/docs/sdk/models/operations/searchresult.md @@ -15,7 +15,7 @@ import { import { RFCDate } from "@lukehagar/plexjs/sdk/types"; let value: SearchResult = { - score: 5210.37, + score: 7936.98, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/searchtypes.md b/docs/sdk/models/operations/searchtypes.md index 0e760b02..891246e0 100644 --- a/docs/sdk/models/operations/searchtypes.md +++ b/docs/sdk/models/operations/searchtypes.md @@ -5,7 +5,7 @@ ```typescript import { SearchTypes } from "@lukehagar/plexjs/sdk/models/operations"; -let value: SearchTypes = SearchTypes.People; +let value: SearchTypes = SearchTypes.Movies; ``` ## Values diff --git a/docs/sdk/models/operations/similar.md b/docs/sdk/models/operations/similar.md index a0e18d73..3277fb08 100644 --- a/docs/sdk/models/operations/similar.md +++ b/docs/sdk/models/operations/similar.md @@ -1,21 +1,23 @@ # Similar +The display tag for the similar item, typically the title. + ## Example Usage ```typescript import { Similar } from "@lukehagar/plexjs/sdk/models/operations"; let value: Similar = { - id: 26, - filter: "similar=26", - tag: "Breaking Bad", + id: 259, + filter: "similar=259", + tag: "Criss Angel Mindfreak", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| `id` | *number* | :heavy_check_mark: | The unique similar item identifier. | 26 | -| `filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 | -| `tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `id` | *number* | :heavy_check_mark: | N/A | 259 | +| `filter` | *string* | :heavy_check_mark: | N/A | similar=259 | +| `tag` | *string* | :heavy_check_mark: | N/A | Criss Angel Mindfreak | \ No newline at end of file diff --git a/docs/sdk/models/operations/stream.md b/docs/sdk/models/operations/stream.md index 679240d1..b541a74b 100644 --- a/docs/sdk/models/operations/stream.md +++ b/docs/sdk/models/operations/stream.md @@ -6,86 +6,108 @@ import { Stream } from "@lukehagar/plexjs/sdk/models/operations"; let value: Stream = { - id: 272796, + id: 1002625, streamType: 1, default: true, - selected: true, - codec: "h264", + codec: "hevc", 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, + bitrate: 24743, language: "English", languageTag: "en", languageCode: "eng", - audioChannelLayout: "stereo", + headerCompression: true, + doviblCompatID: 1, + doviblPresent: true, + dovielPresent: false, + doviLevel: 6, + doviPresent: true, + doviProfile: 8, + dovirpuPresent: true, + doviVersion: "1.0", + bitDepth: 10, + chromaLocation: "topleft", + chromaSubsampling: "4:2:0", + codedHeight: 1608, + codedWidth: 3840, + closedCaptions: true, + colorPrimaries: "bt2020", + colorRange: "tv", + colorSpace: "bt2020nc", + colorTrc: "smpte2084", + frameRate: 23.976, + height: 1602, + level: 150, + original: true, + hasScalingMatrix: false, + profile: "main 10", + scanType: "progressive", + embeddedInVideo: "progressive", + refFrames: 1, + width: 3840, + displayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)", + selected: true, + forced: true, + channels: 6, + audioChannelLayout: "5.1(side)", samplingRate: 48000, - title: "English", canAutoSync: false, + hearingImpaired: true, + dub: true, + title: "SDH", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `id` | *number* | :heavy_check_mark: | N/A | 272796 | -| `streamType` | *number* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `default` | *boolean* | :heavy_minus_sign: | Indicates if this is the default stream | true | -| `selected` | *boolean* | :heavy_minus_sign: | Indicates if the stream is selected | true | -| `codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | -| `index` | *number* | :heavy_check_mark: | The index of the stream | 0 | -| `bitrate` | *number* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | -| `colorPrimaries` | *string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | -| `colorRange` | *string* | :heavy_minus_sign: | The color range of the video stream | tv | -| `colorSpace` | *string* | :heavy_minus_sign: | The color space of the video stream | bt709 | -| `colorTrc` | *string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | -| `bitDepth` | *number* | :heavy_minus_sign: | The bit depth of the video stream | 8 | -| `chromaLocation` | *string* | :heavy_minus_sign: | The chroma location of the video stream | left | -| `streamIdentifier` | *string* | :heavy_minus_sign: | The identifier of the video stream | 2 | -| `chromaSubsampling` | *string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | -| `codedHeight` | *number* | :heavy_minus_sign: | The coded height of the video stream | 1088 | -| `codedWidth` | *number* | :heavy_minus_sign: | The coded width of the video stream | 1920 | -| `frameRate` | *number* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | -| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | -| `hearingImpaired` | *boolean* | :heavy_minus_sign: | N/A | false | -| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | false | -| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | 1 | -| `height` | *number* | :heavy_minus_sign: | The height of the video stream | 1080 | -| `level` | *number* | :heavy_minus_sign: | The level of the video codec | 40 | -| `profile` | *string* | :heavy_minus_sign: | The profile of the video codec | main | -| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames | 4 | -| `scanType` | *string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | -| `width` | *number* | :heavy_minus_sign: | The width of the video stream | 1920 | -| `displayTitle` | *string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | -| `extendedDisplayTitle` | *string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | -| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | -| `language` | *string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | -| `languageTag` | *string* | :heavy_minus_sign: | Language tag of the stream | en | -| `languageCode` | *string* | :heavy_minus_sign: | Language code of the stream | eng | -| `audioChannelLayout` | *string* | :heavy_minus_sign: | The audio channel layout | stereo | -| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | -| `title` | *string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | -| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `streamType` | *number* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | +| `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | +| `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | +| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | +| `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | +| `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | +| `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | +| `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *number* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | +| `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | +| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | +| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | +| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *boolean* | :heavy_minus_sign: | N/A | true | +| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/sdk/models/operations/tag.md b/docs/sdk/models/operations/tag.md index 96666393..7971d433 100644 --- a/docs/sdk/models/operations/tag.md +++ b/docs/sdk/models/operations/tag.md @@ -7,7 +7,7 @@ A key representing a specific tag within the section. ```typescript import { Tag } from "@lukehagar/plexjs/sdk/models/operations"; -let value: Tag = Tag.Newest; +let value: Tag = Tag.RecentlyAdded; ``` ## Values diff --git a/docs/sdk/models/operations/updateplaylistrequest.md b/docs/sdk/models/operations/updateplaylistrequest.md index 8ab37336..53b75739 100644 --- a/docs/sdk/models/operations/updateplaylistrequest.md +++ b/docs/sdk/models/operations/updateplaylistrequest.md @@ -6,7 +6,7 @@ import { UpdatePlaylistRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: UpdatePlaylistRequest = { - playlistID: 2155.07, + playlistID: 7308.56, }; ``` diff --git a/docs/sdk/models/operations/updateplaylistresponse.md b/docs/sdk/models/operations/updateplaylistresponse.md index 89884886..3ec1d4eb 100644 --- a/docs/sdk/models/operations/updateplaylistresponse.md +++ b/docs/sdk/models/operations/updateplaylistresponse.md @@ -7,7 +7,7 @@ import { UpdatePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations" let value: UpdatePlaylistResponse = { contentType: "", - statusCode: 508, + statusCode: 202, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/writer.md b/docs/sdk/models/operations/writer.md index 26349e64..e97d735b 100644 --- a/docs/sdk/models/operations/writer.md +++ b/docs/sdk/models/operations/writer.md @@ -6,12 +6,18 @@ import { Writer } from "@lukehagar/plexjs/sdk/models/operations"; let value: Writer = { - tag: "James Cameron", + id: 126522, + filter: "writer=126522", + tag: "Jamie P. Hanson", + tagKey: "5d77683d85719b001f3a535e", }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 43ef0dec..a1c8ff40 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -24,7 +24,6 @@ API Calls interacting with Plex Media Server Libraries * [getMediaMetaData](#getmediametadata) - Get Media Metadata * [getMetadataChildren](#getmetadatachildren) - Get Items Children * [getTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content -* [getOnDeck](#getondeck) - Get On Deck ## getFileHash @@ -1422,78 +1421,4 @@ run(); | --------------------------------------- | --------------------------------------- | --------------------------------------- | | errors.GetTopWatchedContentBadRequest | 400 | application/json | | errors.GetTopWatchedContentUnauthorized | 401 | application/json | -| errors.SDKError | 4XX, 5XX | \*/\* | - -## getOnDeck - -This endpoint will return the on deck content. - - -### Example Usage - -```typescript -import { PlexAPI } from "@lukehagar/plexjs"; - -const plexAPI = new PlexAPI({ - accessToken: "", -}); - -async function run() { - const result = await plexAPI.library.getOnDeck(); - - // Handle the result - console.log(result); -} - -run(); -``` - -### Standalone function - -The standalone function version of this method: - -```typescript -import { PlexAPICore } from "@lukehagar/plexjs/core.js"; -import { libraryGetOnDeck } from "@lukehagar/plexjs/funcs/libraryGetOnDeck.js"; - -// Use `PlexAPICore` for best tree-shaking performance. -// You can create one instance of it to use across an application. -const plexAPI = new PlexAPICore({ - accessToken: "", -}); - -async function run() { - const res = await libraryGetOnDeck(plexAPI); - - if (!res.ok) { - throw res.error; - } - - const { value: result } = res; - - // Handle the result - console.log(result); -} - -run(); -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | -| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | -| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | - -### Response - -**Promise\<[operations.GetOnDeckResponse](../../sdk/models/operations/getondeckresponse.md)\>** - -### Errors - -| Error Type | Status Code | Content Type | -| ---------------------------- | ---------------------------- | ---------------------------- | -| errors.GetOnDeckBadRequest | 400 | application/json | -| errors.GetOnDeckUnauthorized | 401 | application/json | -| errors.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file +| errors.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/jsr.json b/jsr.json index 3fbbadb8..d6db482c 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@lukehagar/plexjs", - "version": "0.35.0", + "version": "0.35.1", "exports": { ".": "./src/index.ts", "./sdk/models/errors": "./src/sdk/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index 567a579c..372f00a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@lukehagar/plexjs", - "version": "0.35.0", + "version": "0.35.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@lukehagar/plexjs", - "version": "0.35.0", + "version": "0.35.1", "devDependencies": { "@eslint/js": "^9.19.0", "eslint": "^9.19.0", diff --git a/package.json b/package.json index 04b787bb..95c46c5d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lukehagar/plexjs", - "version": "0.35.0", + "version": "0.35.1", "author": "LukeHagar", "main": "./index.js", "sideEffects": false, diff --git a/src/funcs/libraryGetOnDeck.ts b/src/funcs/libraryGetOnDeck.ts deleted file mode 100644 index 5383b9f5..00000000 --- a/src/funcs/libraryGetOnDeck.ts +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -import { PlexAPICore } from "../core.js"; -import * as M from "../lib/matchers.js"; -import { compactMap } from "../lib/primitives.js"; -import { RequestOptions } from "../lib/sdks.js"; -import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js"; -import { pathToFunc } from "../lib/url.js"; -import { - ConnectionError, - InvalidRequestError, - RequestAbortedError, - RequestTimeoutError, - UnexpectedClientError, -} from "../sdk/models/errors/httpclienterrors.js"; -import * as errors from "../sdk/models/errors/index.js"; -import { SDKError } from "../sdk/models/errors/sdkerror.js"; -import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js"; -import * as operations from "../sdk/models/operations/index.js"; -import { APICall, APIPromise } from "../sdk/types/async.js"; -import { Result } from "../sdk/types/fp.js"; - -/** - * Get On Deck - * - * @remarks - * This endpoint will return the on deck content. - */ -export function libraryGetOnDeck( - client: PlexAPICore, - options?: RequestOptions, -): APIPromise< - Result< - operations.GetOnDeckResponse, - | errors.GetOnDeckBadRequest - | errors.GetOnDeckUnauthorized - | SDKError - | SDKValidationError - | UnexpectedClientError - | InvalidRequestError - | RequestAbortedError - | RequestTimeoutError - | ConnectionError - > -> { - return new APIPromise($do( - client, - options, - )); -} - -async function $do( - client: PlexAPICore, - options?: RequestOptions, -): Promise< - [ - Result< - operations.GetOnDeckResponse, - | errors.GetOnDeckBadRequest - | errors.GetOnDeckUnauthorized - | SDKError - | SDKValidationError - | UnexpectedClientError - | InvalidRequestError - | RequestAbortedError - | RequestTimeoutError - | ConnectionError - >, - APICall, - ] -> { - const path = pathToFunc("/library/onDeck")(); - - const headers = new Headers(compactMap({ - Accept: "application/json", - })); - - const secConfig = await extractSecurity(client._options.accessToken); - const securityInput = secConfig == null ? {} : { accessToken: secConfig }; - const requestSecurity = resolveGlobalSecurity(securityInput); - - const context = { - baseURL: options?.serverURL ?? client._baseURL ?? "", - operationID: "getOnDeck", - oAuth2Scopes: [], - - resolvedSecurity: requestSecurity, - - securitySource: client._options.accessToken, - retryConfig: options?.retries - || client._options.retryConfig - || { strategy: "none" }, - retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"], - }; - - const requestRes = client._createRequest(context, { - security: requestSecurity, - method: "GET", - baseURL: options?.serverURL, - path: path, - headers: headers, - timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, - }, options); - if (!requestRes.ok) { - return [requestRes, { status: "invalid" }]; - } - const req = requestRes.value; - - const doResult = await client._do(req, { - context, - errorCodes: ["400", "401", "4XX", "5XX"], - retryConfig: context.retryConfig, - retryCodes: context.retryCodes, - }); - if (!doResult.ok) { - return [doResult, { status: "request-error", request: req }]; - } - const response = doResult.value; - - const responseFields = { - ContentType: response.headers.get("content-type") - ?? "application/octet-stream", - StatusCode: response.status, - RawResponse: response, - Headers: {}, - }; - - const [result] = await M.match< - operations.GetOnDeckResponse, - | errors.GetOnDeckBadRequest - | errors.GetOnDeckUnauthorized - | SDKError - | SDKValidationError - | UnexpectedClientError - | InvalidRequestError - | RequestAbortedError - | RequestTimeoutError - | ConnectionError - >( - M.json(200, operations.GetOnDeckResponse$inboundSchema, { key: "object" }), - M.jsonErr(400, errors.GetOnDeckBadRequest$inboundSchema), - M.jsonErr(401, errors.GetOnDeckUnauthorized$inboundSchema), - M.fail("4XX"), - M.fail("5XX"), - )(response, { extraFields: responseFields }); - if (!result.ok) { - return [result, { status: "complete", request: req, response }]; - } - - return [result, { status: "complete", request: req, response }]; -} diff --git a/src/lib/config.ts b/src/lib/config.ts index 6cb4b442..4546153d 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -90,7 +90,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "0.0.3", - sdkVersion: "0.35.0", - genVersion: "2.545.2", - userAgent: "speakeasy-sdk/typescript 0.35.0 2.545.2 0.0.3 @lukehagar/plexjs", + sdkVersion: "0.35.1", + genVersion: "2.545.4", + userAgent: "speakeasy-sdk/typescript 0.35.1 2.545.4 0.0.3 @lukehagar/plexjs", } as const; diff --git a/src/sdk/library.ts b/src/sdk/library.ts index 12e1a94c..27d1244b 100644 --- a/src/sdk/library.ts +++ b/src/sdk/library.ts @@ -13,7 +13,6 @@ import { libraryGetLibraryDetails } from "../funcs/libraryGetLibraryDetails.js"; import { libraryGetLibraryItems } from "../funcs/libraryGetLibraryItems.js"; import { libraryGetMediaMetaData } from "../funcs/libraryGetMediaMetaData.js"; import { libraryGetMetadataChildren } from "../funcs/libraryGetMetadataChildren.js"; -import { libraryGetOnDeck } from "../funcs/libraryGetOnDeck.js"; import { libraryGetRecentlyAddedLibrary } from "../funcs/libraryGetRecentlyAddedLibrary.js"; import { libraryGetRefreshLibraryMetadata } from "../funcs/libraryGetRefreshLibraryMetadata.js"; import { libraryGetSearchAllLibraries } from "../funcs/libraryGetSearchAllLibraries.js"; @@ -391,19 +390,4 @@ export class Library extends ClientSDK { options, )); } - - /** - * Get On Deck - * - * @remarks - * This endpoint will return the on deck content. - */ - async getOnDeck( - options?: RequestOptions, - ): Promise { - return unwrapAsync(libraryGetOnDeck( - this, - options, - )); - } } diff --git a/src/sdk/models/errors/getondeck.ts b/src/sdk/models/errors/getondeck.ts deleted file mode 100644 index d6896ef6..00000000 --- a/src/sdk/models/errors/getondeck.ts +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -import * as z from "zod"; -import { remap as remap$ } from "../../../lib/primitives.js"; -import { safeParse } from "../../../lib/schemas.js"; -import { Result as SafeParseResult } from "../../types/fp.js"; -import { SDKValidationError } from "./sdkvalidationerror.js"; - -export type GetOnDeckLibraryErrors = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** - * Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - */ -export type GetOnDeckUnauthorizedData = { - errors?: Array | undefined; - /** - * Raw HTTP response; suitable for custom response parsing - */ - rawResponse?: Response | undefined; -}; - -/** - * Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - */ -export class GetOnDeckUnauthorized extends Error { - errors?: Array | undefined; - /** - * Raw HTTP response; suitable for custom response parsing - */ - rawResponse?: Response | undefined; - - /** The original data that was passed to this error instance. */ - data$: GetOnDeckUnauthorizedData; - - constructor(err: GetOnDeckUnauthorizedData) { - const message = "message" in err && typeof err.message === "string" - ? err.message - : `API error occurred: ${JSON.stringify(err)}`; - super(message); - this.data$ = err; - - if (err.errors != null) this.errors = err.errors; - if (err.rawResponse != null) this.rawResponse = err.rawResponse; - - this.name = "GetOnDeckUnauthorized"; - } -} - -export type GetOnDeckErrors = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** - * Bad Request - A parameter was not specified, or was specified incorrectly. - */ -export type GetOnDeckBadRequestData = { - errors?: Array | undefined; - /** - * Raw HTTP response; suitable for custom response parsing - */ - rawResponse?: Response | undefined; -}; - -/** - * Bad Request - A parameter was not specified, or was specified incorrectly. - */ -export class GetOnDeckBadRequest extends Error { - errors?: Array | undefined; - /** - * Raw HTTP response; suitable for custom response parsing - */ - rawResponse?: Response | undefined; - - /** The original data that was passed to this error instance. */ - data$: GetOnDeckBadRequestData; - - constructor(err: GetOnDeckBadRequestData) { - const message = "message" in err && typeof err.message === "string" - ? err.message - : `API error occurred: ${JSON.stringify(err)}`; - super(message); - this.data$ = err; - - if (err.errors != null) this.errors = err.errors; - if (err.rawResponse != null) this.rawResponse = err.rawResponse; - - this.name = "GetOnDeckBadRequest"; - } -} - -/** @internal */ -export const GetOnDeckLibraryErrors$inboundSchema: z.ZodType< - GetOnDeckLibraryErrors, - z.ZodTypeDef, - unknown -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** @internal */ -export type GetOnDeckLibraryErrors$Outbound = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** @internal */ -export const GetOnDeckLibraryErrors$outboundSchema: z.ZodType< - GetOnDeckLibraryErrors$Outbound, - z.ZodTypeDef, - GetOnDeckLibraryErrors -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckLibraryErrors$ { - /** @deprecated use `GetOnDeckLibraryErrors$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckLibraryErrors$inboundSchema; - /** @deprecated use `GetOnDeckLibraryErrors$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckLibraryErrors$outboundSchema; - /** @deprecated use `GetOnDeckLibraryErrors$Outbound` instead. */ - export type Outbound = GetOnDeckLibraryErrors$Outbound; -} - -export function getOnDeckLibraryErrorsToJSON( - getOnDeckLibraryErrors: GetOnDeckLibraryErrors, -): string { - return JSON.stringify( - GetOnDeckLibraryErrors$outboundSchema.parse(getOnDeckLibraryErrors), - ); -} - -export function getOnDeckLibraryErrorsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckLibraryErrors$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckLibraryErrors' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckUnauthorized$inboundSchema: z.ZodType< - GetOnDeckUnauthorized, - z.ZodTypeDef, - unknown -> = z.object({ - errors: z.array(z.lazy(() => GetOnDeckLibraryErrors$inboundSchema)) - .optional(), - RawResponse: z.instanceof(Response).optional(), -}) - .transform((v) => { - const remapped = remap$(v, { - "RawResponse": "rawResponse", - }); - - return new GetOnDeckUnauthorized(remapped); - }); - -/** @internal */ -export type GetOnDeckUnauthorized$Outbound = { - errors?: Array | undefined; - RawResponse?: never | undefined; -}; - -/** @internal */ -export const GetOnDeckUnauthorized$outboundSchema: z.ZodType< - GetOnDeckUnauthorized$Outbound, - z.ZodTypeDef, - GetOnDeckUnauthorized -> = z.instanceof(GetOnDeckUnauthorized) - .transform(v => v.data$) - .pipe( - z.object({ - errors: z.array(z.lazy(() => GetOnDeckLibraryErrors$outboundSchema)) - .optional(), - rawResponse: z.instanceof(Response).transform(() => { - throw new Error("Response cannot be serialized"); - }).optional(), - }).transform((v) => { - return remap$(v, { - rawResponse: "RawResponse", - }); - }), - ); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckUnauthorized$ { - /** @deprecated use `GetOnDeckUnauthorized$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckUnauthorized$inboundSchema; - /** @deprecated use `GetOnDeckUnauthorized$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckUnauthorized$outboundSchema; - /** @deprecated use `GetOnDeckUnauthorized$Outbound` instead. */ - export type Outbound = GetOnDeckUnauthorized$Outbound; -} - -/** @internal */ -export const GetOnDeckErrors$inboundSchema: z.ZodType< - GetOnDeckErrors, - z.ZodTypeDef, - unknown -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** @internal */ -export type GetOnDeckErrors$Outbound = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** @internal */ -export const GetOnDeckErrors$outboundSchema: z.ZodType< - GetOnDeckErrors$Outbound, - z.ZodTypeDef, - GetOnDeckErrors -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckErrors$ { - /** @deprecated use `GetOnDeckErrors$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckErrors$inboundSchema; - /** @deprecated use `GetOnDeckErrors$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckErrors$outboundSchema; - /** @deprecated use `GetOnDeckErrors$Outbound` instead. */ - export type Outbound = GetOnDeckErrors$Outbound; -} - -export function getOnDeckErrorsToJSON( - getOnDeckErrors: GetOnDeckErrors, -): string { - return JSON.stringify(GetOnDeckErrors$outboundSchema.parse(getOnDeckErrors)); -} - -export function getOnDeckErrorsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckErrors$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckErrors' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckBadRequest$inboundSchema: z.ZodType< - GetOnDeckBadRequest, - z.ZodTypeDef, - unknown -> = z.object({ - errors: z.array(z.lazy(() => GetOnDeckErrors$inboundSchema)).optional(), - RawResponse: z.instanceof(Response).optional(), -}) - .transform((v) => { - const remapped = remap$(v, { - "RawResponse": "rawResponse", - }); - - return new GetOnDeckBadRequest(remapped); - }); - -/** @internal */ -export type GetOnDeckBadRequest$Outbound = { - errors?: Array | undefined; - RawResponse?: never | undefined; -}; - -/** @internal */ -export const GetOnDeckBadRequest$outboundSchema: z.ZodType< - GetOnDeckBadRequest$Outbound, - z.ZodTypeDef, - GetOnDeckBadRequest -> = z.instanceof(GetOnDeckBadRequest) - .transform(v => v.data$) - .pipe( - z.object({ - errors: z.array(z.lazy(() => GetOnDeckErrors$outboundSchema)).optional(), - rawResponse: z.instanceof(Response).transform(() => { - throw new Error("Response cannot be serialized"); - }).optional(), - }).transform((v) => { - return remap$(v, { - rawResponse: "RawResponse", - }); - }), - ); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckBadRequest$ { - /** @deprecated use `GetOnDeckBadRequest$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckBadRequest$inboundSchema; - /** @deprecated use `GetOnDeckBadRequest$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckBadRequest$outboundSchema; - /** @deprecated use `GetOnDeckBadRequest$Outbound` instead. */ - export type Outbound = GetOnDeckBadRequest$Outbound; -} diff --git a/src/sdk/models/errors/index.ts b/src/sdk/models/errors/index.ts index 6e95bcb8..dc9e9fa3 100644 --- a/src/sdk/models/errors/index.ts +++ b/src/sdk/models/errors/index.ts @@ -33,7 +33,6 @@ export * from "./getmediametadata.js"; export * from "./getmediaproviders.js"; export * from "./getmetadatachildren.js"; export * from "./getmyplexaccount.js"; -export * from "./getondeck.js"; export * from "./getpin.js"; export * from "./getplaylist.js"; export * from "./getplaylistcontents.js"; diff --git a/src/sdk/models/operations/getallmedialibrary.ts b/src/sdk/models/operations/getallmedialibrary.ts index c21e643d..aad9f3e0 100644 --- a/src/sdk/models/operations/getallmedialibrary.ts +++ b/src/sdk/models/operations/getallmedialibrary.ts @@ -238,7 +238,7 @@ export type GetAllMediaLibraryUltraBlurColors = { bottomLeft: string; }; -export enum One { +export enum OptimizedForStreaming1 { Zero = 0, One = 1, } @@ -246,7 +246,9 @@ export enum One { /** * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true */ -export type GetAllMediaLibraryOptimizedForStreaming = One | boolean; +export type GetAllMediaLibraryOptimizedForStreaming = + | OptimizedForStreaming1 + | boolean; export enum GetAllMediaLibraryOptimizedForStreaming1 { Zero = 0, @@ -296,15 +298,15 @@ export type GetAllMediaLibraryStream = { /** * Language of the stream. */ - language: string; + language?: string | undefined; /** * Language tag (e.g., en). */ - languageTag: string; + languageTag?: string | undefined; /** * ISO language code. */ - languageCode: string; + languageCode?: string | undefined; /** * Indicates whether header compression is enabled. */ @@ -361,6 +363,7 @@ export type GetAllMediaLibraryStream = { * Coded video width. */ codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; /** * Color primaries used. */ @@ -399,6 +402,7 @@ export type GetAllMediaLibraryStream = { */ profile?: string | undefined; scanType?: string | undefined; + embeddedInVideo?: string | undefined; /** * Number of reference frames. */ @@ -567,7 +571,7 @@ export type GetAllMediaLibraryMedia = { /** * Indicates whether voice activity is detected. */ - hasVoiceActivity: boolean; + hasVoiceActivity?: boolean | undefined; /** * The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). */ @@ -575,17 +579,19 @@ export type GetAllMediaLibraryMedia = { /** * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true */ - optimizedForStreaming?: One | boolean | undefined; + optimizedForStreaming?: OptimizedForStreaming1 | boolean | undefined; has64bitOffsets?: boolean | undefined; /** * An array of parts for this media item. */ - part: Array; + part?: Array | undefined; }; export type GetAllMediaLibraryGenre = { /** - * The country of origin of this media item + * The genre name of this media-item + * + * @remarks */ tag: string; }; @@ -613,12 +619,12 @@ export type GetAllMediaLibraryWriter = { export type GetAllMediaLibraryRole = { /** - * The name of the actor for this role + * The display tag for the actor (typically the actor's name). */ tag: string; }; -export type Guids = { +export type GetAllMediaLibraryGuids = { /** * The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 * @@ -688,7 +694,7 @@ export type GetAllMediaLibraryMetadata = { /** * The release year of the media item. */ - year: number; + year?: number | undefined; /** * A brief tagline for the media item. */ @@ -858,7 +864,7 @@ export type GetAllMediaLibraryMetadata = { director?: Array | undefined; writer?: Array | undefined; role?: Array | undefined; - guids?: Array | undefined; + guids?: Array | undefined; collection?: Array | undefined; }; @@ -1910,21 +1916,24 @@ export function getAllMediaLibraryUltraBlurColorsFromJSON( } /** @internal */ -export const One$inboundSchema: z.ZodNativeEnum = z.nativeEnum(One); +export const OptimizedForStreaming1$inboundSchema: z.ZodNativeEnum< + typeof OptimizedForStreaming1 +> = z.nativeEnum(OptimizedForStreaming1); /** @internal */ -export const One$outboundSchema: z.ZodNativeEnum = - One$inboundSchema; +export const OptimizedForStreaming1$outboundSchema: z.ZodNativeEnum< + typeof OptimizedForStreaming1 +> = OptimizedForStreaming1$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace One$ { - /** @deprecated use `One$inboundSchema` instead. */ - export const inboundSchema = One$inboundSchema; - /** @deprecated use `One$outboundSchema` instead. */ - export const outboundSchema = One$outboundSchema; +export namespace OptimizedForStreaming1$ { + /** @deprecated use `OptimizedForStreaming1$inboundSchema` instead. */ + export const inboundSchema = OptimizedForStreaming1$inboundSchema; + /** @deprecated use `OptimizedForStreaming1$outboundSchema` instead. */ + export const outboundSchema = OptimizedForStreaming1$outboundSchema; } /** @internal */ @@ -1932,7 +1941,7 @@ export const GetAllMediaLibraryOptimizedForStreaming$inboundSchema: z.ZodType< GetAllMediaLibraryOptimizedForStreaming, z.ZodTypeDef, unknown -> = z.union([One$inboundSchema, z.boolean()]); +> = z.union([OptimizedForStreaming1$inboundSchema, z.boolean()]); /** @internal */ export type GetAllMediaLibraryOptimizedForStreaming$Outbound = number | boolean; @@ -1942,7 +1951,7 @@ export const GetAllMediaLibraryOptimizedForStreaming$outboundSchema: z.ZodType< GetAllMediaLibraryOptimizedForStreaming$Outbound, z.ZodTypeDef, GetAllMediaLibraryOptimizedForStreaming -> = z.union([One$outboundSchema, z.boolean()]); +> = z.union([OptimizedForStreaming1$outboundSchema, z.boolean()]); /** * @internal @@ -2112,9 +2121,9 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType< codec: z.string(), index: z.number().int(), bitrate: z.number().int().optional(), - language: z.string(), - languageTag: z.string(), - languageCode: z.string(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), headerCompression: z.boolean().optional(), DOVIBLCompatID: z.number().int().optional(), DOVIBLPresent: z.boolean().optional(), @@ -2129,6 +2138,7 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType< chromaSubsampling: z.string().optional(), codedHeight: z.number().int().optional(), codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), colorPrimaries: z.string().optional(), colorRange: z.string().optional(), colorSpace: z.string().optional(), @@ -2140,6 +2150,7 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType< hasScalingMatrix: z.boolean().optional(), profile: z.string().optional(), scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), refFrames: z.number().int().optional(), width: z.number().int().optional(), displayTitle: z.string(), @@ -2174,9 +2185,9 @@ export type GetAllMediaLibraryStream$Outbound = { codec: string; index: number; bitrate?: number | undefined; - language: string; - languageTag: string; - languageCode: string; + language?: string | undefined; + languageTag?: string | undefined; + languageCode?: string | undefined; headerCompression?: boolean | undefined; DOVIBLCompatID?: number | undefined; DOVIBLPresent?: boolean | undefined; @@ -2191,6 +2202,7 @@ export type GetAllMediaLibraryStream$Outbound = { chromaSubsampling?: string | undefined; codedHeight?: number | undefined; codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; colorPrimaries?: string | undefined; colorRange?: string | undefined; colorSpace?: string | undefined; @@ -2202,6 +2214,7 @@ export type GetAllMediaLibraryStream$Outbound = { hasScalingMatrix?: boolean | undefined; profile?: string | undefined; scanType?: string | undefined; + embeddedInVideo?: string | undefined; refFrames?: number | undefined; width?: number | undefined; displayTitle: string; @@ -2229,9 +2242,9 @@ export const GetAllMediaLibraryStream$outboundSchema: z.ZodType< codec: z.string(), index: z.number().int(), bitrate: z.number().int().optional(), - language: z.string(), - languageTag: z.string(), - languageCode: z.string(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), headerCompression: z.boolean().optional(), doviblCompatID: z.number().int().optional(), doviblPresent: z.boolean().optional(), @@ -2246,6 +2259,7 @@ export const GetAllMediaLibraryStream$outboundSchema: z.ZodType< chromaSubsampling: z.string().optional(), codedHeight: z.number().int().optional(), codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), colorPrimaries: z.string().optional(), colorRange: z.string().optional(), colorSpace: z.string().optional(), @@ -2257,6 +2271,7 @@ export const GetAllMediaLibraryStream$outboundSchema: z.ZodType< hasScalingMatrix: z.boolean().optional(), profile: z.string().optional(), scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), refFrames: z.number().int().optional(), width: z.number().int().optional(), displayTitle: z.string(), @@ -2453,11 +2468,14 @@ export const GetAllMediaLibraryMedia$inboundSchema: z.ZodType< container: z.string().optional(), videoFrameRate: z.string().optional(), videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean(), + hasVoiceActivity: z.boolean().optional(), audioProfile: z.string().optional(), - optimizedForStreaming: z.union([One$inboundSchema, z.boolean()]).optional(), + optimizedForStreaming: z.union([ + OptimizedForStreaming1$inboundSchema, + z.boolean(), + ]).optional(), has64bitOffsets: z.boolean().optional(), - Part: z.array(z.lazy(() => GetAllMediaLibraryPart$inboundSchema)), + Part: z.array(z.lazy(() => GetAllMediaLibraryPart$inboundSchema)).optional(), }).transform((v) => { return remap$(v, { "Part": "part", @@ -2480,11 +2498,11 @@ export type GetAllMediaLibraryMedia$Outbound = { container?: string | undefined; videoFrameRate?: string | undefined; videoProfile?: string | undefined; - hasVoiceActivity: boolean; + hasVoiceActivity?: boolean | undefined; audioProfile?: string | undefined; optimizedForStreaming?: number | boolean | undefined; has64bitOffsets?: boolean | undefined; - Part: Array; + Part?: Array | undefined; }; /** @internal */ @@ -2507,11 +2525,14 @@ export const GetAllMediaLibraryMedia$outboundSchema: z.ZodType< container: z.string().optional(), videoFrameRate: z.string().optional(), videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean(), + hasVoiceActivity: z.boolean().optional(), audioProfile: z.string().optional(), - optimizedForStreaming: z.union([One$outboundSchema, z.boolean()]).optional(), + optimizedForStreaming: z.union([ + OptimizedForStreaming1$outboundSchema, + z.boolean(), + ]).optional(), has64bitOffsets: z.boolean().optional(), - part: z.array(z.lazy(() => GetAllMediaLibraryPart$outboundSchema)), + part: z.array(z.lazy(() => GetAllMediaLibraryPart$outboundSchema)).optional(), }).transform((v) => { return remap$(v, { part: "Part", @@ -2820,21 +2841,24 @@ export function getAllMediaLibraryRoleFromJSON( } /** @internal */ -export const Guids$inboundSchema: z.ZodType = z - .object({ - id: z.string().optional(), - }); +export const GetAllMediaLibraryGuids$inboundSchema: z.ZodType< + GetAllMediaLibraryGuids, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.string().optional(), +}); /** @internal */ -export type Guids$Outbound = { +export type GetAllMediaLibraryGuids$Outbound = { id?: string | undefined; }; /** @internal */ -export const Guids$outboundSchema: z.ZodType< - Guids$Outbound, +export const GetAllMediaLibraryGuids$outboundSchema: z.ZodType< + GetAllMediaLibraryGuids$Outbound, z.ZodTypeDef, - Guids + GetAllMediaLibraryGuids > = z.object({ id: z.string().optional(), }); @@ -2843,26 +2867,30 @@ export const Guids$outboundSchema: z.ZodType< * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace Guids$ { - /** @deprecated use `Guids$inboundSchema` instead. */ - export const inboundSchema = Guids$inboundSchema; - /** @deprecated use `Guids$outboundSchema` instead. */ - export const outboundSchema = Guids$outboundSchema; - /** @deprecated use `Guids$Outbound` instead. */ - export type Outbound = Guids$Outbound; +export namespace GetAllMediaLibraryGuids$ { + /** @deprecated use `GetAllMediaLibraryGuids$inboundSchema` instead. */ + export const inboundSchema = GetAllMediaLibraryGuids$inboundSchema; + /** @deprecated use `GetAllMediaLibraryGuids$outboundSchema` instead. */ + export const outboundSchema = GetAllMediaLibraryGuids$outboundSchema; + /** @deprecated use `GetAllMediaLibraryGuids$Outbound` instead. */ + export type Outbound = GetAllMediaLibraryGuids$Outbound; } -export function guidsToJSON(guids: Guids): string { - return JSON.stringify(Guids$outboundSchema.parse(guids)); +export function getAllMediaLibraryGuidsToJSON( + getAllMediaLibraryGuids: GetAllMediaLibraryGuids, +): string { + return JSON.stringify( + GetAllMediaLibraryGuids$outboundSchema.parse(getAllMediaLibraryGuids), + ); } -export function guidsFromJSON( +export function getAllMediaLibraryGuidsFromJSON( jsonString: string, -): SafeParseResult { +): SafeParseResult { return safeParse( jsonString, - (x) => Guids$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Guids' from JSON`, + (x) => GetAllMediaLibraryGuids$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetAllMediaLibraryGuids' from JSON`, ); } @@ -2940,7 +2968,7 @@ export const GetAllMediaLibraryMetadata$inboundSchema: z.ZodType< summary: z.string(), rating: z.number(), audienceRating: z.number(), - year: z.number().int(), + year: z.number().int().optional(), tagline: z.string(), thumb: z.string(), art: z.string(), @@ -2997,7 +3025,7 @@ export const GetAllMediaLibraryMetadata$inboundSchema: z.ZodType< Writer: z.array(z.lazy(() => GetAllMediaLibraryWriter$inboundSchema)) .optional(), Role: z.array(z.lazy(() => GetAllMediaLibraryRole$inboundSchema)).optional(), - Guid: z.array(z.lazy(() => Guids$inboundSchema)).optional(), + Guid: z.array(z.lazy(() => GetAllMediaLibraryGuids$inboundSchema)).optional(), Collection: z.array(z.lazy(() => GetAllMediaLibraryCollection$inboundSchema)) .optional(), }).transform((v) => { @@ -3029,7 +3057,7 @@ export type GetAllMediaLibraryMetadata$Outbound = { summary: string; rating: number; audienceRating: number; - year: number; + year?: number | undefined; tagline: string; thumb: string; art: string; @@ -3079,7 +3107,7 @@ export type GetAllMediaLibraryMetadata$Outbound = { Director?: Array | undefined; Writer?: Array | undefined; Role?: Array | undefined; - Guid?: Array | undefined; + Guid?: Array | undefined; Collection?: Array | undefined; }; @@ -3101,7 +3129,7 @@ export const GetAllMediaLibraryMetadata$outboundSchema: z.ZodType< summary: z.string(), rating: z.number(), audienceRating: z.number(), - year: z.number().int(), + year: z.number().int().optional(), tagline: z.string(), thumb: z.string(), art: z.string(), @@ -3159,7 +3187,8 @@ export const GetAllMediaLibraryMetadata$outboundSchema: z.ZodType< writer: z.array(z.lazy(() => GetAllMediaLibraryWriter$outboundSchema)) .optional(), role: z.array(z.lazy(() => GetAllMediaLibraryRole$outboundSchema)).optional(), - guids: z.array(z.lazy(() => Guids$outboundSchema)).optional(), + guids: z.array(z.lazy(() => GetAllMediaLibraryGuids$outboundSchema)) + .optional(), collection: z.array(z.lazy(() => GetAllMediaLibraryCollection$outboundSchema)) .optional(), }).transform((v) => { diff --git a/src/sdk/models/operations/getlibraryitems.ts b/src/sdk/models/operations/getlibraryitems.ts index f22737ff..9c84c1f1 100644 --- a/src/sdk/models/operations/getlibraryitems.ts +++ b/src/sdk/models/operations/getlibraryitems.ts @@ -219,7 +219,7 @@ export enum GetLibraryItemsLibraryType { /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ -export enum GetLibraryItemsFlattenSeasons { +export enum FlattenSeasons { LibraryDefault = "-1", Hide = "0", Show = "1", @@ -228,7 +228,7 @@ export enum GetLibraryItemsFlattenSeasons { /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ -export enum GetLibraryItemsEpisodeSort { +export enum EpisodeSort { LibraryDefault = "-1", OldestFirst = "0", NewestFirst = "1", @@ -237,7 +237,7 @@ export enum GetLibraryItemsEpisodeSort { /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ -export enum GetLibraryItemsEnableCreditsMarkerGeneration { +export enum EnableCreditsMarkerGeneration { LibraryDefault = "-1", Disabled = "0", } @@ -252,7 +252,7 @@ export enum GetLibraryItemsEnableCreditsMarkerGeneration { * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). */ -export enum GetLibraryItemsShowOrdering { +export enum ShowOrdering { None = "None", TmdbAiring = "tmdbAiring", TvdbAired = "aired", @@ -506,7 +506,7 @@ export type GetLibraryItemsLocation = { path?: string | undefined; }; -export type GetLibraryItemsMediaGuid = { +export type MediaGuid = { /** * Can be one of the following formats: * @@ -523,7 +523,7 @@ export type GetLibraryItemsUltraBlurColors = { bottomLeft: string; }; -export type GetLibraryItemsMetaDataRating = { +export type MetaDataRating = { /** * A URI or path to the rating image. */ @@ -584,17 +584,15 @@ export type GetLibraryItemsMetadata = { /** * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). */ - flattenSeasons?: GetLibraryItemsFlattenSeasons | undefined; + flattenSeasons?: FlattenSeasons | undefined; /** * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). */ - episodeSort?: GetLibraryItemsEpisodeSort | undefined; + episodeSort?: EpisodeSort | undefined; /** * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). */ - enableCreditsMarkerGeneration?: - | GetLibraryItemsEnableCreditsMarkerGeneration - | undefined; + enableCreditsMarkerGeneration?: EnableCreditsMarkerGeneration | undefined; /** * Setting that indicates the episode ordering for the show. * @@ -605,7 +603,7 @@ export type GetLibraryItemsMetadata = { * dvd = TheTVDB (DVD), * absolute = TheTVDB (Absolute)). */ - showOrdering?: GetLibraryItemsShowOrdering | undefined; + showOrdering?: ShowOrdering | undefined; thumb?: string | undefined; art?: string | undefined; banner?: string | undefined; @@ -650,9 +648,9 @@ export type GetLibraryItemsMetadata = { * * @remarks */ - mediaGuid?: Array | undefined; + mediaGuid?: Array | undefined; ultraBlurColors?: GetLibraryItemsUltraBlurColors | undefined; - metaDataRating?: Array | undefined; + metaDataRating?: Array | undefined; image?: Array | undefined; titleSort?: string | undefined; viewCount?: number | undefined; @@ -1486,89 +1484,83 @@ export namespace GetLibraryItemsLibraryType$ { } /** @internal */ -export const GetLibraryItemsFlattenSeasons$inboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsFlattenSeasons -> = z.nativeEnum(GetLibraryItemsFlattenSeasons); +export const FlattenSeasons$inboundSchema: z.ZodNativeEnum< + typeof FlattenSeasons +> = z.nativeEnum(FlattenSeasons); /** @internal */ -export const GetLibraryItemsFlattenSeasons$outboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsFlattenSeasons -> = GetLibraryItemsFlattenSeasons$inboundSchema; +export const FlattenSeasons$outboundSchema: z.ZodNativeEnum< + typeof FlattenSeasons +> = FlattenSeasons$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsFlattenSeasons$ { - /** @deprecated use `GetLibraryItemsFlattenSeasons$inboundSchema` instead. */ - export const inboundSchema = GetLibraryItemsFlattenSeasons$inboundSchema; - /** @deprecated use `GetLibraryItemsFlattenSeasons$outboundSchema` instead. */ - export const outboundSchema = GetLibraryItemsFlattenSeasons$outboundSchema; +export namespace FlattenSeasons$ { + /** @deprecated use `FlattenSeasons$inboundSchema` instead. */ + export const inboundSchema = FlattenSeasons$inboundSchema; + /** @deprecated use `FlattenSeasons$outboundSchema` instead. */ + export const outboundSchema = FlattenSeasons$outboundSchema; } /** @internal */ -export const GetLibraryItemsEpisodeSort$inboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsEpisodeSort -> = z.nativeEnum(GetLibraryItemsEpisodeSort); +export const EpisodeSort$inboundSchema: z.ZodNativeEnum = z + .nativeEnum(EpisodeSort); /** @internal */ -export const GetLibraryItemsEpisodeSort$outboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsEpisodeSort -> = GetLibraryItemsEpisodeSort$inboundSchema; +export const EpisodeSort$outboundSchema: z.ZodNativeEnum = + EpisodeSort$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsEpisodeSort$ { - /** @deprecated use `GetLibraryItemsEpisodeSort$inboundSchema` instead. */ - export const inboundSchema = GetLibraryItemsEpisodeSort$inboundSchema; - /** @deprecated use `GetLibraryItemsEpisodeSort$outboundSchema` instead. */ - export const outboundSchema = GetLibraryItemsEpisodeSort$outboundSchema; +export namespace EpisodeSort$ { + /** @deprecated use `EpisodeSort$inboundSchema` instead. */ + export const inboundSchema = EpisodeSort$inboundSchema; + /** @deprecated use `EpisodeSort$outboundSchema` instead. */ + export const outboundSchema = EpisodeSort$outboundSchema; } /** @internal */ -export const GetLibraryItemsEnableCreditsMarkerGeneration$inboundSchema: - z.ZodNativeEnum = z - .nativeEnum(GetLibraryItemsEnableCreditsMarkerGeneration); +export const EnableCreditsMarkerGeneration$inboundSchema: z.ZodNativeEnum< + typeof EnableCreditsMarkerGeneration +> = z.nativeEnum(EnableCreditsMarkerGeneration); /** @internal */ -export const GetLibraryItemsEnableCreditsMarkerGeneration$outboundSchema: - z.ZodNativeEnum = - GetLibraryItemsEnableCreditsMarkerGeneration$inboundSchema; +export const EnableCreditsMarkerGeneration$outboundSchema: z.ZodNativeEnum< + typeof EnableCreditsMarkerGeneration +> = EnableCreditsMarkerGeneration$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsEnableCreditsMarkerGeneration$ { - /** @deprecated use `GetLibraryItemsEnableCreditsMarkerGeneration$inboundSchema` instead. */ - export const inboundSchema = - GetLibraryItemsEnableCreditsMarkerGeneration$inboundSchema; - /** @deprecated use `GetLibraryItemsEnableCreditsMarkerGeneration$outboundSchema` instead. */ - export const outboundSchema = - GetLibraryItemsEnableCreditsMarkerGeneration$outboundSchema; +export namespace EnableCreditsMarkerGeneration$ { + /** @deprecated use `EnableCreditsMarkerGeneration$inboundSchema` instead. */ + export const inboundSchema = EnableCreditsMarkerGeneration$inboundSchema; + /** @deprecated use `EnableCreditsMarkerGeneration$outboundSchema` instead. */ + export const outboundSchema = EnableCreditsMarkerGeneration$outboundSchema; } /** @internal */ -export const GetLibraryItemsShowOrdering$inboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsShowOrdering -> = z.nativeEnum(GetLibraryItemsShowOrdering); +export const ShowOrdering$inboundSchema: z.ZodNativeEnum = + z.nativeEnum(ShowOrdering); /** @internal */ -export const GetLibraryItemsShowOrdering$outboundSchema: z.ZodNativeEnum< - typeof GetLibraryItemsShowOrdering -> = GetLibraryItemsShowOrdering$inboundSchema; +export const ShowOrdering$outboundSchema: z.ZodNativeEnum = + ShowOrdering$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsShowOrdering$ { - /** @deprecated use `GetLibraryItemsShowOrdering$inboundSchema` instead. */ - export const inboundSchema = GetLibraryItemsShowOrdering$inboundSchema; - /** @deprecated use `GetLibraryItemsShowOrdering$outboundSchema` instead. */ - export const outboundSchema = GetLibraryItemsShowOrdering$outboundSchema; +export namespace ShowOrdering$ { + /** @deprecated use `ShowOrdering$inboundSchema` instead. */ + export const inboundSchema = ShowOrdering$inboundSchema; + /** @deprecated use `ShowOrdering$outboundSchema` instead. */ + export const outboundSchema = ShowOrdering$outboundSchema; } /** @internal */ @@ -2392,8 +2384,8 @@ export function getLibraryItemsLocationFromJSON( } /** @internal */ -export const GetLibraryItemsMediaGuid$inboundSchema: z.ZodType< - GetLibraryItemsMediaGuid, +export const MediaGuid$inboundSchema: z.ZodType< + MediaGuid, z.ZodTypeDef, unknown > = z.object({ @@ -2401,15 +2393,15 @@ export const GetLibraryItemsMediaGuid$inboundSchema: z.ZodType< }); /** @internal */ -export type GetLibraryItemsMediaGuid$Outbound = { +export type MediaGuid$Outbound = { id: string; }; /** @internal */ -export const GetLibraryItemsMediaGuid$outboundSchema: z.ZodType< - GetLibraryItemsMediaGuid$Outbound, +export const MediaGuid$outboundSchema: z.ZodType< + MediaGuid$Outbound, z.ZodTypeDef, - GetLibraryItemsMediaGuid + MediaGuid > = z.object({ id: z.string(), }); @@ -2418,30 +2410,26 @@ export const GetLibraryItemsMediaGuid$outboundSchema: z.ZodType< * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsMediaGuid$ { - /** @deprecated use `GetLibraryItemsMediaGuid$inboundSchema` instead. */ - export const inboundSchema = GetLibraryItemsMediaGuid$inboundSchema; - /** @deprecated use `GetLibraryItemsMediaGuid$outboundSchema` instead. */ - export const outboundSchema = GetLibraryItemsMediaGuid$outboundSchema; - /** @deprecated use `GetLibraryItemsMediaGuid$Outbound` instead. */ - export type Outbound = GetLibraryItemsMediaGuid$Outbound; +export namespace MediaGuid$ { + /** @deprecated use `MediaGuid$inboundSchema` instead. */ + export const inboundSchema = MediaGuid$inboundSchema; + /** @deprecated use `MediaGuid$outboundSchema` instead. */ + export const outboundSchema = MediaGuid$outboundSchema; + /** @deprecated use `MediaGuid$Outbound` instead. */ + export type Outbound = MediaGuid$Outbound; } -export function getLibraryItemsMediaGuidToJSON( - getLibraryItemsMediaGuid: GetLibraryItemsMediaGuid, -): string { - return JSON.stringify( - GetLibraryItemsMediaGuid$outboundSchema.parse(getLibraryItemsMediaGuid), - ); +export function mediaGuidToJSON(mediaGuid: MediaGuid): string { + return JSON.stringify(MediaGuid$outboundSchema.parse(mediaGuid)); } -export function getLibraryItemsMediaGuidFromJSON( +export function mediaGuidFromJSON( jsonString: string, -): SafeParseResult { +): SafeParseResult { return safeParse( jsonString, - (x) => GetLibraryItemsMediaGuid$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetLibraryItemsMediaGuid' from JSON`, + (x) => MediaGuid$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'MediaGuid' from JSON`, ); } @@ -2511,8 +2499,8 @@ export function getLibraryItemsUltraBlurColorsFromJSON( } /** @internal */ -export const GetLibraryItemsMetaDataRating$inboundSchema: z.ZodType< - GetLibraryItemsMetaDataRating, +export const MetaDataRating$inboundSchema: z.ZodType< + MetaDataRating, z.ZodTypeDef, unknown > = z.object({ @@ -2522,17 +2510,17 @@ export const GetLibraryItemsMetaDataRating$inboundSchema: z.ZodType< }); /** @internal */ -export type GetLibraryItemsMetaDataRating$Outbound = { +export type MetaDataRating$Outbound = { image: string; value: number; type: string; }; /** @internal */ -export const GetLibraryItemsMetaDataRating$outboundSchema: z.ZodType< - GetLibraryItemsMetaDataRating$Outbound, +export const MetaDataRating$outboundSchema: z.ZodType< + MetaDataRating$Outbound, z.ZodTypeDef, - GetLibraryItemsMetaDataRating + MetaDataRating > = z.object({ image: z.string(), value: z.number(), @@ -2543,32 +2531,26 @@ export const GetLibraryItemsMetaDataRating$outboundSchema: z.ZodType< * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetLibraryItemsMetaDataRating$ { - /** @deprecated use `GetLibraryItemsMetaDataRating$inboundSchema` instead. */ - export const inboundSchema = GetLibraryItemsMetaDataRating$inboundSchema; - /** @deprecated use `GetLibraryItemsMetaDataRating$outboundSchema` instead. */ - export const outboundSchema = GetLibraryItemsMetaDataRating$outboundSchema; - /** @deprecated use `GetLibraryItemsMetaDataRating$Outbound` instead. */ - export type Outbound = GetLibraryItemsMetaDataRating$Outbound; +export namespace MetaDataRating$ { + /** @deprecated use `MetaDataRating$inboundSchema` instead. */ + export const inboundSchema = MetaDataRating$inboundSchema; + /** @deprecated use `MetaDataRating$outboundSchema` instead. */ + export const outboundSchema = MetaDataRating$outboundSchema; + /** @deprecated use `MetaDataRating$Outbound` instead. */ + export type Outbound = MetaDataRating$Outbound; } -export function getLibraryItemsMetaDataRatingToJSON( - getLibraryItemsMetaDataRating: GetLibraryItemsMetaDataRating, -): string { - return JSON.stringify( - GetLibraryItemsMetaDataRating$outboundSchema.parse( - getLibraryItemsMetaDataRating, - ), - ); +export function metaDataRatingToJSON(metaDataRating: MetaDataRating): string { + return JSON.stringify(MetaDataRating$outboundSchema.parse(metaDataRating)); } -export function getLibraryItemsMetaDataRatingFromJSON( +export function metaDataRatingFromJSON( jsonString: string, -): SafeParseResult { +): SafeParseResult { return safeParse( jsonString, - (x) => GetLibraryItemsMetaDataRating$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetLibraryItemsMetaDataRating' from JSON`, + (x) => MetaDataRating$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'MetaDataRating' from JSON`, ); } @@ -2680,11 +2662,11 @@ export const GetLibraryItemsMetadata$inboundSchema: z.ZodType< year: z.number().int().optional(), seasonCount: z.number().int().optional(), tagline: z.string().optional(), - flattenSeasons: GetLibraryItemsFlattenSeasons$inboundSchema.optional(), - episodeSort: GetLibraryItemsEpisodeSort$inboundSchema.optional(), - enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration$inboundSchema.optional(), - showOrdering: GetLibraryItemsShowOrdering$inboundSchema.optional(), + flattenSeasons: FlattenSeasons$inboundSchema.optional(), + episodeSort: EpisodeSort$inboundSchema.optional(), + enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration$inboundSchema + .optional(), + showOrdering: ShowOrdering$inboundSchema.optional(), thumb: z.string().optional(), art: z.string().optional(), banner: z.string().optional(), @@ -2717,12 +2699,10 @@ export const GetLibraryItemsMetadata$inboundSchema: z.ZodType< Role: z.array(z.lazy(() => GetLibraryItemsRole$inboundSchema)).optional(), Location: z.array(z.lazy(() => GetLibraryItemsLocation$inboundSchema)) .optional(), - Guid: z.array(z.lazy(() => GetLibraryItemsMediaGuid$inboundSchema)) - .optional(), + Guid: z.array(z.lazy(() => MediaGuid$inboundSchema)).optional(), UltraBlurColors: z.lazy(() => GetLibraryItemsUltraBlurColors$inboundSchema) .optional(), - Rating: z.array(z.lazy(() => GetLibraryItemsMetaDataRating$inboundSchema)) - .optional(), + Rating: z.array(z.lazy(() => MetaDataRating$inboundSchema)).optional(), Image: z.array(z.lazy(() => GetLibraryItemsImage$inboundSchema)).optional(), titleSort: z.string().optional(), viewCount: z.number().int().optional(), @@ -2815,9 +2795,9 @@ export type GetLibraryItemsMetadata$Outbound = { Collection?: Array | undefined; Role?: Array | undefined; Location?: Array | undefined; - Guid?: Array | undefined; + Guid?: Array | undefined; UltraBlurColors?: GetLibraryItemsUltraBlurColors$Outbound | undefined; - Rating?: Array | undefined; + Rating?: Array | undefined; Image?: Array | undefined; titleSort?: string | undefined; viewCount?: number | undefined; @@ -2867,11 +2847,11 @@ export const GetLibraryItemsMetadata$outboundSchema: z.ZodType< year: z.number().int().optional(), seasonCount: z.number().int().optional(), tagline: z.string().optional(), - flattenSeasons: GetLibraryItemsFlattenSeasons$outboundSchema.optional(), - episodeSort: GetLibraryItemsEpisodeSort$outboundSchema.optional(), - enableCreditsMarkerGeneration: - GetLibraryItemsEnableCreditsMarkerGeneration$outboundSchema.optional(), - showOrdering: GetLibraryItemsShowOrdering$outboundSchema.optional(), + flattenSeasons: FlattenSeasons$outboundSchema.optional(), + episodeSort: EpisodeSort$outboundSchema.optional(), + enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration$outboundSchema + .optional(), + showOrdering: ShowOrdering$outboundSchema.optional(), thumb: z.string().optional(), art: z.string().optional(), banner: z.string().optional(), @@ -2906,13 +2886,11 @@ export const GetLibraryItemsMetadata$outboundSchema: z.ZodType< role: z.array(z.lazy(() => GetLibraryItemsRole$outboundSchema)).optional(), location: z.array(z.lazy(() => GetLibraryItemsLocation$outboundSchema)) .optional(), - mediaGuid: z.array(z.lazy(() => GetLibraryItemsMediaGuid$outboundSchema)) - .optional(), + mediaGuid: z.array(z.lazy(() => MediaGuid$outboundSchema)).optional(), ultraBlurColors: z.lazy(() => GetLibraryItemsUltraBlurColors$outboundSchema) .optional(), - metaDataRating: z.array( - z.lazy(() => GetLibraryItemsMetaDataRating$outboundSchema), - ).optional(), + metaDataRating: z.array(z.lazy(() => MetaDataRating$outboundSchema)) + .optional(), image: z.array(z.lazy(() => GetLibraryItemsImage$outboundSchema)).optional(), titleSort: z.string().optional(), viewCount: z.number().int().optional(), diff --git a/src/sdk/models/operations/getmediametadata.ts b/src/sdk/models/operations/getmediametadata.ts index 69bcf744..6e746880 100644 --- a/src/sdk/models/operations/getmediametadata.ts +++ b/src/sdk/models/operations/getmediametadata.ts @@ -68,18 +68,6 @@ export type GetMediaMetaDataRequest = { asyncRefreshLocalMediaAgent?: boolean | undefined; }; -export enum OptimizedForStreaming1 { - Zero = 0, - One = 1, -} - -/** - * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true - */ -export type GetMediaMetaDataOptimizedForStreaming = - | OptimizedForStreaming1 - | boolean; - export enum GetMediaMetaDataOptimizedForStreaming1 { Zero = 0, One = 1, @@ -88,10 +76,22 @@ export enum GetMediaMetaDataOptimizedForStreaming1 { /** * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true */ -export type GetMediaMetaDataLibraryOptimizedForStreaming = +export type GetMediaMetaDataOptimizedForStreaming = | GetMediaMetaDataOptimizedForStreaming1 | boolean; +export enum GetMediaMetaDataOptimizedForStreamingLibrary1 { + Zero = 0, + One = 1, +} + +/** + * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + */ +export type GetMediaMetaDataLibraryOptimizedForStreaming = + | GetMediaMetaDataOptimizedForStreamingLibrary1 + | boolean; + /** * Indicates if the part has a thumbnail. */ @@ -128,15 +128,15 @@ export type GetMediaMetaDataStream = { /** * Language of the stream. */ - language: string; + language?: string | undefined; /** * Language tag (e.g., en). */ - languageTag: string; + languageTag?: string | undefined; /** * ISO language code. */ - languageCode: string; + languageCode?: string | undefined; /** * Indicates whether header compression is enabled. */ @@ -193,6 +193,7 @@ export type GetMediaMetaDataStream = { * Coded video width. */ codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; /** * Color primaries used. */ @@ -231,6 +232,7 @@ export type GetMediaMetaDataStream = { */ profile?: string | undefined; scanType?: string | undefined; + embeddedInVideo?: string | undefined; /** * Number of reference frames. */ @@ -330,7 +332,7 @@ export type GetMediaMetaDataPart = { * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true */ optimizedForStreaming?: - | GetMediaMetaDataOptimizedForStreaming1 + | GetMediaMetaDataOptimizedForStreamingLibrary1 | boolean | undefined; hasThumbnail?: GetMediaMetaDataHasThumbnail | undefined; @@ -399,7 +401,7 @@ export type GetMediaMetaDataMedia = { /** * Indicates whether voice activity is detected. */ - hasVoiceActivity: boolean; + hasVoiceActivity?: boolean | undefined; /** * The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). */ @@ -407,12 +409,15 @@ export type GetMediaMetaDataMedia = { /** * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true */ - optimizedForStreaming?: OptimizedForStreaming1 | boolean | undefined; + optimizedForStreaming?: + | GetMediaMetaDataOptimizedForStreaming1 + | boolean + | undefined; has64bitOffsets?: boolean | undefined; /** * An array of parts for this media item. */ - part: Array; + part?: Array | undefined; }; export type GetMediaMetaDataImage = { @@ -582,7 +587,7 @@ export type GetMediaMetaDataWriter = { thumb?: string | undefined; }; -export type Producer = { +export type GetMediaMetaDataProducer = { /** * The unique role identifier. */ @@ -609,7 +614,7 @@ export type Producer = { thumb?: string | undefined; }; -export type Similar = { +export type GetMediaMetaDataSimilar = { /** * The unique similar item identifier. */ @@ -849,11 +854,11 @@ export type GetMediaMetaDataMetadata = { /** * An array of Writer roles. */ - producer?: Array | undefined; + producer?: Array | undefined; /** * An array of similar content objects. */ - similar?: Array | undefined; + similar?: Array | undefined; /** * An array of location objects. */ @@ -1019,24 +1024,27 @@ export function getMediaMetaDataRequestFromJSON( } /** @internal */ -export const OptimizedForStreaming1$inboundSchema: z.ZodNativeEnum< - typeof OptimizedForStreaming1 -> = z.nativeEnum(OptimizedForStreaming1); +export const GetMediaMetaDataOptimizedForStreaming1$inboundSchema: + z.ZodNativeEnum = z.nativeEnum( + GetMediaMetaDataOptimizedForStreaming1, + ); /** @internal */ -export const OptimizedForStreaming1$outboundSchema: z.ZodNativeEnum< - typeof OptimizedForStreaming1 -> = OptimizedForStreaming1$inboundSchema; +export const GetMediaMetaDataOptimizedForStreaming1$outboundSchema: + z.ZodNativeEnum = + GetMediaMetaDataOptimizedForStreaming1$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace OptimizedForStreaming1$ { - /** @deprecated use `OptimizedForStreaming1$inboundSchema` instead. */ - export const inboundSchema = OptimizedForStreaming1$inboundSchema; - /** @deprecated use `OptimizedForStreaming1$outboundSchema` instead. */ - export const outboundSchema = OptimizedForStreaming1$outboundSchema; +export namespace GetMediaMetaDataOptimizedForStreaming1$ { + /** @deprecated use `GetMediaMetaDataOptimizedForStreaming1$inboundSchema` instead. */ + export const inboundSchema = + GetMediaMetaDataOptimizedForStreaming1$inboundSchema; + /** @deprecated use `GetMediaMetaDataOptimizedForStreaming1$outboundSchema` instead. */ + export const outboundSchema = + GetMediaMetaDataOptimizedForStreaming1$outboundSchema; } /** @internal */ @@ -1044,7 +1052,10 @@ export const GetMediaMetaDataOptimizedForStreaming$inboundSchema: z.ZodType< GetMediaMetaDataOptimizedForStreaming, z.ZodTypeDef, unknown -> = z.union([OptimizedForStreaming1$inboundSchema, z.boolean()]); +> = z.union([ + GetMediaMetaDataOptimizedForStreaming1$inboundSchema, + z.boolean(), +]); /** @internal */ export type GetMediaMetaDataOptimizedForStreaming$Outbound = number | boolean; @@ -1054,7 +1065,10 @@ export const GetMediaMetaDataOptimizedForStreaming$outboundSchema: z.ZodType< GetMediaMetaDataOptimizedForStreaming$Outbound, z.ZodTypeDef, GetMediaMetaDataOptimizedForStreaming -> = z.union([OptimizedForStreaming1$outboundSchema, z.boolean()]); +> = z.union([ + GetMediaMetaDataOptimizedForStreaming1$outboundSchema, + z.boolean(), +]); /** * @internal @@ -1093,27 +1107,26 @@ export function getMediaMetaDataOptimizedForStreamingFromJSON( } /** @internal */ -export const GetMediaMetaDataOptimizedForStreaming1$inboundSchema: - z.ZodNativeEnum = z.nativeEnum( - GetMediaMetaDataOptimizedForStreaming1, - ); +export const GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema: + z.ZodNativeEnum = z + .nativeEnum(GetMediaMetaDataOptimizedForStreamingLibrary1); /** @internal */ -export const GetMediaMetaDataOptimizedForStreaming1$outboundSchema: - z.ZodNativeEnum = - GetMediaMetaDataOptimizedForStreaming1$inboundSchema; +export const GetMediaMetaDataOptimizedForStreamingLibrary1$outboundSchema: + z.ZodNativeEnum = + GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace GetMediaMetaDataOptimizedForStreaming1$ { - /** @deprecated use `GetMediaMetaDataOptimizedForStreaming1$inboundSchema` instead. */ +export namespace GetMediaMetaDataOptimizedForStreamingLibrary1$ { + /** @deprecated use `GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema` instead. */ export const inboundSchema = - GetMediaMetaDataOptimizedForStreaming1$inboundSchema; - /** @deprecated use `GetMediaMetaDataOptimizedForStreaming1$outboundSchema` instead. */ + GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema; + /** @deprecated use `GetMediaMetaDataOptimizedForStreamingLibrary1$outboundSchema` instead. */ export const outboundSchema = - GetMediaMetaDataOptimizedForStreaming1$outboundSchema; + GetMediaMetaDataOptimizedForStreamingLibrary1$outboundSchema; } /** @internal */ @@ -1123,7 +1136,7 @@ export const GetMediaMetaDataLibraryOptimizedForStreaming$inboundSchema: z.ZodTypeDef, unknown > = z.union([ - GetMediaMetaDataOptimizedForStreaming1$inboundSchema, + GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema, z.boolean(), ]); @@ -1139,7 +1152,7 @@ export const GetMediaMetaDataLibraryOptimizedForStreaming$outboundSchema: z.ZodTypeDef, GetMediaMetaDataLibraryOptimizedForStreaming > = z.union([ - GetMediaMetaDataOptimizedForStreaming1$outboundSchema, + GetMediaMetaDataOptimizedForStreamingLibrary1$outboundSchema, z.boolean(), ]); @@ -1218,9 +1231,9 @@ export const GetMediaMetaDataStream$inboundSchema: z.ZodType< codec: z.string(), index: z.number().int(), bitrate: z.number().int().optional(), - language: z.string(), - languageTag: z.string(), - languageCode: z.string(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), headerCompression: z.boolean().optional(), DOVIBLCompatID: z.number().int().optional(), DOVIBLPresent: z.boolean().optional(), @@ -1235,6 +1248,7 @@ export const GetMediaMetaDataStream$inboundSchema: z.ZodType< chromaSubsampling: z.string().optional(), codedHeight: z.number().int().optional(), codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), colorPrimaries: z.string().optional(), colorRange: z.string().optional(), colorSpace: z.string().optional(), @@ -1246,6 +1260,7 @@ export const GetMediaMetaDataStream$inboundSchema: z.ZodType< hasScalingMatrix: z.boolean().optional(), profile: z.string().optional(), scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), refFrames: z.number().int().optional(), width: z.number().int().optional(), displayTitle: z.string(), @@ -1280,9 +1295,9 @@ export type GetMediaMetaDataStream$Outbound = { codec: string; index: number; bitrate?: number | undefined; - language: string; - languageTag: string; - languageCode: string; + language?: string | undefined; + languageTag?: string | undefined; + languageCode?: string | undefined; headerCompression?: boolean | undefined; DOVIBLCompatID?: number | undefined; DOVIBLPresent?: boolean | undefined; @@ -1297,6 +1312,7 @@ export type GetMediaMetaDataStream$Outbound = { chromaSubsampling?: string | undefined; codedHeight?: number | undefined; codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; colorPrimaries?: string | undefined; colorRange?: string | undefined; colorSpace?: string | undefined; @@ -1308,6 +1324,7 @@ export type GetMediaMetaDataStream$Outbound = { hasScalingMatrix?: boolean | undefined; profile?: string | undefined; scanType?: string | undefined; + embeddedInVideo?: string | undefined; refFrames?: number | undefined; width?: number | undefined; displayTitle: string; @@ -1335,9 +1352,9 @@ export const GetMediaMetaDataStream$outboundSchema: z.ZodType< codec: z.string(), index: z.number().int(), bitrate: z.number().int().optional(), - language: z.string(), - languageTag: z.string(), - languageCode: z.string(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), headerCompression: z.boolean().optional(), doviblCompatID: z.number().int().optional(), doviblPresent: z.boolean().optional(), @@ -1352,6 +1369,7 @@ export const GetMediaMetaDataStream$outboundSchema: z.ZodType< chromaSubsampling: z.string().optional(), codedHeight: z.number().int().optional(), codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), colorPrimaries: z.string().optional(), colorRange: z.string().optional(), colorSpace: z.string().optional(), @@ -1363,6 +1381,7 @@ export const GetMediaMetaDataStream$outboundSchema: z.ZodType< hasScalingMatrix: z.boolean().optional(), profile: z.string().optional(), scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), refFrames: z.number().int().optional(), width: z.number().int().optional(), displayTitle: z.string(), @@ -1440,7 +1459,7 @@ export const GetMediaMetaDataPart$inboundSchema: z.ZodType< audioProfile: z.string().optional(), has64bitOffsets: z.boolean().optional(), optimizedForStreaming: z.union([ - GetMediaMetaDataOptimizedForStreaming1$inboundSchema, + GetMediaMetaDataOptimizedForStreamingLibrary1$inboundSchema, z.boolean(), ]).optional(), hasThumbnail: GetMediaMetaDataHasThumbnail$inboundSchema.default( @@ -1494,7 +1513,7 @@ export const GetMediaMetaDataPart$outboundSchema: z.ZodType< audioProfile: z.string().optional(), has64bitOffsets: z.boolean().optional(), optimizedForStreaming: z.union([ - GetMediaMetaDataOptimizedForStreaming1$outboundSchema, + GetMediaMetaDataOptimizedForStreamingLibrary1$outboundSchema, z.boolean(), ]).optional(), hasThumbnail: GetMediaMetaDataHasThumbnail$outboundSchema.default( @@ -1559,14 +1578,14 @@ export const GetMediaMetaDataMedia$inboundSchema: z.ZodType< container: z.string().optional(), videoFrameRate: z.string().optional(), videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean(), + hasVoiceActivity: z.boolean().optional(), audioProfile: z.string().optional(), optimizedForStreaming: z.union([ - OptimizedForStreaming1$inboundSchema, + GetMediaMetaDataOptimizedForStreaming1$inboundSchema, z.boolean(), ]).optional(), has64bitOffsets: z.boolean().optional(), - Part: z.array(z.lazy(() => GetMediaMetaDataPart$inboundSchema)), + Part: z.array(z.lazy(() => GetMediaMetaDataPart$inboundSchema)).optional(), }).transform((v) => { return remap$(v, { "Part": "part", @@ -1589,11 +1608,11 @@ export type GetMediaMetaDataMedia$Outbound = { container?: string | undefined; videoFrameRate?: string | undefined; videoProfile?: string | undefined; - hasVoiceActivity: boolean; + hasVoiceActivity?: boolean | undefined; audioProfile?: string | undefined; optimizedForStreaming?: number | boolean | undefined; has64bitOffsets?: boolean | undefined; - Part: Array; + Part?: Array | undefined; }; /** @internal */ @@ -1616,14 +1635,14 @@ export const GetMediaMetaDataMedia$outboundSchema: z.ZodType< container: z.string().optional(), videoFrameRate: z.string().optional(), videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean(), + hasVoiceActivity: z.boolean().optional(), audioProfile: z.string().optional(), optimizedForStreaming: z.union([ - OptimizedForStreaming1$outboundSchema, + GetMediaMetaDataOptimizedForStreaming1$outboundSchema, z.boolean(), ]).optional(), has64bitOffsets: z.boolean().optional(), - part: z.array(z.lazy(() => GetMediaMetaDataPart$outboundSchema)), + part: z.array(z.lazy(() => GetMediaMetaDataPart$outboundSchema)).optional(), }).transform((v) => { return remap$(v, { part: "Part", @@ -2221,8 +2240,8 @@ export function getMediaMetaDataWriterFromJSON( } /** @internal */ -export const Producer$inboundSchema: z.ZodType< - Producer, +export const GetMediaMetaDataProducer$inboundSchema: z.ZodType< + GetMediaMetaDataProducer, z.ZodTypeDef, unknown > = z.object({ @@ -2235,7 +2254,7 @@ export const Producer$inboundSchema: z.ZodType< }); /** @internal */ -export type Producer$Outbound = { +export type GetMediaMetaDataProducer$Outbound = { id: number; filter: string; tag: string; @@ -2245,10 +2264,10 @@ export type Producer$Outbound = { }; /** @internal */ -export const Producer$outboundSchema: z.ZodType< - Producer$Outbound, +export const GetMediaMetaDataProducer$outboundSchema: z.ZodType< + GetMediaMetaDataProducer$Outbound, z.ZodTypeDef, - Producer + GetMediaMetaDataProducer > = z.object({ id: z.number().int(), filter: z.string(), @@ -2262,49 +2281,56 @@ export const Producer$outboundSchema: z.ZodType< * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace Producer$ { - /** @deprecated use `Producer$inboundSchema` instead. */ - export const inboundSchema = Producer$inboundSchema; - /** @deprecated use `Producer$outboundSchema` instead. */ - export const outboundSchema = Producer$outboundSchema; - /** @deprecated use `Producer$Outbound` instead. */ - export type Outbound = Producer$Outbound; +export namespace GetMediaMetaDataProducer$ { + /** @deprecated use `GetMediaMetaDataProducer$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataProducer$inboundSchema; + /** @deprecated use `GetMediaMetaDataProducer$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataProducer$outboundSchema; + /** @deprecated use `GetMediaMetaDataProducer$Outbound` instead. */ + export type Outbound = GetMediaMetaDataProducer$Outbound; } -export function producerToJSON(producer: Producer): string { - return JSON.stringify(Producer$outboundSchema.parse(producer)); +export function getMediaMetaDataProducerToJSON( + getMediaMetaDataProducer: GetMediaMetaDataProducer, +): string { + return JSON.stringify( + GetMediaMetaDataProducer$outboundSchema.parse(getMediaMetaDataProducer), + ); } -export function producerFromJSON( +export function getMediaMetaDataProducerFromJSON( jsonString: string, -): SafeParseResult { +): SafeParseResult { return safeParse( jsonString, - (x) => Producer$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Producer' from JSON`, + (x) => GetMediaMetaDataProducer$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataProducer' from JSON`, ); } /** @internal */ -export const Similar$inboundSchema: z.ZodType = - z.object({ - id: z.number().int(), - filter: z.string(), - tag: z.string(), - }); +export const GetMediaMetaDataSimilar$inboundSchema: z.ZodType< + GetMediaMetaDataSimilar, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), +}); /** @internal */ -export type Similar$Outbound = { +export type GetMediaMetaDataSimilar$Outbound = { id: number; filter: string; tag: string; }; /** @internal */ -export const Similar$outboundSchema: z.ZodType< - Similar$Outbound, +export const GetMediaMetaDataSimilar$outboundSchema: z.ZodType< + GetMediaMetaDataSimilar$Outbound, z.ZodTypeDef, - Similar + GetMediaMetaDataSimilar > = z.object({ id: z.number().int(), filter: z.string(), @@ -2315,26 +2341,30 @@ export const Similar$outboundSchema: z.ZodType< * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ -export namespace Similar$ { - /** @deprecated use `Similar$inboundSchema` instead. */ - export const inboundSchema = Similar$inboundSchema; - /** @deprecated use `Similar$outboundSchema` instead. */ - export const outboundSchema = Similar$outboundSchema; - /** @deprecated use `Similar$Outbound` instead. */ - export type Outbound = Similar$Outbound; +export namespace GetMediaMetaDataSimilar$ { + /** @deprecated use `GetMediaMetaDataSimilar$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataSimilar$inboundSchema; + /** @deprecated use `GetMediaMetaDataSimilar$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataSimilar$outboundSchema; + /** @deprecated use `GetMediaMetaDataSimilar$Outbound` instead. */ + export type Outbound = GetMediaMetaDataSimilar$Outbound; } -export function similarToJSON(similar: Similar): string { - return JSON.stringify(Similar$outboundSchema.parse(similar)); +export function getMediaMetaDataSimilarToJSON( + getMediaMetaDataSimilar: GetMediaMetaDataSimilar, +): string { + return JSON.stringify( + GetMediaMetaDataSimilar$outboundSchema.parse(getMediaMetaDataSimilar), + ); } -export function similarFromJSON( +export function getMediaMetaDataSimilarFromJSON( jsonString: string, -): SafeParseResult { +): SafeParseResult { return safeParse( jsonString, - (x) => Similar$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Similar' from JSON`, + (x) => GetMediaMetaDataSimilar$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataSimilar' from JSON`, ); } @@ -2459,8 +2489,10 @@ export const GetMediaMetaDataMetadata$inboundSchema: z.ZodType< .optional(), Writer: z.array(z.lazy(() => GetMediaMetaDataWriter$inboundSchema)) .optional(), - Producer: z.array(z.lazy(() => Producer$inboundSchema)).optional(), - Similar: z.array(z.lazy(() => Similar$inboundSchema)).optional(), + Producer: z.array(z.lazy(() => GetMediaMetaDataProducer$inboundSchema)) + .optional(), + Similar: z.array(z.lazy(() => GetMediaMetaDataSimilar$inboundSchema)) + .optional(), Location: z.array(z.lazy(() => GetMediaMetaDataLocation$inboundSchema)) .optional(), }).transform((v) => { @@ -2541,8 +2573,8 @@ export type GetMediaMetaDataMetadata$Outbound = { Role?: Array | undefined; Director?: Array | undefined; Writer?: Array | undefined; - Producer?: Array | undefined; - Similar?: Array | undefined; + Producer?: Array | undefined; + Similar?: Array | undefined; Location?: Array | undefined; }; @@ -2614,8 +2646,10 @@ export const GetMediaMetaDataMetadata$outboundSchema: z.ZodType< .optional(), writer: z.array(z.lazy(() => GetMediaMetaDataWriter$outboundSchema)) .optional(), - producer: z.array(z.lazy(() => Producer$outboundSchema)).optional(), - similar: z.array(z.lazy(() => Similar$outboundSchema)).optional(), + producer: z.array(z.lazy(() => GetMediaMetaDataProducer$outboundSchema)) + .optional(), + similar: z.array(z.lazy(() => GetMediaMetaDataSimilar$outboundSchema)) + .optional(), location: z.array(z.lazy(() => GetMediaMetaDataLocation$outboundSchema)) .optional(), }).transform((v) => { diff --git a/src/sdk/models/operations/getondeck.ts b/src/sdk/models/operations/getondeck.ts deleted file mode 100644 index 91c59037..00000000 --- a/src/sdk/models/operations/getondeck.ts +++ /dev/null @@ -1,886 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -import * as z from "zod"; -import { remap as remap$ } from "../../../lib/primitives.js"; -import { safeParse } from "../../../lib/schemas.js"; -import { Result as SafeParseResult } from "../../types/fp.js"; -import { SDKValidationError } from "../errors/sdkvalidationerror.js"; - -export type GetOnDeckStream = { - id?: number | undefined; - streamType?: number | undefined; - default?: boolean | undefined; - codec?: string | undefined; - index?: number | undefined; - bitrate?: number | undefined; - language?: string | undefined; - languageTag?: string | undefined; - languageCode?: string | undefined; - bitDepth?: number | undefined; - chromaLocation?: string | undefined; - chromaSubsampling?: string | undefined; - codedHeight?: number | undefined; - codedWidth?: number | undefined; - colorRange?: string | undefined; - frameRate?: number | undefined; - height?: number | undefined; - level?: number | undefined; - profile?: string | undefined; - refFrames?: number | undefined; - width?: number | undefined; - displayTitle?: string | undefined; - extendedDisplayTitle?: string | undefined; -}; - -export type GetOnDeckPart = { - id?: number | undefined; - key?: string | undefined; - duration?: number | undefined; - file?: string | undefined; - size?: number | undefined; - audioProfile?: string | undefined; - container?: string | undefined; - videoProfile?: string | undefined; - stream?: Array | undefined; -}; - -export type GetOnDeckMedia = { - id?: number | undefined; - duration?: number | undefined; - bitrate?: number | undefined; - width?: number | undefined; - height?: number | undefined; - aspectRatio?: number | undefined; - audioChannels?: number | undefined; - audioCodec?: string | undefined; - videoCodec?: string | undefined; - videoResolution?: string | undefined; - container?: string | undefined; - videoFrameRate?: string | undefined; - audioProfile?: string | undefined; - videoProfile?: string | undefined; - part?: Array | undefined; -}; - -export type GetOnDeckGuids = { - id?: string | undefined; -}; - -export type GetOnDeckMetadata = { - allowSync?: boolean | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionUUID?: string | undefined; - ratingKey?: number | undefined; - key?: string | undefined; - parentRatingKey?: number | undefined; - grandparentRatingKey?: number | undefined; - guid?: string | undefined; - parentGuid?: string | undefined; - grandparentGuid?: string | undefined; - type?: string | undefined; - title?: string | undefined; - grandparentKey?: string | undefined; - parentKey?: string | undefined; - librarySectionKey?: string | undefined; - grandparentTitle?: string | undefined; - parentTitle?: string | undefined; - contentRating?: string | undefined; - summary?: string | undefined; - index?: number | undefined; - parentIndex?: number | undefined; - lastViewedAt?: number | undefined; - year?: number | undefined; - thumb?: string | undefined; - art?: string | undefined; - parentThumb?: string | undefined; - grandparentThumb?: string | undefined; - grandparentArt?: string | undefined; - grandparentTheme?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: Date | undefined; - addedAt?: number | undefined; - updatedAt?: number | undefined; - media?: Array | undefined; - guids?: Array | undefined; -}; - -export type GetOnDeckMediaContainer = { - size?: number | undefined; - allowSync?: boolean | undefined; - identifier?: string | undefined; - mediaTagPrefix?: string | undefined; - mediaTagVersion?: number | undefined; - mixedParents?: boolean | undefined; - metadata?: Array | undefined; -}; - -/** - * The on Deck content - */ -export type GetOnDeckResponseBody = { - mediaContainer?: GetOnDeckMediaContainer | undefined; -}; - -export type GetOnDeckResponse = { - /** - * HTTP response content type for this operation - */ - contentType: string; - /** - * HTTP response status code for this operation - */ - statusCode: number; - /** - * Raw HTTP response; suitable for custom response parsing - */ - rawResponse: Response; - /** - * The on Deck content - */ - object?: GetOnDeckResponseBody | undefined; -}; - -/** @internal */ -export const GetOnDeckStream$inboundSchema: z.ZodType< - GetOnDeckStream, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().optional(), - streamType: z.number().optional(), - default: z.boolean().optional(), - codec: z.string().optional(), - index: z.number().optional(), - bitrate: z.number().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - bitDepth: z.number().optional(), - chromaLocation: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().optional(), - codedWidth: z.number().optional(), - colorRange: z.string().optional(), - frameRate: z.number().optional(), - height: z.number().optional(), - level: z.number().optional(), - profile: z.string().optional(), - refFrames: z.number().optional(), - width: z.number().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), -}); - -/** @internal */ -export type GetOnDeckStream$Outbound = { - id?: number | undefined; - streamType?: number | undefined; - default?: boolean | undefined; - codec?: string | undefined; - index?: number | undefined; - bitrate?: number | undefined; - language?: string | undefined; - languageTag?: string | undefined; - languageCode?: string | undefined; - bitDepth?: number | undefined; - chromaLocation?: string | undefined; - chromaSubsampling?: string | undefined; - codedHeight?: number | undefined; - codedWidth?: number | undefined; - colorRange?: string | undefined; - frameRate?: number | undefined; - height?: number | undefined; - level?: number | undefined; - profile?: string | undefined; - refFrames?: number | undefined; - width?: number | undefined; - displayTitle?: string | undefined; - extendedDisplayTitle?: string | undefined; -}; - -/** @internal */ -export const GetOnDeckStream$outboundSchema: z.ZodType< - GetOnDeckStream$Outbound, - z.ZodTypeDef, - GetOnDeckStream -> = z.object({ - id: z.number().optional(), - streamType: z.number().optional(), - default: z.boolean().optional(), - codec: z.string().optional(), - index: z.number().optional(), - bitrate: z.number().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - bitDepth: z.number().optional(), - chromaLocation: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().optional(), - codedWidth: z.number().optional(), - colorRange: z.string().optional(), - frameRate: z.number().optional(), - height: z.number().optional(), - level: z.number().optional(), - profile: z.string().optional(), - refFrames: z.number().optional(), - width: z.number().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckStream$ { - /** @deprecated use `GetOnDeckStream$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckStream$inboundSchema; - /** @deprecated use `GetOnDeckStream$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckStream$outboundSchema; - /** @deprecated use `GetOnDeckStream$Outbound` instead. */ - export type Outbound = GetOnDeckStream$Outbound; -} - -export function getOnDeckStreamToJSON( - getOnDeckStream: GetOnDeckStream, -): string { - return JSON.stringify(GetOnDeckStream$outboundSchema.parse(getOnDeckStream)); -} - -export function getOnDeckStreamFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckStream$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckStream' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckPart$inboundSchema: z.ZodType< - GetOnDeckPart, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().optional(), - key: z.string().optional(), - duration: z.number().optional(), - file: z.string().optional(), - size: z.number().optional(), - audioProfile: z.string().optional(), - container: z.string().optional(), - videoProfile: z.string().optional(), - Stream: z.array(z.lazy(() => GetOnDeckStream$inboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - "Stream": "stream", - }); -}); - -/** @internal */ -export type GetOnDeckPart$Outbound = { - id?: number | undefined; - key?: string | undefined; - duration?: number | undefined; - file?: string | undefined; - size?: number | undefined; - audioProfile?: string | undefined; - container?: string | undefined; - videoProfile?: string | undefined; - Stream?: Array | undefined; -}; - -/** @internal */ -export const GetOnDeckPart$outboundSchema: z.ZodType< - GetOnDeckPart$Outbound, - z.ZodTypeDef, - GetOnDeckPart -> = z.object({ - id: z.number().optional(), - key: z.string().optional(), - duration: z.number().optional(), - file: z.string().optional(), - size: z.number().optional(), - audioProfile: z.string().optional(), - container: z.string().optional(), - videoProfile: z.string().optional(), - stream: z.array(z.lazy(() => GetOnDeckStream$outboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - stream: "Stream", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckPart$ { - /** @deprecated use `GetOnDeckPart$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckPart$inboundSchema; - /** @deprecated use `GetOnDeckPart$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckPart$outboundSchema; - /** @deprecated use `GetOnDeckPart$Outbound` instead. */ - export type Outbound = GetOnDeckPart$Outbound; -} - -export function getOnDeckPartToJSON(getOnDeckPart: GetOnDeckPart): string { - return JSON.stringify(GetOnDeckPart$outboundSchema.parse(getOnDeckPart)); -} - -export function getOnDeckPartFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckPart$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckPart' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckMedia$inboundSchema: z.ZodType< - GetOnDeckMedia, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().optional(), - duration: z.number().optional(), - bitrate: z.number().optional(), - width: z.number().optional(), - height: z.number().optional(), - aspectRatio: z.number().optional(), - audioChannels: z.number().optional(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string().optional(), - videoFrameRate: z.string().optional(), - audioProfile: z.string().optional(), - videoProfile: z.string().optional(), - Part: z.array(z.lazy(() => GetOnDeckPart$inboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - "Part": "part", - }); -}); - -/** @internal */ -export type GetOnDeckMedia$Outbound = { - id?: number | undefined; - duration?: number | undefined; - bitrate?: number | undefined; - width?: number | undefined; - height?: number | undefined; - aspectRatio?: number | undefined; - audioChannels?: number | undefined; - audioCodec?: string | undefined; - videoCodec?: string | undefined; - videoResolution?: string | undefined; - container?: string | undefined; - videoFrameRate?: string | undefined; - audioProfile?: string | undefined; - videoProfile?: string | undefined; - Part?: Array | undefined; -}; - -/** @internal */ -export const GetOnDeckMedia$outboundSchema: z.ZodType< - GetOnDeckMedia$Outbound, - z.ZodTypeDef, - GetOnDeckMedia -> = z.object({ - id: z.number().optional(), - duration: z.number().optional(), - bitrate: z.number().optional(), - width: z.number().optional(), - height: z.number().optional(), - aspectRatio: z.number().optional(), - audioChannels: z.number().optional(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string().optional(), - videoFrameRate: z.string().optional(), - audioProfile: z.string().optional(), - videoProfile: z.string().optional(), - part: z.array(z.lazy(() => GetOnDeckPart$outboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - part: "Part", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckMedia$ { - /** @deprecated use `GetOnDeckMedia$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckMedia$inboundSchema; - /** @deprecated use `GetOnDeckMedia$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckMedia$outboundSchema; - /** @deprecated use `GetOnDeckMedia$Outbound` instead. */ - export type Outbound = GetOnDeckMedia$Outbound; -} - -export function getOnDeckMediaToJSON(getOnDeckMedia: GetOnDeckMedia): string { - return JSON.stringify(GetOnDeckMedia$outboundSchema.parse(getOnDeckMedia)); -} - -export function getOnDeckMediaFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckMedia$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckMedia' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckGuids$inboundSchema: z.ZodType< - GetOnDeckGuids, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.string().optional(), -}); - -/** @internal */ -export type GetOnDeckGuids$Outbound = { - id?: string | undefined; -}; - -/** @internal */ -export const GetOnDeckGuids$outboundSchema: z.ZodType< - GetOnDeckGuids$Outbound, - z.ZodTypeDef, - GetOnDeckGuids -> = z.object({ - id: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckGuids$ { - /** @deprecated use `GetOnDeckGuids$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckGuids$inboundSchema; - /** @deprecated use `GetOnDeckGuids$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckGuids$outboundSchema; - /** @deprecated use `GetOnDeckGuids$Outbound` instead. */ - export type Outbound = GetOnDeckGuids$Outbound; -} - -export function getOnDeckGuidsToJSON(getOnDeckGuids: GetOnDeckGuids): string { - return JSON.stringify(GetOnDeckGuids$outboundSchema.parse(getOnDeckGuids)); -} - -export function getOnDeckGuidsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckGuids$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckGuids' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckMetadata$inboundSchema: z.ZodType< - GetOnDeckMetadata, - z.ZodTypeDef, - unknown -> = z.object({ - allowSync: z.boolean().optional(), - librarySectionID: z.number().optional(), - librarySectionTitle: z.string().optional(), - librarySectionUUID: z.string().optional(), - ratingKey: z.number().optional(), - key: z.string().optional(), - parentRatingKey: z.number().optional(), - grandparentRatingKey: z.number().optional(), - guid: z.string().optional(), - parentGuid: z.string().optional(), - grandparentGuid: z.string().optional(), - type: z.string().optional(), - title: z.string().optional(), - grandparentKey: z.string().optional(), - parentKey: z.string().optional(), - librarySectionKey: z.string().optional(), - grandparentTitle: z.string().optional(), - parentTitle: z.string().optional(), - contentRating: z.string().optional(), - summary: z.string().optional(), - index: z.number().optional(), - parentIndex: z.number().optional(), - lastViewedAt: z.number().optional(), - year: z.number().optional(), - thumb: z.string().optional(), - art: z.string().optional(), - parentThumb: z.string().optional(), - grandparentThumb: z.string().optional(), - grandparentArt: z.string().optional(), - grandparentTheme: z.string().optional(), - duration: z.number().optional(), - originallyAvailableAt: z.string().datetime({ offset: true }).transform(v => - new Date(v) - ).optional(), - addedAt: z.number().optional(), - updatedAt: z.number().optional(), - Media: z.array(z.lazy(() => GetOnDeckMedia$inboundSchema)).optional(), - Guid: z.array(z.lazy(() => GetOnDeckGuids$inboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - "Media": "media", - "Guid": "guids", - }); -}); - -/** @internal */ -export type GetOnDeckMetadata$Outbound = { - allowSync?: boolean | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionUUID?: string | undefined; - ratingKey?: number | undefined; - key?: string | undefined; - parentRatingKey?: number | undefined; - grandparentRatingKey?: number | undefined; - guid?: string | undefined; - parentGuid?: string | undefined; - grandparentGuid?: string | undefined; - type?: string | undefined; - title?: string | undefined; - grandparentKey?: string | undefined; - parentKey?: string | undefined; - librarySectionKey?: string | undefined; - grandparentTitle?: string | undefined; - parentTitle?: string | undefined; - contentRating?: string | undefined; - summary?: string | undefined; - index?: number | undefined; - parentIndex?: number | undefined; - lastViewedAt?: number | undefined; - year?: number | undefined; - thumb?: string | undefined; - art?: string | undefined; - parentThumb?: string | undefined; - grandparentThumb?: string | undefined; - grandparentArt?: string | undefined; - grandparentTheme?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: string | undefined; - addedAt?: number | undefined; - updatedAt?: number | undefined; - Media?: Array | undefined; - Guid?: Array | undefined; -}; - -/** @internal */ -export const GetOnDeckMetadata$outboundSchema: z.ZodType< - GetOnDeckMetadata$Outbound, - z.ZodTypeDef, - GetOnDeckMetadata -> = z.object({ - allowSync: z.boolean().optional(), - librarySectionID: z.number().optional(), - librarySectionTitle: z.string().optional(), - librarySectionUUID: z.string().optional(), - ratingKey: z.number().optional(), - key: z.string().optional(), - parentRatingKey: z.number().optional(), - grandparentRatingKey: z.number().optional(), - guid: z.string().optional(), - parentGuid: z.string().optional(), - grandparentGuid: z.string().optional(), - type: z.string().optional(), - title: z.string().optional(), - grandparentKey: z.string().optional(), - parentKey: z.string().optional(), - librarySectionKey: z.string().optional(), - grandparentTitle: z.string().optional(), - parentTitle: z.string().optional(), - contentRating: z.string().optional(), - summary: z.string().optional(), - index: z.number().optional(), - parentIndex: z.number().optional(), - lastViewedAt: z.number().optional(), - year: z.number().optional(), - thumb: z.string().optional(), - art: z.string().optional(), - parentThumb: z.string().optional(), - grandparentThumb: z.string().optional(), - grandparentArt: z.string().optional(), - grandparentTheme: z.string().optional(), - duration: z.number().optional(), - originallyAvailableAt: z.date().transform(v => v.toISOString()).optional(), - addedAt: z.number().optional(), - updatedAt: z.number().optional(), - media: z.array(z.lazy(() => GetOnDeckMedia$outboundSchema)).optional(), - guids: z.array(z.lazy(() => GetOnDeckGuids$outboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - media: "Media", - guids: "Guid", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckMetadata$ { - /** @deprecated use `GetOnDeckMetadata$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckMetadata$inboundSchema; - /** @deprecated use `GetOnDeckMetadata$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckMetadata$outboundSchema; - /** @deprecated use `GetOnDeckMetadata$Outbound` instead. */ - export type Outbound = GetOnDeckMetadata$Outbound; -} - -export function getOnDeckMetadataToJSON( - getOnDeckMetadata: GetOnDeckMetadata, -): string { - return JSON.stringify( - GetOnDeckMetadata$outboundSchema.parse(getOnDeckMetadata), - ); -} - -export function getOnDeckMetadataFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckMetadata$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckMetadata' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckMediaContainer$inboundSchema: z.ZodType< - GetOnDeckMediaContainer, - z.ZodTypeDef, - unknown -> = z.object({ - size: z.number().optional(), - allowSync: z.boolean().optional(), - identifier: z.string().optional(), - mediaTagPrefix: z.string().optional(), - mediaTagVersion: z.number().optional(), - mixedParents: z.boolean().optional(), - Metadata: z.array(z.lazy(() => GetOnDeckMetadata$inboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - "Metadata": "metadata", - }); -}); - -/** @internal */ -export type GetOnDeckMediaContainer$Outbound = { - size?: number | undefined; - allowSync?: boolean | undefined; - identifier?: string | undefined; - mediaTagPrefix?: string | undefined; - mediaTagVersion?: number | undefined; - mixedParents?: boolean | undefined; - Metadata?: Array | undefined; -}; - -/** @internal */ -export const GetOnDeckMediaContainer$outboundSchema: z.ZodType< - GetOnDeckMediaContainer$Outbound, - z.ZodTypeDef, - GetOnDeckMediaContainer -> = z.object({ - size: z.number().optional(), - allowSync: z.boolean().optional(), - identifier: z.string().optional(), - mediaTagPrefix: z.string().optional(), - mediaTagVersion: z.number().optional(), - mixedParents: z.boolean().optional(), - metadata: z.array(z.lazy(() => GetOnDeckMetadata$outboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - metadata: "Metadata", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckMediaContainer$ { - /** @deprecated use `GetOnDeckMediaContainer$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckMediaContainer$inboundSchema; - /** @deprecated use `GetOnDeckMediaContainer$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckMediaContainer$outboundSchema; - /** @deprecated use `GetOnDeckMediaContainer$Outbound` instead. */ - export type Outbound = GetOnDeckMediaContainer$Outbound; -} - -export function getOnDeckMediaContainerToJSON( - getOnDeckMediaContainer: GetOnDeckMediaContainer, -): string { - return JSON.stringify( - GetOnDeckMediaContainer$outboundSchema.parse(getOnDeckMediaContainer), - ); -} - -export function getOnDeckMediaContainerFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckMediaContainer$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckMediaContainer' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckResponseBody$inboundSchema: z.ZodType< - GetOnDeckResponseBody, - z.ZodTypeDef, - unknown -> = z.object({ - MediaContainer: z.lazy(() => GetOnDeckMediaContainer$inboundSchema) - .optional(), -}).transform((v) => { - return remap$(v, { - "MediaContainer": "mediaContainer", - }); -}); - -/** @internal */ -export type GetOnDeckResponseBody$Outbound = { - MediaContainer?: GetOnDeckMediaContainer$Outbound | undefined; -}; - -/** @internal */ -export const GetOnDeckResponseBody$outboundSchema: z.ZodType< - GetOnDeckResponseBody$Outbound, - z.ZodTypeDef, - GetOnDeckResponseBody -> = z.object({ - mediaContainer: z.lazy(() => GetOnDeckMediaContainer$outboundSchema) - .optional(), -}).transform((v) => { - return remap$(v, { - mediaContainer: "MediaContainer", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckResponseBody$ { - /** @deprecated use `GetOnDeckResponseBody$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckResponseBody$inboundSchema; - /** @deprecated use `GetOnDeckResponseBody$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckResponseBody$outboundSchema; - /** @deprecated use `GetOnDeckResponseBody$Outbound` instead. */ - export type Outbound = GetOnDeckResponseBody$Outbound; -} - -export function getOnDeckResponseBodyToJSON( - getOnDeckResponseBody: GetOnDeckResponseBody, -): string { - return JSON.stringify( - GetOnDeckResponseBody$outboundSchema.parse(getOnDeckResponseBody), - ); -} - -export function getOnDeckResponseBodyFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckResponseBody$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckResponseBody' from JSON`, - ); -} - -/** @internal */ -export const GetOnDeckResponse$inboundSchema: z.ZodType< - GetOnDeckResponse, - z.ZodTypeDef, - unknown -> = z.object({ - ContentType: z.string(), - StatusCode: z.number().int(), - RawResponse: z.instanceof(Response), - object: z.lazy(() => GetOnDeckResponseBody$inboundSchema).optional(), -}).transform((v) => { - return remap$(v, { - "ContentType": "contentType", - "StatusCode": "statusCode", - "RawResponse": "rawResponse", - }); -}); - -/** @internal */ -export type GetOnDeckResponse$Outbound = { - ContentType: string; - StatusCode: number; - RawResponse: never; - object?: GetOnDeckResponseBody$Outbound | undefined; -}; - -/** @internal */ -export const GetOnDeckResponse$outboundSchema: z.ZodType< - GetOnDeckResponse$Outbound, - z.ZodTypeDef, - GetOnDeckResponse -> = z.object({ - contentType: z.string(), - statusCode: z.number().int(), - rawResponse: z.instanceof(Response).transform(() => { - throw new Error("Response cannot be serialized"); - }), - object: z.lazy(() => GetOnDeckResponseBody$outboundSchema).optional(), -}).transform((v) => { - return remap$(v, { - contentType: "ContentType", - statusCode: "StatusCode", - rawResponse: "RawResponse", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetOnDeckResponse$ { - /** @deprecated use `GetOnDeckResponse$inboundSchema` instead. */ - export const inboundSchema = GetOnDeckResponse$inboundSchema; - /** @deprecated use `GetOnDeckResponse$outboundSchema` instead. */ - export const outboundSchema = GetOnDeckResponse$outboundSchema; - /** @deprecated use `GetOnDeckResponse$Outbound` instead. */ - export type Outbound = GetOnDeckResponse$Outbound; -} - -export function getOnDeckResponseToJSON( - getOnDeckResponse: GetOnDeckResponse, -): string { - return JSON.stringify( - GetOnDeckResponse$outboundSchema.parse(getOnDeckResponse), - ); -} - -export function getOnDeckResponseFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetOnDeckResponse$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetOnDeckResponse' from JSON`, - ); -} diff --git a/src/sdk/models/operations/getrecentlyadded.ts b/src/sdk/models/operations/getrecentlyadded.ts index 94c250fb..c5309736 100644 --- a/src/sdk/models/operations/getrecentlyadded.ts +++ b/src/sdk/models/operations/getrecentlyadded.ts @@ -189,328 +189,6 @@ export enum GetRecentlyAddedHubsType { Album = "album", } -/** - * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). - */ -export enum FlattenSeasons { - LibraryDefault = "-1", - Hide = "0", - Show = "1", -} - -/** - * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - */ -export enum EpisodeSort { - LibraryDefault = "-1", - OldestFirst = "0", - NewestFirst = "1", -} - -/** - * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - */ -export enum EnableCreditsMarkerGeneration { - LibraryDefault = "-1", - Disabled = "0", -} - -/** - * Setting that indicates the episode ordering for the show. - * - * @remarks - * None = Library default, - * tmdbAiring = The Movie Database (Aired), - * aired = TheTVDB (Aired), - * dvd = TheTVDB (DVD), - * absolute = TheTVDB (Absolute)). - */ -export enum ShowOrdering { - None = "None", - TmdbAiring = "tmdbAiring", - TvdbAired = "aired", - TvdbDvd = "dvd", - TvdbAbsolute = "absolute", -} - -export enum OptimizedForStreaming { - Disable = 0, - Enable = 1, -} - -export enum HasThumbnail { - False = "0", - True = "1", -} - -export type Stream = { - id: number; - /** - * Type of stream (1 = video, 2 = audio, 3 = subtitle) - */ - streamType: number; - /** - * Indicates if this is the default stream - */ - default?: boolean | undefined; - /** - * Indicates if the stream is selected - */ - selected?: boolean | undefined; - /** - * Codec used by the stream - */ - codec: string; - /** - * The index of the stream - */ - index: number; - /** - * The bitrate of the stream in kbps - */ - bitrate?: number | undefined; - /** - * The color primaries of the video stream - */ - colorPrimaries?: string | undefined; - /** - * The color range of the video stream - */ - colorRange?: string | undefined; - /** - * The color space of the video stream - */ - colorSpace?: string | undefined; - /** - * The transfer characteristics (TRC) of the video stream - */ - colorTrc?: string | undefined; - /** - * The bit depth of the video stream - */ - bitDepth?: number | undefined; - /** - * The chroma location of the video stream - */ - chromaLocation?: string | undefined; - /** - * The identifier of the video stream - */ - streamIdentifier?: string | undefined; - /** - * The chroma subsampling format - */ - chromaSubsampling?: string | undefined; - /** - * The coded height of the video stream - */ - codedHeight?: number | undefined; - /** - * The coded width of the video stream - */ - codedWidth?: number | undefined; - /** - * The frame rate of the video stream - */ - frameRate?: number | undefined; - /** - * Indicates if the stream has a scaling matrix - */ - hasScalingMatrix?: boolean | undefined; - hearingImpaired?: boolean | undefined; - closedCaptions?: boolean | undefined; - embeddedInVideo?: string | undefined; - /** - * The height of the video stream - */ - height?: number | undefined; - /** - * The level of the video codec - */ - level?: number | undefined; - /** - * The profile of the video codec - */ - profile?: string | undefined; - /** - * Number of reference frames - */ - refFrames?: number | undefined; - /** - * The scan type (progressive or interlaced) - */ - scanType?: string | undefined; - /** - * The width of the video stream - */ - width?: number | undefined; - /** - * Display title of the stream - */ - displayTitle?: string | undefined; - /** - * Extended display title of the stream - */ - extendedDisplayTitle?: string | undefined; - /** - * Number of audio channels (for audio streams) - */ - channels?: number | undefined; - /** - * The language of the stream (for audio/subtitle streams) - */ - language?: string | undefined; - /** - * Language tag of the stream - */ - languageTag?: string | undefined; - /** - * Language code of the stream - */ - languageCode?: string | undefined; - /** - * The audio channel layout - */ - audioChannelLayout?: string | undefined; - /** - * Sampling rate of the audio stream in Hz - */ - samplingRate?: number | undefined; - /** - * Title of the subtitle track (for subtitle streams) - */ - title?: string | undefined; - /** - * Indicates if the subtitle stream can auto-sync - */ - canAutoSync?: boolean | undefined; -}; - -export type Part = { - id: number; - key: string; - duration?: number | undefined; - file: string; - size: number; - /** - * The container format of the media file. - * - * @remarks - */ - container: string; - audioProfile?: string | undefined; - has64bitOffsets?: boolean | undefined; - optimizedForStreaming?: boolean | undefined; - videoProfile?: string | undefined; - indexes?: string | undefined; - hasThumbnail?: HasThumbnail | undefined; - stream?: Array | undefined; -}; - -export type Media = { - id: number; - duration?: number | undefined; - bitrate?: number | undefined; - width?: number | undefined; - height?: number | undefined; - aspectRatio?: number | undefined; - audioProfile?: string | undefined; - audioChannels?: number | undefined; - audioCodec?: string | undefined; - videoCodec?: string | undefined; - videoResolution?: string | undefined; - container: string; - videoFrameRate?: string | undefined; - videoProfile?: string | undefined; - hasVoiceActivity?: boolean | undefined; - optimizedForStreaming?: OptimizedForStreaming | undefined; - has64bitOffsets?: boolean | undefined; - part: Array; -}; - -export type Genre = { - tag?: string | undefined; -}; - -export type Country = { - tag?: string | undefined; -}; - -export type Director = { - tag?: string | undefined; -}; - -export type Writer = { - tag?: string | undefined; -}; - -export type Collection = { - tag?: string | undefined; -}; - -export type Role = { - /** - * The ID of the tag or actor. - */ - id?: number | undefined; - /** - * The filter used to find the actor or tag. - */ - filter?: string | undefined; - /** - * The thumbnail of the actor - */ - thumb?: string | undefined; - /** - * The name of the tag or actor. - */ - tag?: string | undefined; - /** - * Unique identifier for the tag. - */ - tagKey?: string | undefined; - /** - * The role of the actor or tag in the media. - */ - role?: string | undefined; -}; - -export type Location = { - path?: string | undefined; -}; - -export type MediaGuid = { - /** - * Can be one of the following formats: - * - * @remarks - * imdb://tt13015952, tmdb://2434012, tvdb://7945991 - */ - id: string; -}; - -export type UltraBlurColors = { - topLeft: string; - topRight: string; - bottomRight: string; - bottomLeft: string; -}; - -export type MetaDataRating = { - /** - * A URI or path to the rating image. - */ - image: string; - /** - * The value of the rating. - */ - value: number; - /** - * The type of rating (e.g., audience, critic). - */ - type: string; -}; - export enum GetRecentlyAddedHubsResponseType { CoverPoster = "coverPoster", Background = "background", @@ -524,148 +202,793 @@ export type GetRecentlyAddedImage = { url: string; }; -export type GetRecentlyAddedMetadata = { +export type UltraBlurColors = { + topLeft: string; + topRight: string; + bottomRight: string; + bottomLeft: string; +}; + +export enum One { + Zero = 0, + One = 1, +} + +/** + * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + */ +export type OptimizedForStreaming = One | boolean; + +export enum GetRecentlyAddedOptimizedForStreaming1 { + Zero = 0, + One = 1, +} + +/** + * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + */ +export type GetRecentlyAddedOptimizedForStreaming = + | GetRecentlyAddedOptimizedForStreaming1 + | boolean; + +/** + * Indicates if the part has a thumbnail. + */ +export enum HasThumbnail { + False = "0", + True = "1", +} + +export type Stream = { /** - * The rating key (Media ID) of this media item. + * Unique stream identifier. + */ + id: number; + /** + * Stream type (1=video, 2=audio, 3=subtitle). + */ + streamType: number; + /** + * Indicates if this stream is default. + */ + default?: boolean | undefined; + /** + * Codec used by the stream. + */ + codec: string; + /** + * Index of the stream. + */ + index: number; + /** + * Bitrate of the stream. + */ + bitrate?: number | undefined; + /** + * Language of the stream. + */ + language?: string | undefined; + /** + * Language tag (e.g., en). + */ + languageTag?: string | undefined; + /** + * ISO language code. + */ + languageCode?: string | undefined; + /** + * Indicates whether header compression is enabled. + */ + headerCompression?: boolean | undefined; + /** + * Dolby Vision BL compatibility ID. + */ + doviblCompatID?: number | undefined; + /** + * Indicates if Dolby Vision BL is present. + */ + doviblPresent?: boolean | undefined; + /** + * Indicates if Dolby Vision EL is present. + */ + dovielPresent?: boolean | undefined; + /** + * Dolby Vision level. + */ + doviLevel?: number | undefined; + /** + * Indicates if Dolby Vision is present. + */ + doviPresent?: boolean | undefined; + /** + * Dolby Vision profile. + */ + doviProfile?: number | undefined; + /** + * Indicates if Dolby Vision RPU is present. + */ + dovirpuPresent?: boolean | undefined; + /** + * Dolby Vision version. + */ + doviVersion?: string | undefined; + /** + * Bit depth of the video stream. + */ + bitDepth?: number | undefined; + /** + * Chroma sample location. + */ + chromaLocation?: string | undefined; + /** + * Chroma subsampling format. + */ + chromaSubsampling?: string | undefined; + /** + * Coded video height. + */ + codedHeight?: number | undefined; + /** + * Coded video width. + */ + codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; + /** + * Color primaries used. + */ + colorPrimaries?: string | undefined; + /** + * Color range (e.g., tv). + */ + colorRange?: string | undefined; + /** + * Color space. + */ + colorSpace?: string | undefined; + /** + * Color transfer characteristics. + */ + colorTrc?: string | undefined; + /** + * Frame rate of the stream. + */ + frameRate?: number | undefined; + /** + * Height of the video stream. + */ + height?: number | undefined; + /** + * Video level. + */ + level?: number | undefined; + /** + * Indicates if this is the original stream. + */ + original?: boolean | undefined; + hasScalingMatrix?: boolean | undefined; + /** + * Video profile. + */ + profile?: string | undefined; + scanType?: string | undefined; + embeddedInVideo?: string | undefined; + /** + * Number of reference frames. + */ + refFrames?: number | undefined; + /** + * Width of the video stream. + */ + width?: number | undefined; + /** + * Display title for the stream. + */ + displayTitle: string; + /** + * Extended display title for the stream. + */ + extendedDisplayTitle: string; + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + selected?: boolean | undefined; + forced?: boolean | undefined; + /** + * Number of audio channels (for audio streams). + */ + channels?: number | undefined; + /** + * Audio channel layout. + */ + audioChannelLayout?: string | undefined; + /** + * Sampling rate for the audio stream. + */ + samplingRate?: number | undefined; + /** + * Indicates if the stream can auto-sync. + */ + canAutoSync?: boolean | undefined; + /** + * Indicates if the stream is for the hearing impaired. + */ + hearingImpaired?: boolean | undefined; + /** + * Indicates if the stream is a dub. + */ + dub?: boolean | undefined; + /** + * Optional title for the stream (e.g., language variant). + */ + title?: string | undefined; +}; + +export type Part = { + /** + * Indicates if the part is accessible. + */ + accessible?: boolean | undefined; + /** + * Indicates if the part exists. + */ + exists?: boolean | undefined; + /** + * Unique part identifier. + */ + id: number; + /** + * Key to access this part. + */ + key: string; + indexes?: string | undefined; + /** + * Duration of the part in milliseconds. + */ + duration?: number | undefined; + /** + * File path for the part. + */ + file: string; + /** + * File size in bytes. + */ + size: number; + packetLength?: number | undefined; + /** + * Container format of the part. + */ + container?: string | undefined; + /** + * Video profile for the part. + */ + videoProfile?: string | undefined; + /** + * The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + */ + audioProfile?: string | undefined; + has64bitOffsets?: boolean | undefined; + /** + * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + */ + optimizedForStreaming?: + | GetRecentlyAddedOptimizedForStreaming1 + | boolean + | undefined; + hasThumbnail?: HasThumbnail | undefined; + /** + * An array of streams for this part. + */ + stream?: Array | undefined; +}; + +export type Media = { + /** + * Unique media identifier. + */ + id: number; + /** + * Duration of the media in milliseconds. + */ + duration?: number | undefined; + /** + * Bitrate in bits per second. + */ + bitrate?: number | undefined; + /** + * Video width in pixels. + */ + width?: number | undefined; + /** + * Video height in pixels. + */ + height?: number | undefined; + /** + * Aspect ratio of the video. + */ + aspectRatio?: number | undefined; + /** + * Number of audio channels. + */ + audioChannels?: number | undefined; + displayOffset?: number | undefined; + /** + * Audio codec used. + */ + audioCodec?: string | undefined; + /** + * Video codec used. + */ + videoCodec?: string | undefined; + /** + * Video resolution (e.g., 4k). + */ + videoResolution?: string | undefined; + /** + * File container type. + */ + container?: string | undefined; + /** + * Frame rate of the video. Values found include NTSC, PAL, 24p * * @remarks - * Note: This is always an integer, but is represented as a string in the API. + */ + videoFrameRate?: string | undefined; + /** + * Video profile (e.g., main 10). + */ + videoProfile?: string | undefined; + /** + * Indicates whether voice activity is detected. + */ + hasVoiceActivity?: boolean | undefined; + /** + * The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + */ + audioProfile?: string | undefined; + /** + * Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + */ + optimizedForStreaming?: One | boolean | undefined; + has64bitOffsets?: boolean | undefined; + /** + * An array of parts for this media item. + */ + part?: Array | undefined; +}; + +/** + * The filter query string for similar items. + */ +export type Genre = { + id: number; + filter: string; + /** + * The genre name of this media-item + * + * @remarks + */ + tag: string; +}; + +/** + * The filter query string for country media items. + */ +export type Country = { + id: number; + /** + * The country of origin of this media item + */ + tag: string; + filter?: string | undefined; +}; + +export type Director = { + /** + * The role of Director + */ + tag: string; +}; + +export type Writer = { + /** + * Unique identifier for the writer. + */ + id: number; + /** + * The filter string used to query this writer. + */ + filter: string; + /** + * The role of Writer + */ + tag: string; + /** + * A unique key associated with the writers tag, used for internal identification. + */ + tagKey?: string | undefined; +}; + +export type Role = { + /** + * Unique identifier for the actor or role. + */ + id: number; + /** + * The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. + */ + filter: string; + /** + * The display tag for the actor (typically the actor's name). + */ + tag: string; + /** + * A unique key associated with the actor's tag, used for internal identification. + */ + tagKey?: string | undefined; + /** + * The role played by the actor in the media item. + */ + role?: string | undefined; + /** + * The URL of the thumbnail image for the actor. + */ + thumb?: string | undefined; +}; + +export type Producer = { + /** + * Unique identifier for the producer. + */ + id: number; + /** + * The filter string used to query this producer. + */ + filter: string; + /** + * The name of the producer + */ + tag: string; + /** + * A unique key associated with the producer's tag, used for internal identification. + */ + tagKey?: string | undefined; + /** + * The URL of the thumbnail image for the actor. + */ + thumb?: string | undefined; +}; + +/** + * The type of rating, for example 'audience' or 'critic'. + */ +export type Rating = { + image: string; + value: number; + type: string; +}; + +/** + * The display tag for the similar item, typically the title. + */ +export type Similar = { + id: number; + filter: string; + tag: string; +}; + +/** + * The folder path for the media item. + */ +export type Location = { + path: string; +}; + +export type Guids = { + /** + * The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 + * + * @remarks + */ + id?: string | undefined; +}; + +export type Collection = { + /** + * The user-made collection this media item belongs to + */ + tag: string; +}; + +/** + * Unknown + * + * @remarks + */ +export type GetRecentlyAddedMetadata = { + addedAt: number; + /** + * The art image URL for the media item. + */ + art: string; + /** + * The URL for the audience rating image. + */ + audienceRatingImage?: string | undefined; + /** + * The audience rating for the media item. + */ + audienceRating: number; + /** + * The source from which chapter data is derived. + */ + chapterSource?: string | undefined; + /** + * The number of child items associated with this media item. + */ + childCount: number; + /** + * The content rating for the media item. + */ + contentRating?: string | undefined; + /** + * The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). + */ + createdAtAccuracy?: string | undefined; + /** + * The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. + */ + createdAtTZOffset?: string | undefined; + /** + * The duration of the media item in milliseconds. + */ + duration: number; + /** + * The art URL for the grandparent media item. + */ + grandparentArt?: string | undefined; + /** + * The GUID of the grandparent media item. + */ + grandparentGuid?: string | undefined; + /** + * The key of the grandparent media item. + */ + grandparentKey?: string | undefined; + /** + * The rating key of the grandparent media item. + */ + grandparentRatingKey?: string | undefined; + /** + * The slug for the grandparent media item. + */ + grandparentSlug?: string | undefined; + /** + * The theme URL for the grandparent media item. + */ + grandparentTheme?: string | undefined; + /** + * The thumbnail URL for the grandparent media item. + */ + grandparentThumb?: string | undefined; + /** + * The title of the grandparent media item. + */ + grandparentTitle?: string | undefined; + /** + * The globally unique identifier for the media item. + */ + guid: string; + /** + * The index position of the media item. + */ + index: number; + /** + * The unique key for the media item. + */ + key: string; + /** + * The Unix timestamp representing the last time the item was rated. + */ + lastRatedAt?: number | undefined; + /** + * Unix timestamp for when the media item was last viewed. + */ + lastViewedAt?: number | undefined; + /** + * The number of leaf items (end nodes) under this media item. + */ + leafCount?: number | undefined; + /** + * The identifier for the library section. + */ + librarySectionID: number; + /** + * The key corresponding to the library section. + */ + librarySectionKey: string; + /** + * The title of the library section. + */ + librarySectionTitle: string; + /** + * The original title of the media item (if different). + */ + originalTitle?: string | undefined; + /** + * The original release date of the media item. + */ + originallyAvailableAt: RFCDate; + /** + * The GUID of the parent media item. + */ + parentGuid?: string | undefined; + /** + * The index position of the parent media item. + */ + parentIndex?: number | undefined; + /** + * The key of the parent media item. + */ + parentKey?: string | undefined; + /** + * The rating key of the parent media item. + */ + parentRatingKey?: string | undefined; + /** + * The slug for the parent media item. + */ + parentSlug?: string | undefined; + /** + * The studio of the parent media item. + */ + parentStudio: string; + /** + * The theme URL for the parent media item. + */ + parentTheme: string; + /** + * The thumbnail URL for the parent media item. + */ + parentThumb?: string | undefined; + /** + * The title of the parent media item. + */ + parentTitle?: string | undefined; + /** + * The release year of the parent media item. + */ + parentYear?: number | undefined; + /** + * The primary extra key associated with this media item. + */ + primaryExtraKey?: string | undefined; + /** + * The URL for the rating image. + */ + ratingImage?: string | undefined; + /** + * The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. */ ratingKey: string; - key: string; - guid: string; + /** + * The critic rating for the media item. + */ + rating: number; + /** + * The total number of seasons (for TV shows). + */ + seasonCount: number; + /** + * The number of times this media item has been skipped. + */ + skipCount?: number | undefined; + /** + * A URL‐friendly version of the media title. + */ + slug: string; + /** + * The studio that produced the media item. + */ studio?: string | undefined; - skipChildren?: boolean | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionKey?: string | undefined; /** - * The type of media content - * - * @remarks + * A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. + */ + subtype?: string | undefined; + /** + * A synopsis of the media item. */ - type: GetRecentlyAddedHubsType; - title: string; - slug?: string | undefined; - contentRating?: string | undefined; summary: string; - rating?: number | undefined; - audienceRating?: number | undefined; - year?: number | undefined; - seasonCount?: number | undefined; - tagline?: string | undefined; /** - * Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + * A brief tagline for the media item. */ - flattenSeasons?: FlattenSeasons | undefined; + tagline: string; /** - * Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). + * The theme URL for the media item. */ - episodeSort?: EpisodeSort | undefined; + theme: string; /** - * Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). + * The thumbnail image URL for the media item. */ - enableCreditsMarkerGeneration?: EnableCreditsMarkerGeneration | undefined; + thumb: string; /** - * Setting that indicates the episode ordering for the show. - * - * @remarks - * None = Library default, - * tmdbAiring = The Movie Database (Aired), - * aired = TheTVDB (Aired), - * dvd = TheTVDB (DVD), - * absolute = TheTVDB (Absolute)). + * The sort title used for ordering media items. */ - showOrdering?: ShowOrdering | undefined; - thumb?: string | undefined; - art?: string | undefined; - banner?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: RFCDate | undefined; + titleSort: string; /** - * Unix epoch datetime in seconds + * The title of the media item. */ - addedAt: number; + title: string; + type: GetRecentlyAddedHubsType; /** * Unix epoch datetime in seconds */ updatedAt?: number | undefined; - audienceRatingImage?: string | undefined; - chapterSource?: string | undefined; - primaryExtraKey?: string | undefined; - ratingImage?: string | undefined; - grandparentRatingKey?: string | undefined; - grandparentGuid?: string | undefined; - grandparentKey?: string | undefined; - grandparentTitle?: string | undefined; - grandparentThumb?: string | undefined; - parentSlug?: string | undefined; - grandparentSlug?: string | undefined; - grandparentArt?: string | undefined; - grandparentTheme?: string | undefined; /** - * The Media object is only included when type query is `4` or higher. - * - * @remarks + * The rating provided by a user for the item. This value is expressed as a decimal number. */ + userRating?: number | undefined; + /** + * The number of times this media item has been viewed. + */ + viewCount?: number | undefined; + /** + * The current playback offset (in milliseconds). + */ + viewOffset?: number | undefined; + /** + * The number of leaf items that have been viewed. + */ + viewedLeafCount?: number | undefined; + /** + * The release year of the media item. + */ + year?: number | undefined; + image?: Array | undefined; + ultraBlurColors?: UltraBlurColors | undefined; media?: Array | undefined; genre?: Array | undefined; country?: Array | undefined; director?: Array | undefined; writer?: Array | undefined; - collection?: Array | undefined; role?: Array | undefined; + producer?: Array | undefined; + rating1?: Array | undefined; + similar?: Array | undefined; location?: Array | undefined; - /** - * The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. - * - * @remarks - */ - mediaGuid?: Array | undefined; - ultraBlurColors?: UltraBlurColors | undefined; - metaDataRating?: Array | undefined; - image?: Array | undefined; - titleSort?: string | undefined; - viewCount?: number | undefined; - lastViewedAt?: number | undefined; - originalTitle?: string | undefined; - viewOffset?: number | undefined; - skipCount?: number | undefined; - index?: number | undefined; - theme?: string | undefined; - leafCount?: number | undefined; - viewedLeafCount?: number | undefined; - childCount?: number | undefined; - hasPremiumExtras?: string | undefined; - hasPremiumPrimaryExtra?: string | undefined; - /** - * The rating key of the parent item. - * - * @remarks - */ - parentRatingKey?: string | undefined; - parentGuid?: string | undefined; - parentStudio?: string | undefined; - parentKey?: string | undefined; - parentTitle?: string | undefined; - parentIndex?: number | undefined; - parentYear?: number | undefined; - parentThumb?: string | undefined; - parentTheme?: string | undefined; + guids?: Array | undefined; + collection?: Array | undefined; }; export type GetRecentlyAddedMediaContainer = { + /** + * Number of media items returned in this response. + */ size: number; - offset?: number | undefined; - totalSize?: number | undefined; - identifier?: string | undefined; - allowSync?: boolean | undefined; + /** + * Total number of media items in the library. + */ + totalSize: number; + /** + * Offset value for pagination. + */ + offset: number; + /** + * Indicates whether syncing is allowed. + */ + allowSync: boolean; + /** + * An plugin identifier for the media container. + */ + identifier: string; /** * The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. * * @remarks */ meta?: Meta | undefined; + /** + * An array of metadata items. + */ metadata?: Array | undefined; }; @@ -1364,997 +1687,6 @@ export namespace GetRecentlyAddedHubsType$ { export const outboundSchema = GetRecentlyAddedHubsType$outboundSchema; } -/** @internal */ -export const FlattenSeasons$inboundSchema: z.ZodNativeEnum< - typeof FlattenSeasons -> = z.nativeEnum(FlattenSeasons); - -/** @internal */ -export const FlattenSeasons$outboundSchema: z.ZodNativeEnum< - typeof FlattenSeasons -> = FlattenSeasons$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace FlattenSeasons$ { - /** @deprecated use `FlattenSeasons$inboundSchema` instead. */ - export const inboundSchema = FlattenSeasons$inboundSchema; - /** @deprecated use `FlattenSeasons$outboundSchema` instead. */ - export const outboundSchema = FlattenSeasons$outboundSchema; -} - -/** @internal */ -export const EpisodeSort$inboundSchema: z.ZodNativeEnum = z - .nativeEnum(EpisodeSort); - -/** @internal */ -export const EpisodeSort$outboundSchema: z.ZodNativeEnum = - EpisodeSort$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace EpisodeSort$ { - /** @deprecated use `EpisodeSort$inboundSchema` instead. */ - export const inboundSchema = EpisodeSort$inboundSchema; - /** @deprecated use `EpisodeSort$outboundSchema` instead. */ - export const outboundSchema = EpisodeSort$outboundSchema; -} - -/** @internal */ -export const EnableCreditsMarkerGeneration$inboundSchema: z.ZodNativeEnum< - typeof EnableCreditsMarkerGeneration -> = z.nativeEnum(EnableCreditsMarkerGeneration); - -/** @internal */ -export const EnableCreditsMarkerGeneration$outboundSchema: z.ZodNativeEnum< - typeof EnableCreditsMarkerGeneration -> = EnableCreditsMarkerGeneration$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace EnableCreditsMarkerGeneration$ { - /** @deprecated use `EnableCreditsMarkerGeneration$inboundSchema` instead. */ - export const inboundSchema = EnableCreditsMarkerGeneration$inboundSchema; - /** @deprecated use `EnableCreditsMarkerGeneration$outboundSchema` instead. */ - export const outboundSchema = EnableCreditsMarkerGeneration$outboundSchema; -} - -/** @internal */ -export const ShowOrdering$inboundSchema: z.ZodNativeEnum = - z.nativeEnum(ShowOrdering); - -/** @internal */ -export const ShowOrdering$outboundSchema: z.ZodNativeEnum = - ShowOrdering$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace ShowOrdering$ { - /** @deprecated use `ShowOrdering$inboundSchema` instead. */ - export const inboundSchema = ShowOrdering$inboundSchema; - /** @deprecated use `ShowOrdering$outboundSchema` instead. */ - export const outboundSchema = ShowOrdering$outboundSchema; -} - -/** @internal */ -export const OptimizedForStreaming$inboundSchema: z.ZodNativeEnum< - typeof OptimizedForStreaming -> = z.nativeEnum(OptimizedForStreaming); - -/** @internal */ -export const OptimizedForStreaming$outboundSchema: z.ZodNativeEnum< - typeof OptimizedForStreaming -> = OptimizedForStreaming$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace OptimizedForStreaming$ { - /** @deprecated use `OptimizedForStreaming$inboundSchema` instead. */ - export const inboundSchema = OptimizedForStreaming$inboundSchema; - /** @deprecated use `OptimizedForStreaming$outboundSchema` instead. */ - export const outboundSchema = OptimizedForStreaming$outboundSchema; -} - -/** @internal */ -export const HasThumbnail$inboundSchema: z.ZodNativeEnum = - z.nativeEnum(HasThumbnail); - -/** @internal */ -export const HasThumbnail$outboundSchema: z.ZodNativeEnum = - HasThumbnail$inboundSchema; - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace HasThumbnail$ { - /** @deprecated use `HasThumbnail$inboundSchema` instead. */ - export const inboundSchema = HasThumbnail$inboundSchema; - /** @deprecated use `HasThumbnail$outboundSchema` instead. */ - export const outboundSchema = HasThumbnail$outboundSchema; -} - -/** @internal */ -export const Stream$inboundSchema: z.ZodType = z - .object({ - id: z.number().int(), - streamType: z.number().int(), - default: z.boolean().optional(), - selected: z.boolean().optional(), - codec: z.string(), - index: z.number().int(), - bitrate: z.number().int().optional(), - colorPrimaries: z.string().optional(), - colorRange: z.string().optional(), - colorSpace: z.string().optional(), - colorTrc: z.string().optional(), - bitDepth: z.number().int().optional(), - chromaLocation: z.string().optional(), - streamIdentifier: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().int().optional(), - codedWidth: z.number().int().optional(), - frameRate: z.number().optional(), - hasScalingMatrix: z.boolean().optional(), - hearingImpaired: z.boolean().optional(), - closedCaptions: z.boolean().optional(), - embeddedInVideo: z.string().optional(), - height: z.number().int().optional(), - level: z.number().int().optional(), - profile: z.string().optional(), - refFrames: z.number().int().optional(), - scanType: z.string().optional(), - width: z.number().int().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), - channels: z.number().int().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - audioChannelLayout: z.string().optional(), - samplingRate: z.number().int().optional(), - title: z.string().optional(), - canAutoSync: z.boolean().optional(), - }); - -/** @internal */ -export type Stream$Outbound = { - id: number; - streamType: number; - default?: boolean | undefined; - selected?: boolean | undefined; - codec: string; - index: number; - bitrate?: number | undefined; - colorPrimaries?: string | undefined; - colorRange?: string | undefined; - colorSpace?: string | undefined; - colorTrc?: string | undefined; - bitDepth?: number | undefined; - chromaLocation?: string | undefined; - streamIdentifier?: string | undefined; - chromaSubsampling?: string | undefined; - codedHeight?: number | undefined; - codedWidth?: number | undefined; - frameRate?: number | undefined; - hasScalingMatrix?: boolean | undefined; - hearingImpaired?: boolean | undefined; - closedCaptions?: boolean | undefined; - embeddedInVideo?: string | undefined; - height?: number | undefined; - level?: number | undefined; - profile?: string | undefined; - refFrames?: number | undefined; - scanType?: string | undefined; - width?: number | undefined; - displayTitle?: string | undefined; - extendedDisplayTitle?: string | undefined; - channels?: number | undefined; - language?: string | undefined; - languageTag?: string | undefined; - languageCode?: string | undefined; - audioChannelLayout?: string | undefined; - samplingRate?: number | undefined; - title?: string | undefined; - canAutoSync?: boolean | undefined; -}; - -/** @internal */ -export const Stream$outboundSchema: z.ZodType< - Stream$Outbound, - z.ZodTypeDef, - Stream -> = z.object({ - id: z.number().int(), - streamType: z.number().int(), - default: z.boolean().optional(), - selected: z.boolean().optional(), - codec: z.string(), - index: z.number().int(), - bitrate: z.number().int().optional(), - colorPrimaries: z.string().optional(), - colorRange: z.string().optional(), - colorSpace: z.string().optional(), - colorTrc: z.string().optional(), - bitDepth: z.number().int().optional(), - chromaLocation: z.string().optional(), - streamIdentifier: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().int().optional(), - codedWidth: z.number().int().optional(), - frameRate: z.number().optional(), - hasScalingMatrix: z.boolean().optional(), - hearingImpaired: z.boolean().optional(), - closedCaptions: z.boolean().optional(), - embeddedInVideo: z.string().optional(), - height: z.number().int().optional(), - level: z.number().int().optional(), - profile: z.string().optional(), - refFrames: z.number().int().optional(), - scanType: z.string().optional(), - width: z.number().int().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), - channels: z.number().int().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - audioChannelLayout: z.string().optional(), - samplingRate: z.number().int().optional(), - title: z.string().optional(), - canAutoSync: z.boolean().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Stream$ { - /** @deprecated use `Stream$inboundSchema` instead. */ - export const inboundSchema = Stream$inboundSchema; - /** @deprecated use `Stream$outboundSchema` instead. */ - export const outboundSchema = Stream$outboundSchema; - /** @deprecated use `Stream$Outbound` instead. */ - export type Outbound = Stream$Outbound; -} - -export function streamToJSON(stream: Stream): string { - return JSON.stringify(Stream$outboundSchema.parse(stream)); -} - -export function streamFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Stream$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Stream' from JSON`, - ); -} - -/** @internal */ -export const Part$inboundSchema: z.ZodType = z - .object({ - id: z.number().int(), - key: z.string(), - duration: z.number().int().optional(), - file: z.string(), - size: z.number().int(), - container: z.string(), - audioProfile: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - optimizedForStreaming: z.boolean().optional(), - videoProfile: z.string().optional(), - indexes: z.string().optional(), - hasThumbnail: HasThumbnail$inboundSchema.default(HasThumbnail.False), - Stream: z.array(z.lazy(() => Stream$inboundSchema)).optional(), - }).transform((v) => { - return remap$(v, { - "Stream": "stream", - }); - }); - -/** @internal */ -export type Part$Outbound = { - id: number; - key: string; - duration?: number | undefined; - file: string; - size: number; - container: string; - audioProfile?: string | undefined; - has64bitOffsets?: boolean | undefined; - optimizedForStreaming?: boolean | undefined; - videoProfile?: string | undefined; - indexes?: string | undefined; - hasThumbnail: string; - Stream?: Array | undefined; -}; - -/** @internal */ -export const Part$outboundSchema: z.ZodType = - z.object({ - id: z.number().int(), - key: z.string(), - duration: z.number().int().optional(), - file: z.string(), - size: z.number().int(), - container: z.string(), - audioProfile: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - optimizedForStreaming: z.boolean().optional(), - videoProfile: z.string().optional(), - indexes: z.string().optional(), - hasThumbnail: HasThumbnail$outboundSchema.default(HasThumbnail.False), - stream: z.array(z.lazy(() => Stream$outboundSchema)).optional(), - }).transform((v) => { - return remap$(v, { - stream: "Stream", - }); - }); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Part$ { - /** @deprecated use `Part$inboundSchema` instead. */ - export const inboundSchema = Part$inboundSchema; - /** @deprecated use `Part$outboundSchema` instead. */ - export const outboundSchema = Part$outboundSchema; - /** @deprecated use `Part$Outbound` instead. */ - export type Outbound = Part$Outbound; -} - -export function partToJSON(part: Part): string { - return JSON.stringify(Part$outboundSchema.parse(part)); -} - -export function partFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Part$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Part' from JSON`, - ); -} - -/** @internal */ -export const Media$inboundSchema: z.ZodType = z - .object({ - id: z.number().int(), - duration: z.number().int().optional(), - bitrate: z.number().int().optional(), - width: z.number().int().optional(), - height: z.number().int().optional(), - aspectRatio: z.number().optional(), - audioProfile: z.string().optional(), - audioChannels: z.number().int().optional(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string(), - videoFrameRate: z.string().optional(), - videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean().optional(), - optimizedForStreaming: OptimizedForStreaming$inboundSchema, - has64bitOffsets: z.boolean().optional(), - Part: z.array(z.lazy(() => Part$inboundSchema)), - }).transform((v) => { - return remap$(v, { - "Part": "part", - }); - }); - -/** @internal */ -export type Media$Outbound = { - id: number; - duration?: number | undefined; - bitrate?: number | undefined; - width?: number | undefined; - height?: number | undefined; - aspectRatio?: number | undefined; - audioProfile?: string | undefined; - audioChannels?: number | undefined; - audioCodec?: string | undefined; - videoCodec?: string | undefined; - videoResolution?: string | undefined; - container: string; - videoFrameRate?: string | undefined; - videoProfile?: string | undefined; - hasVoiceActivity?: boolean | undefined; - optimizedForStreaming: number; - has64bitOffsets?: boolean | undefined; - Part: Array; -}; - -/** @internal */ -export const Media$outboundSchema: z.ZodType< - Media$Outbound, - z.ZodTypeDef, - Media -> = z.object({ - id: z.number().int(), - duration: z.number().int().optional(), - bitrate: z.number().int().optional(), - width: z.number().int().optional(), - height: z.number().int().optional(), - aspectRatio: z.number().optional(), - audioProfile: z.string().optional(), - audioChannels: z.number().int().optional(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string(), - videoFrameRate: z.string().optional(), - videoProfile: z.string().optional(), - hasVoiceActivity: z.boolean().optional(), - optimizedForStreaming: OptimizedForStreaming$outboundSchema.default( - OptimizedForStreaming.Disable, - ), - has64bitOffsets: z.boolean().optional(), - part: z.array(z.lazy(() => Part$outboundSchema)), -}).transform((v) => { - return remap$(v, { - part: "Part", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Media$ { - /** @deprecated use `Media$inboundSchema` instead. */ - export const inboundSchema = Media$inboundSchema; - /** @deprecated use `Media$outboundSchema` instead. */ - export const outboundSchema = Media$outboundSchema; - /** @deprecated use `Media$Outbound` instead. */ - export type Outbound = Media$Outbound; -} - -export function mediaToJSON(media: Media): string { - return JSON.stringify(Media$outboundSchema.parse(media)); -} - -export function mediaFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Media$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Media' from JSON`, - ); -} - -/** @internal */ -export const Genre$inboundSchema: z.ZodType = z - .object({ - tag: z.string().optional(), - }); - -/** @internal */ -export type Genre$Outbound = { - tag?: string | undefined; -}; - -/** @internal */ -export const Genre$outboundSchema: z.ZodType< - Genre$Outbound, - z.ZodTypeDef, - Genre -> = z.object({ - tag: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Genre$ { - /** @deprecated use `Genre$inboundSchema` instead. */ - export const inboundSchema = Genre$inboundSchema; - /** @deprecated use `Genre$outboundSchema` instead. */ - export const outboundSchema = Genre$outboundSchema; - /** @deprecated use `Genre$Outbound` instead. */ - export type Outbound = Genre$Outbound; -} - -export function genreToJSON(genre: Genre): string { - return JSON.stringify(Genre$outboundSchema.parse(genre)); -} - -export function genreFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Genre$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Genre' from JSON`, - ); -} - -/** @internal */ -export const Country$inboundSchema: z.ZodType = - z.object({ - tag: z.string().optional(), - }); - -/** @internal */ -export type Country$Outbound = { - tag?: string | undefined; -}; - -/** @internal */ -export const Country$outboundSchema: z.ZodType< - Country$Outbound, - z.ZodTypeDef, - Country -> = z.object({ - tag: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Country$ { - /** @deprecated use `Country$inboundSchema` instead. */ - export const inboundSchema = Country$inboundSchema; - /** @deprecated use `Country$outboundSchema` instead. */ - export const outboundSchema = Country$outboundSchema; - /** @deprecated use `Country$Outbound` instead. */ - export type Outbound = Country$Outbound; -} - -export function countryToJSON(country: Country): string { - return JSON.stringify(Country$outboundSchema.parse(country)); -} - -export function countryFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Country$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Country' from JSON`, - ); -} - -/** @internal */ -export const Director$inboundSchema: z.ZodType< - Director, - z.ZodTypeDef, - unknown -> = z.object({ - tag: z.string().optional(), -}); - -/** @internal */ -export type Director$Outbound = { - tag?: string | undefined; -}; - -/** @internal */ -export const Director$outboundSchema: z.ZodType< - Director$Outbound, - z.ZodTypeDef, - Director -> = z.object({ - tag: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Director$ { - /** @deprecated use `Director$inboundSchema` instead. */ - export const inboundSchema = Director$inboundSchema; - /** @deprecated use `Director$outboundSchema` instead. */ - export const outboundSchema = Director$outboundSchema; - /** @deprecated use `Director$Outbound` instead. */ - export type Outbound = Director$Outbound; -} - -export function directorToJSON(director: Director): string { - return JSON.stringify(Director$outboundSchema.parse(director)); -} - -export function directorFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Director$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Director' from JSON`, - ); -} - -/** @internal */ -export const Writer$inboundSchema: z.ZodType = z - .object({ - tag: z.string().optional(), - }); - -/** @internal */ -export type Writer$Outbound = { - tag?: string | undefined; -}; - -/** @internal */ -export const Writer$outboundSchema: z.ZodType< - Writer$Outbound, - z.ZodTypeDef, - Writer -> = z.object({ - tag: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Writer$ { - /** @deprecated use `Writer$inboundSchema` instead. */ - export const inboundSchema = Writer$inboundSchema; - /** @deprecated use `Writer$outboundSchema` instead. */ - export const outboundSchema = Writer$outboundSchema; - /** @deprecated use `Writer$Outbound` instead. */ - export type Outbound = Writer$Outbound; -} - -export function writerToJSON(writer: Writer): string { - return JSON.stringify(Writer$outboundSchema.parse(writer)); -} - -export function writerFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Writer$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Writer' from JSON`, - ); -} - -/** @internal */ -export const Collection$inboundSchema: z.ZodType< - Collection, - z.ZodTypeDef, - unknown -> = z.object({ - tag: z.string().optional(), -}); - -/** @internal */ -export type Collection$Outbound = { - tag?: string | undefined; -}; - -/** @internal */ -export const Collection$outboundSchema: z.ZodType< - Collection$Outbound, - z.ZodTypeDef, - Collection -> = z.object({ - tag: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Collection$ { - /** @deprecated use `Collection$inboundSchema` instead. */ - export const inboundSchema = Collection$inboundSchema; - /** @deprecated use `Collection$outboundSchema` instead. */ - export const outboundSchema = Collection$outboundSchema; - /** @deprecated use `Collection$Outbound` instead. */ - export type Outbound = Collection$Outbound; -} - -export function collectionToJSON(collection: Collection): string { - return JSON.stringify(Collection$outboundSchema.parse(collection)); -} - -export function collectionFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Collection$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Collection' from JSON`, - ); -} - -/** @internal */ -export const Role$inboundSchema: z.ZodType = z - .object({ - id: z.number().int().optional(), - filter: z.string().optional(), - thumb: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - role: z.string().optional(), - }); - -/** @internal */ -export type Role$Outbound = { - id?: number | undefined; - filter?: string | undefined; - thumb?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - role?: string | undefined; -}; - -/** @internal */ -export const Role$outboundSchema: z.ZodType = - z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - thumb: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - role: z.string().optional(), - }); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Role$ { - /** @deprecated use `Role$inboundSchema` instead. */ - export const inboundSchema = Role$inboundSchema; - /** @deprecated use `Role$outboundSchema` instead. */ - export const outboundSchema = Role$outboundSchema; - /** @deprecated use `Role$Outbound` instead. */ - export type Outbound = Role$Outbound; -} - -export function roleToJSON(role: Role): string { - return JSON.stringify(Role$outboundSchema.parse(role)); -} - -export function roleFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Role$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Role' from JSON`, - ); -} - -/** @internal */ -export const Location$inboundSchema: z.ZodType< - Location, - z.ZodTypeDef, - unknown -> = z.object({ - path: z.string().optional(), -}); - -/** @internal */ -export type Location$Outbound = { - path?: string | undefined; -}; - -/** @internal */ -export const Location$outboundSchema: z.ZodType< - Location$Outbound, - z.ZodTypeDef, - Location -> = z.object({ - path: z.string().optional(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace Location$ { - /** @deprecated use `Location$inboundSchema` instead. */ - export const inboundSchema = Location$inboundSchema; - /** @deprecated use `Location$outboundSchema` instead. */ - export const outboundSchema = Location$outboundSchema; - /** @deprecated use `Location$Outbound` instead. */ - export type Outbound = Location$Outbound; -} - -export function locationToJSON(location: Location): string { - return JSON.stringify(Location$outboundSchema.parse(location)); -} - -export function locationFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Location$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Location' from JSON`, - ); -} - -/** @internal */ -export const MediaGuid$inboundSchema: z.ZodType< - MediaGuid, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.string(), -}); - -/** @internal */ -export type MediaGuid$Outbound = { - id: string; -}; - -/** @internal */ -export const MediaGuid$outboundSchema: z.ZodType< - MediaGuid$Outbound, - z.ZodTypeDef, - MediaGuid -> = z.object({ - id: z.string(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace MediaGuid$ { - /** @deprecated use `MediaGuid$inboundSchema` instead. */ - export const inboundSchema = MediaGuid$inboundSchema; - /** @deprecated use `MediaGuid$outboundSchema` instead. */ - export const outboundSchema = MediaGuid$outboundSchema; - /** @deprecated use `MediaGuid$Outbound` instead. */ - export type Outbound = MediaGuid$Outbound; -} - -export function mediaGuidToJSON(mediaGuid: MediaGuid): string { - return JSON.stringify(MediaGuid$outboundSchema.parse(mediaGuid)); -} - -export function mediaGuidFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => MediaGuid$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'MediaGuid' from JSON`, - ); -} - -/** @internal */ -export const UltraBlurColors$inboundSchema: z.ZodType< - UltraBlurColors, - z.ZodTypeDef, - unknown -> = z.object({ - topLeft: z.string(), - topRight: z.string(), - bottomRight: z.string(), - bottomLeft: z.string(), -}); - -/** @internal */ -export type UltraBlurColors$Outbound = { - topLeft: string; - topRight: string; - bottomRight: string; - bottomLeft: string; -}; - -/** @internal */ -export const UltraBlurColors$outboundSchema: z.ZodType< - UltraBlurColors$Outbound, - z.ZodTypeDef, - UltraBlurColors -> = z.object({ - topLeft: z.string(), - topRight: z.string(), - bottomRight: z.string(), - bottomLeft: z.string(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace UltraBlurColors$ { - /** @deprecated use `UltraBlurColors$inboundSchema` instead. */ - export const inboundSchema = UltraBlurColors$inboundSchema; - /** @deprecated use `UltraBlurColors$outboundSchema` instead. */ - export const outboundSchema = UltraBlurColors$outboundSchema; - /** @deprecated use `UltraBlurColors$Outbound` instead. */ - export type Outbound = UltraBlurColors$Outbound; -} - -export function ultraBlurColorsToJSON( - ultraBlurColors: UltraBlurColors, -): string { - return JSON.stringify(UltraBlurColors$outboundSchema.parse(ultraBlurColors)); -} - -export function ultraBlurColorsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => UltraBlurColors$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'UltraBlurColors' from JSON`, - ); -} - -/** @internal */ -export const MetaDataRating$inboundSchema: z.ZodType< - MetaDataRating, - z.ZodTypeDef, - unknown -> = z.object({ - image: z.string(), - value: z.number(), - type: z.string(), -}); - -/** @internal */ -export type MetaDataRating$Outbound = { - image: string; - value: number; - type: string; -}; - -/** @internal */ -export const MetaDataRating$outboundSchema: z.ZodType< - MetaDataRating$Outbound, - z.ZodTypeDef, - MetaDataRating -> = z.object({ - image: z.string(), - value: z.number(), - type: z.string(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace MetaDataRating$ { - /** @deprecated use `MetaDataRating$inboundSchema` instead. */ - export const inboundSchema = MetaDataRating$inboundSchema; - /** @deprecated use `MetaDataRating$outboundSchema` instead. */ - export const outboundSchema = MetaDataRating$outboundSchema; - /** @deprecated use `MetaDataRating$Outbound` instead. */ - export type Outbound = MetaDataRating$Outbound; -} - -export function metaDataRatingToJSON(metaDataRating: MetaDataRating): string { - return JSON.stringify(MetaDataRating$outboundSchema.parse(metaDataRating)); -} - -export function metaDataRatingFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => MetaDataRating$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'MetaDataRating' from JSON`, - ); -} - /** @internal */ export const GetRecentlyAddedHubsResponseType$inboundSchema: z.ZodNativeEnum< typeof GetRecentlyAddedHubsResponseType @@ -2436,184 +1768,1423 @@ export function getRecentlyAddedImageFromJSON( ); } +/** @internal */ +export const UltraBlurColors$inboundSchema: z.ZodType< + UltraBlurColors, + z.ZodTypeDef, + unknown +> = z.object({ + topLeft: z.string(), + topRight: z.string(), + bottomRight: z.string(), + bottomLeft: z.string(), +}); + +/** @internal */ +export type UltraBlurColors$Outbound = { + topLeft: string; + topRight: string; + bottomRight: string; + bottomLeft: string; +}; + +/** @internal */ +export const UltraBlurColors$outboundSchema: z.ZodType< + UltraBlurColors$Outbound, + z.ZodTypeDef, + UltraBlurColors +> = z.object({ + topLeft: z.string(), + topRight: z.string(), + bottomRight: z.string(), + bottomLeft: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace UltraBlurColors$ { + /** @deprecated use `UltraBlurColors$inboundSchema` instead. */ + export const inboundSchema = UltraBlurColors$inboundSchema; + /** @deprecated use `UltraBlurColors$outboundSchema` instead. */ + export const outboundSchema = UltraBlurColors$outboundSchema; + /** @deprecated use `UltraBlurColors$Outbound` instead. */ + export type Outbound = UltraBlurColors$Outbound; +} + +export function ultraBlurColorsToJSON( + ultraBlurColors: UltraBlurColors, +): string { + return JSON.stringify(UltraBlurColors$outboundSchema.parse(ultraBlurColors)); +} + +export function ultraBlurColorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => UltraBlurColors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'UltraBlurColors' from JSON`, + ); +} + +/** @internal */ +export const One$inboundSchema: z.ZodNativeEnum = z.nativeEnum(One); + +/** @internal */ +export const One$outboundSchema: z.ZodNativeEnum = + One$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace One$ { + /** @deprecated use `One$inboundSchema` instead. */ + export const inboundSchema = One$inboundSchema; + /** @deprecated use `One$outboundSchema` instead. */ + export const outboundSchema = One$outboundSchema; +} + +/** @internal */ +export const OptimizedForStreaming$inboundSchema: z.ZodType< + OptimizedForStreaming, + z.ZodTypeDef, + unknown +> = z.union([One$inboundSchema, z.boolean()]); + +/** @internal */ +export type OptimizedForStreaming$Outbound = number | boolean; + +/** @internal */ +export const OptimizedForStreaming$outboundSchema: z.ZodType< + OptimizedForStreaming$Outbound, + z.ZodTypeDef, + OptimizedForStreaming +> = z.union([One$outboundSchema, z.boolean()]); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace OptimizedForStreaming$ { + /** @deprecated use `OptimizedForStreaming$inboundSchema` instead. */ + export const inboundSchema = OptimizedForStreaming$inboundSchema; + /** @deprecated use `OptimizedForStreaming$outboundSchema` instead. */ + export const outboundSchema = OptimizedForStreaming$outboundSchema; + /** @deprecated use `OptimizedForStreaming$Outbound` instead. */ + export type Outbound = OptimizedForStreaming$Outbound; +} + +export function optimizedForStreamingToJSON( + optimizedForStreaming: OptimizedForStreaming, +): string { + return JSON.stringify( + OptimizedForStreaming$outboundSchema.parse(optimizedForStreaming), + ); +} + +export function optimizedForStreamingFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => OptimizedForStreaming$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'OptimizedForStreaming' from JSON`, + ); +} + +/** @internal */ +export const GetRecentlyAddedOptimizedForStreaming1$inboundSchema: + z.ZodNativeEnum = z.nativeEnum( + GetRecentlyAddedOptimizedForStreaming1, + ); + +/** @internal */ +export const GetRecentlyAddedOptimizedForStreaming1$outboundSchema: + z.ZodNativeEnum = + GetRecentlyAddedOptimizedForStreaming1$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetRecentlyAddedOptimizedForStreaming1$ { + /** @deprecated use `GetRecentlyAddedOptimizedForStreaming1$inboundSchema` instead. */ + export const inboundSchema = + GetRecentlyAddedOptimizedForStreaming1$inboundSchema; + /** @deprecated use `GetRecentlyAddedOptimizedForStreaming1$outboundSchema` instead. */ + export const outboundSchema = + GetRecentlyAddedOptimizedForStreaming1$outboundSchema; +} + +/** @internal */ +export const GetRecentlyAddedOptimizedForStreaming$inboundSchema: z.ZodType< + GetRecentlyAddedOptimizedForStreaming, + z.ZodTypeDef, + unknown +> = z.union([ + GetRecentlyAddedOptimizedForStreaming1$inboundSchema, + z.boolean(), +]); + +/** @internal */ +export type GetRecentlyAddedOptimizedForStreaming$Outbound = number | boolean; + +/** @internal */ +export const GetRecentlyAddedOptimizedForStreaming$outboundSchema: z.ZodType< + GetRecentlyAddedOptimizedForStreaming$Outbound, + z.ZodTypeDef, + GetRecentlyAddedOptimizedForStreaming +> = z.union([ + GetRecentlyAddedOptimizedForStreaming1$outboundSchema, + z.boolean(), +]); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetRecentlyAddedOptimizedForStreaming$ { + /** @deprecated use `GetRecentlyAddedOptimizedForStreaming$inboundSchema` instead. */ + export const inboundSchema = + GetRecentlyAddedOptimizedForStreaming$inboundSchema; + /** @deprecated use `GetRecentlyAddedOptimizedForStreaming$outboundSchema` instead. */ + export const outboundSchema = + GetRecentlyAddedOptimizedForStreaming$outboundSchema; + /** @deprecated use `GetRecentlyAddedOptimizedForStreaming$Outbound` instead. */ + export type Outbound = GetRecentlyAddedOptimizedForStreaming$Outbound; +} + +export function getRecentlyAddedOptimizedForStreamingToJSON( + getRecentlyAddedOptimizedForStreaming: GetRecentlyAddedOptimizedForStreaming, +): string { + return JSON.stringify( + GetRecentlyAddedOptimizedForStreaming$outboundSchema.parse( + getRecentlyAddedOptimizedForStreaming, + ), + ); +} + +export function getRecentlyAddedOptimizedForStreamingFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => + GetRecentlyAddedOptimizedForStreaming$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetRecentlyAddedOptimizedForStreaming' from JSON`, + ); +} + +/** @internal */ +export const HasThumbnail$inboundSchema: z.ZodNativeEnum = + z.nativeEnum(HasThumbnail); + +/** @internal */ +export const HasThumbnail$outboundSchema: z.ZodNativeEnum = + HasThumbnail$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace HasThumbnail$ { + /** @deprecated use `HasThumbnail$inboundSchema` instead. */ + export const inboundSchema = HasThumbnail$inboundSchema; + /** @deprecated use `HasThumbnail$outboundSchema` instead. */ + export const outboundSchema = HasThumbnail$outboundSchema; +} + +/** @internal */ +export const Stream$inboundSchema: z.ZodType = z + .object({ + id: z.number().int(), + streamType: z.number().int(), + default: z.boolean().optional(), + codec: z.string(), + index: z.number().int(), + bitrate: z.number().int().optional(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), + headerCompression: z.boolean().optional(), + DOVIBLCompatID: z.number().int().optional(), + DOVIBLPresent: z.boolean().optional(), + DOVIELPresent: z.boolean().optional(), + DOVILevel: z.number().int().optional(), + DOVIPresent: z.boolean().optional(), + DOVIProfile: z.number().int().optional(), + DOVIRPUPresent: z.boolean().optional(), + DOVIVersion: z.string().optional(), + bitDepth: z.number().int().optional(), + chromaLocation: z.string().optional(), + chromaSubsampling: z.string().optional(), + codedHeight: z.number().int().optional(), + codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), + colorPrimaries: z.string().optional(), + colorRange: z.string().optional(), + colorSpace: z.string().optional(), + colorTrc: z.string().optional(), + frameRate: z.number().optional(), + height: z.number().int().optional(), + level: z.number().int().optional(), + original: z.boolean().optional(), + hasScalingMatrix: z.boolean().optional(), + profile: z.string().optional(), + scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), + refFrames: z.number().int().optional(), + width: z.number().int().optional(), + displayTitle: z.string(), + extendedDisplayTitle: z.string(), + selected: z.boolean().optional(), + forced: z.boolean().optional(), + channels: z.number().int().optional(), + audioChannelLayout: z.string().optional(), + samplingRate: z.number().int().optional(), + canAutoSync: z.boolean().optional(), + hearingImpaired: z.boolean().optional(), + dub: z.boolean().optional(), + title: z.string().optional(), + }).transform((v) => { + return remap$(v, { + "DOVIBLCompatID": "doviblCompatID", + "DOVIBLPresent": "doviblPresent", + "DOVIELPresent": "dovielPresent", + "DOVILevel": "doviLevel", + "DOVIPresent": "doviPresent", + "DOVIProfile": "doviProfile", + "DOVIRPUPresent": "dovirpuPresent", + "DOVIVersion": "doviVersion", + }); + }); + +/** @internal */ +export type Stream$Outbound = { + id: number; + streamType: number; + default?: boolean | undefined; + codec: string; + index: number; + bitrate?: number | undefined; + language?: string | undefined; + languageTag?: string | undefined; + languageCode?: string | undefined; + headerCompression?: boolean | undefined; + DOVIBLCompatID?: number | undefined; + DOVIBLPresent?: boolean | undefined; + DOVIELPresent?: boolean | undefined; + DOVILevel?: number | undefined; + DOVIPresent?: boolean | undefined; + DOVIProfile?: number | undefined; + DOVIRPUPresent?: boolean | undefined; + DOVIVersion?: string | undefined; + bitDepth?: number | undefined; + chromaLocation?: string | undefined; + chromaSubsampling?: string | undefined; + codedHeight?: number | undefined; + codedWidth?: number | undefined; + closedCaptions?: boolean | undefined; + colorPrimaries?: string | undefined; + colorRange?: string | undefined; + colorSpace?: string | undefined; + colorTrc?: string | undefined; + frameRate?: number | undefined; + height?: number | undefined; + level?: number | undefined; + original?: boolean | undefined; + hasScalingMatrix?: boolean | undefined; + profile?: string | undefined; + scanType?: string | undefined; + embeddedInVideo?: string | undefined; + refFrames?: number | undefined; + width?: number | undefined; + displayTitle: string; + extendedDisplayTitle: string; + selected?: boolean | undefined; + forced?: boolean | undefined; + channels?: number | undefined; + audioChannelLayout?: string | undefined; + samplingRate?: number | undefined; + canAutoSync?: boolean | undefined; + hearingImpaired?: boolean | undefined; + dub?: boolean | undefined; + title?: string | undefined; +}; + +/** @internal */ +export const Stream$outboundSchema: z.ZodType< + Stream$Outbound, + z.ZodTypeDef, + Stream +> = z.object({ + id: z.number().int(), + streamType: z.number().int(), + default: z.boolean().optional(), + codec: z.string(), + index: z.number().int(), + bitrate: z.number().int().optional(), + language: z.string().optional(), + languageTag: z.string().optional(), + languageCode: z.string().optional(), + headerCompression: z.boolean().optional(), + doviblCompatID: z.number().int().optional(), + doviblPresent: z.boolean().optional(), + dovielPresent: z.boolean().optional(), + doviLevel: z.number().int().optional(), + doviPresent: z.boolean().optional(), + doviProfile: z.number().int().optional(), + dovirpuPresent: z.boolean().optional(), + doviVersion: z.string().optional(), + bitDepth: z.number().int().optional(), + chromaLocation: z.string().optional(), + chromaSubsampling: z.string().optional(), + codedHeight: z.number().int().optional(), + codedWidth: z.number().int().optional(), + closedCaptions: z.boolean().optional(), + colorPrimaries: z.string().optional(), + colorRange: z.string().optional(), + colorSpace: z.string().optional(), + colorTrc: z.string().optional(), + frameRate: z.number().optional(), + height: z.number().int().optional(), + level: z.number().int().optional(), + original: z.boolean().optional(), + hasScalingMatrix: z.boolean().optional(), + profile: z.string().optional(), + scanType: z.string().optional(), + embeddedInVideo: z.string().optional(), + refFrames: z.number().int().optional(), + width: z.number().int().optional(), + displayTitle: z.string(), + extendedDisplayTitle: z.string(), + selected: z.boolean().optional(), + forced: z.boolean().optional(), + channels: z.number().int().optional(), + audioChannelLayout: z.string().optional(), + samplingRate: z.number().int().optional(), + canAutoSync: z.boolean().optional(), + hearingImpaired: z.boolean().optional(), + dub: z.boolean().optional(), + title: z.string().optional(), +}).transform((v) => { + return remap$(v, { + doviblCompatID: "DOVIBLCompatID", + doviblPresent: "DOVIBLPresent", + dovielPresent: "DOVIELPresent", + doviLevel: "DOVILevel", + doviPresent: "DOVIPresent", + doviProfile: "DOVIProfile", + dovirpuPresent: "DOVIRPUPresent", + doviVersion: "DOVIVersion", + }); +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Stream$ { + /** @deprecated use `Stream$inboundSchema` instead. */ + export const inboundSchema = Stream$inboundSchema; + /** @deprecated use `Stream$outboundSchema` instead. */ + export const outboundSchema = Stream$outboundSchema; + /** @deprecated use `Stream$Outbound` instead. */ + export type Outbound = Stream$Outbound; +} + +export function streamToJSON(stream: Stream): string { + return JSON.stringify(Stream$outboundSchema.parse(stream)); +} + +export function streamFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Stream$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Stream' from JSON`, + ); +} + +/** @internal */ +export const Part$inboundSchema: z.ZodType = z + .object({ + accessible: z.boolean().optional(), + exists: z.boolean().optional(), + id: z.number().int(), + key: z.string(), + indexes: z.string().optional(), + duration: z.number().int().optional(), + file: z.string(), + size: z.number().int(), + packetLength: z.number().int().optional(), + container: z.string().optional(), + videoProfile: z.string().optional(), + audioProfile: z.string().optional(), + has64bitOffsets: z.boolean().optional(), + optimizedForStreaming: z.union([ + GetRecentlyAddedOptimizedForStreaming1$inboundSchema, + z.boolean(), + ]).optional(), + hasThumbnail: HasThumbnail$inboundSchema.default(HasThumbnail.False), + Stream: z.array(z.lazy(() => Stream$inboundSchema)).optional(), + }).transform((v) => { + return remap$(v, { + "Stream": "stream", + }); + }); + +/** @internal */ +export type Part$Outbound = { + accessible?: boolean | undefined; + exists?: boolean | undefined; + id: number; + key: string; + indexes?: string | undefined; + duration?: number | undefined; + file: string; + size: number; + packetLength?: number | undefined; + container?: string | undefined; + videoProfile?: string | undefined; + audioProfile?: string | undefined; + has64bitOffsets?: boolean | undefined; + optimizedForStreaming?: number | boolean | undefined; + hasThumbnail: string; + Stream?: Array | undefined; +}; + +/** @internal */ +export const Part$outboundSchema: z.ZodType = + z.object({ + accessible: z.boolean().optional(), + exists: z.boolean().optional(), + id: z.number().int(), + key: z.string(), + indexes: z.string().optional(), + duration: z.number().int().optional(), + file: z.string(), + size: z.number().int(), + packetLength: z.number().int().optional(), + container: z.string().optional(), + videoProfile: z.string().optional(), + audioProfile: z.string().optional(), + has64bitOffsets: z.boolean().optional(), + optimizedForStreaming: z.union([ + GetRecentlyAddedOptimizedForStreaming1$outboundSchema, + z.boolean(), + ]).optional(), + hasThumbnail: HasThumbnail$outboundSchema.default(HasThumbnail.False), + stream: z.array(z.lazy(() => Stream$outboundSchema)).optional(), + }).transform((v) => { + return remap$(v, { + stream: "Stream", + }); + }); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Part$ { + /** @deprecated use `Part$inboundSchema` instead. */ + export const inboundSchema = Part$inboundSchema; + /** @deprecated use `Part$outboundSchema` instead. */ + export const outboundSchema = Part$outboundSchema; + /** @deprecated use `Part$Outbound` instead. */ + export type Outbound = Part$Outbound; +} + +export function partToJSON(part: Part): string { + return JSON.stringify(Part$outboundSchema.parse(part)); +} + +export function partFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Part$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Part' from JSON`, + ); +} + +/** @internal */ +export const Media$inboundSchema: z.ZodType = z + .object({ + id: z.number().int(), + duration: z.number().int().optional(), + bitrate: z.number().int().optional(), + width: z.number().int().optional(), + height: z.number().int().optional(), + aspectRatio: z.number().optional(), + audioChannels: z.number().int().optional(), + displayOffset: z.number().int().optional(), + audioCodec: z.string().optional(), + videoCodec: z.string().optional(), + videoResolution: z.string().optional(), + container: z.string().optional(), + videoFrameRate: z.string().optional(), + videoProfile: z.string().optional(), + hasVoiceActivity: z.boolean().optional(), + audioProfile: z.string().optional(), + optimizedForStreaming: z.union([One$inboundSchema, z.boolean()]).optional(), + has64bitOffsets: z.boolean().optional(), + Part: z.array(z.lazy(() => Part$inboundSchema)).optional(), + }).transform((v) => { + return remap$(v, { + "Part": "part", + }); + }); + +/** @internal */ +export type Media$Outbound = { + id: number; + duration?: number | undefined; + bitrate?: number | undefined; + width?: number | undefined; + height?: number | undefined; + aspectRatio?: number | undefined; + audioChannels?: number | undefined; + displayOffset?: number | undefined; + audioCodec?: string | undefined; + videoCodec?: string | undefined; + videoResolution?: string | undefined; + container?: string | undefined; + videoFrameRate?: string | undefined; + videoProfile?: string | undefined; + hasVoiceActivity?: boolean | undefined; + audioProfile?: string | undefined; + optimizedForStreaming?: number | boolean | undefined; + has64bitOffsets?: boolean | undefined; + Part?: Array | undefined; +}; + +/** @internal */ +export const Media$outboundSchema: z.ZodType< + Media$Outbound, + z.ZodTypeDef, + Media +> = z.object({ + id: z.number().int(), + duration: z.number().int().optional(), + bitrate: z.number().int().optional(), + width: z.number().int().optional(), + height: z.number().int().optional(), + aspectRatio: z.number().optional(), + audioChannels: z.number().int().optional(), + displayOffset: z.number().int().optional(), + audioCodec: z.string().optional(), + videoCodec: z.string().optional(), + videoResolution: z.string().optional(), + container: z.string().optional(), + videoFrameRate: z.string().optional(), + videoProfile: z.string().optional(), + hasVoiceActivity: z.boolean().optional(), + audioProfile: z.string().optional(), + optimizedForStreaming: z.union([One$outboundSchema, z.boolean()]).optional(), + has64bitOffsets: z.boolean().optional(), + part: z.array(z.lazy(() => Part$outboundSchema)).optional(), +}).transform((v) => { + return remap$(v, { + part: "Part", + }); +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Media$ { + /** @deprecated use `Media$inboundSchema` instead. */ + export const inboundSchema = Media$inboundSchema; + /** @deprecated use `Media$outboundSchema` instead. */ + export const outboundSchema = Media$outboundSchema; + /** @deprecated use `Media$Outbound` instead. */ + export type Outbound = Media$Outbound; +} + +export function mediaToJSON(media: Media): string { + return JSON.stringify(Media$outboundSchema.parse(media)); +} + +export function mediaFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Media$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Media' from JSON`, + ); +} + +/** @internal */ +export const Genre$inboundSchema: z.ZodType = z + .object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + }); + +/** @internal */ +export type Genre$Outbound = { + id: number; + filter: string; + tag: string; +}; + +/** @internal */ +export const Genre$outboundSchema: z.ZodType< + Genre$Outbound, + z.ZodTypeDef, + Genre +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Genre$ { + /** @deprecated use `Genre$inboundSchema` instead. */ + export const inboundSchema = Genre$inboundSchema; + /** @deprecated use `Genre$outboundSchema` instead. */ + export const outboundSchema = Genre$outboundSchema; + /** @deprecated use `Genre$Outbound` instead. */ + export type Outbound = Genre$Outbound; +} + +export function genreToJSON(genre: Genre): string { + return JSON.stringify(Genre$outboundSchema.parse(genre)); +} + +export function genreFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Genre$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Genre' from JSON`, + ); +} + +/** @internal */ +export const Country$inboundSchema: z.ZodType = + z.object({ + id: z.number().int(), + tag: z.string(), + filter: z.string().optional(), + }); + +/** @internal */ +export type Country$Outbound = { + id: number; + tag: string; + filter?: string | undefined; +}; + +/** @internal */ +export const Country$outboundSchema: z.ZodType< + Country$Outbound, + z.ZodTypeDef, + Country +> = z.object({ + id: z.number().int(), + tag: z.string(), + filter: z.string().optional(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Country$ { + /** @deprecated use `Country$inboundSchema` instead. */ + export const inboundSchema = Country$inboundSchema; + /** @deprecated use `Country$outboundSchema` instead. */ + export const outboundSchema = Country$outboundSchema; + /** @deprecated use `Country$Outbound` instead. */ + export type Outbound = Country$Outbound; +} + +export function countryToJSON(country: Country): string { + return JSON.stringify(Country$outboundSchema.parse(country)); +} + +export function countryFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Country$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Country' from JSON`, + ); +} + +/** @internal */ +export const Director$inboundSchema: z.ZodType< + Director, + z.ZodTypeDef, + unknown +> = z.object({ + tag: z.string(), +}); + +/** @internal */ +export type Director$Outbound = { + tag: string; +}; + +/** @internal */ +export const Director$outboundSchema: z.ZodType< + Director$Outbound, + z.ZodTypeDef, + Director +> = z.object({ + tag: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Director$ { + /** @deprecated use `Director$inboundSchema` instead. */ + export const inboundSchema = Director$inboundSchema; + /** @deprecated use `Director$outboundSchema` instead. */ + export const outboundSchema = Director$outboundSchema; + /** @deprecated use `Director$Outbound` instead. */ + export type Outbound = Director$Outbound; +} + +export function directorToJSON(director: Director): string { + return JSON.stringify(Director$outboundSchema.parse(director)); +} + +export function directorFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Director$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Director' from JSON`, + ); +} + +/** @internal */ +export const Writer$inboundSchema: z.ZodType = z + .object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), + }); + +/** @internal */ +export type Writer$Outbound = { + id: number; + filter: string; + tag: string; + tagKey?: string | undefined; +}; + +/** @internal */ +export const Writer$outboundSchema: z.ZodType< + Writer$Outbound, + z.ZodTypeDef, + Writer +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Writer$ { + /** @deprecated use `Writer$inboundSchema` instead. */ + export const inboundSchema = Writer$inboundSchema; + /** @deprecated use `Writer$outboundSchema` instead. */ + export const outboundSchema = Writer$outboundSchema; + /** @deprecated use `Writer$Outbound` instead. */ + export type Outbound = Writer$Outbound; +} + +export function writerToJSON(writer: Writer): string { + return JSON.stringify(Writer$outboundSchema.parse(writer)); +} + +export function writerFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Writer$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Writer' from JSON`, + ); +} + +/** @internal */ +export const Role$inboundSchema: z.ZodType = z + .object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), + role: z.string().optional(), + thumb: z.string().optional(), + }); + +/** @internal */ +export type Role$Outbound = { + id: number; + filter: string; + tag: string; + tagKey?: string | undefined; + role?: string | undefined; + thumb?: string | undefined; +}; + +/** @internal */ +export const Role$outboundSchema: z.ZodType = + z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), + role: z.string().optional(), + thumb: z.string().optional(), + }); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Role$ { + /** @deprecated use `Role$inboundSchema` instead. */ + export const inboundSchema = Role$inboundSchema; + /** @deprecated use `Role$outboundSchema` instead. */ + export const outboundSchema = Role$outboundSchema; + /** @deprecated use `Role$Outbound` instead. */ + export type Outbound = Role$Outbound; +} + +export function roleToJSON(role: Role): string { + return JSON.stringify(Role$outboundSchema.parse(role)); +} + +export function roleFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Role$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Role' from JSON`, + ); +} + +/** @internal */ +export const Producer$inboundSchema: z.ZodType< + Producer, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), + thumb: z.string().optional(), +}); + +/** @internal */ +export type Producer$Outbound = { + id: number; + filter: string; + tag: string; + tagKey?: string | undefined; + thumb?: string | undefined; +}; + +/** @internal */ +export const Producer$outboundSchema: z.ZodType< + Producer$Outbound, + z.ZodTypeDef, + Producer +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string().optional(), + thumb: z.string().optional(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Producer$ { + /** @deprecated use `Producer$inboundSchema` instead. */ + export const inboundSchema = Producer$inboundSchema; + /** @deprecated use `Producer$outboundSchema` instead. */ + export const outboundSchema = Producer$outboundSchema; + /** @deprecated use `Producer$Outbound` instead. */ + export type Outbound = Producer$Outbound; +} + +export function producerToJSON(producer: Producer): string { + return JSON.stringify(Producer$outboundSchema.parse(producer)); +} + +export function producerFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Producer$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Producer' from JSON`, + ); +} + +/** @internal */ +export const Rating$inboundSchema: z.ZodType = z + .object({ + image: z.string(), + value: z.number(), + type: z.string(), + }); + +/** @internal */ +export type Rating$Outbound = { + image: string; + value: number; + type: string; +}; + +/** @internal */ +export const Rating$outboundSchema: z.ZodType< + Rating$Outbound, + z.ZodTypeDef, + Rating +> = z.object({ + image: z.string(), + value: z.number(), + type: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Rating$ { + /** @deprecated use `Rating$inboundSchema` instead. */ + export const inboundSchema = Rating$inboundSchema; + /** @deprecated use `Rating$outboundSchema` instead. */ + export const outboundSchema = Rating$outboundSchema; + /** @deprecated use `Rating$Outbound` instead. */ + export type Outbound = Rating$Outbound; +} + +export function ratingToJSON(rating: Rating): string { + return JSON.stringify(Rating$outboundSchema.parse(rating)); +} + +export function ratingFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Rating$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Rating' from JSON`, + ); +} + +/** @internal */ +export const Similar$inboundSchema: z.ZodType = + z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + }); + +/** @internal */ +export type Similar$Outbound = { + id: number; + filter: string; + tag: string; +}; + +/** @internal */ +export const Similar$outboundSchema: z.ZodType< + Similar$Outbound, + z.ZodTypeDef, + Similar +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Similar$ { + /** @deprecated use `Similar$inboundSchema` instead. */ + export const inboundSchema = Similar$inboundSchema; + /** @deprecated use `Similar$outboundSchema` instead. */ + export const outboundSchema = Similar$outboundSchema; + /** @deprecated use `Similar$Outbound` instead. */ + export type Outbound = Similar$Outbound; +} + +export function similarToJSON(similar: Similar): string { + return JSON.stringify(Similar$outboundSchema.parse(similar)); +} + +export function similarFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Similar$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Similar' from JSON`, + ); +} + +/** @internal */ +export const Location$inboundSchema: z.ZodType< + Location, + z.ZodTypeDef, + unknown +> = z.object({ + path: z.string(), +}); + +/** @internal */ +export type Location$Outbound = { + path: string; +}; + +/** @internal */ +export const Location$outboundSchema: z.ZodType< + Location$Outbound, + z.ZodTypeDef, + Location +> = z.object({ + path: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Location$ { + /** @deprecated use `Location$inboundSchema` instead. */ + export const inboundSchema = Location$inboundSchema; + /** @deprecated use `Location$outboundSchema` instead. */ + export const outboundSchema = Location$outboundSchema; + /** @deprecated use `Location$Outbound` instead. */ + export type Outbound = Location$Outbound; +} + +export function locationToJSON(location: Location): string { + return JSON.stringify(Location$outboundSchema.parse(location)); +} + +export function locationFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Location$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Location' from JSON`, + ); +} + +/** @internal */ +export const Guids$inboundSchema: z.ZodType = z + .object({ + id: z.string().optional(), + }); + +/** @internal */ +export type Guids$Outbound = { + id?: string | undefined; +}; + +/** @internal */ +export const Guids$outboundSchema: z.ZodType< + Guids$Outbound, + z.ZodTypeDef, + Guids +> = z.object({ + id: z.string().optional(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Guids$ { + /** @deprecated use `Guids$inboundSchema` instead. */ + export const inboundSchema = Guids$inboundSchema; + /** @deprecated use `Guids$outboundSchema` instead. */ + export const outboundSchema = Guids$outboundSchema; + /** @deprecated use `Guids$Outbound` instead. */ + export type Outbound = Guids$Outbound; +} + +export function guidsToJSON(guids: Guids): string { + return JSON.stringify(Guids$outboundSchema.parse(guids)); +} + +export function guidsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Guids$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Guids' from JSON`, + ); +} + +/** @internal */ +export const Collection$inboundSchema: z.ZodType< + Collection, + z.ZodTypeDef, + unknown +> = z.object({ + tag: z.string(), +}); + +/** @internal */ +export type Collection$Outbound = { + tag: string; +}; + +/** @internal */ +export const Collection$outboundSchema: z.ZodType< + Collection$Outbound, + z.ZodTypeDef, + Collection +> = z.object({ + tag: z.string(), +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace Collection$ { + /** @deprecated use `Collection$inboundSchema` instead. */ + export const inboundSchema = Collection$inboundSchema; + /** @deprecated use `Collection$outboundSchema` instead. */ + export const outboundSchema = Collection$outboundSchema; + /** @deprecated use `Collection$Outbound` instead. */ + export type Outbound = Collection$Outbound; +} + +export function collectionToJSON(collection: Collection): string { + return JSON.stringify(Collection$outboundSchema.parse(collection)); +} + +export function collectionFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => Collection$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'Collection' from JSON`, + ); +} + /** @internal */ export const GetRecentlyAddedMetadata$inboundSchema: z.ZodType< GetRecentlyAddedMetadata, z.ZodTypeDef, unknown > = z.object({ - ratingKey: z.string(), - key: z.string(), - guid: z.string(), - studio: z.string().optional(), - skipChildren: z.boolean().optional(), - librarySectionID: z.number().int().optional(), - librarySectionTitle: z.string().optional(), - librarySectionKey: z.string().optional(), - type: GetRecentlyAddedHubsType$inboundSchema, - title: z.string(), - slug: z.string().optional(), - contentRating: z.string().optional(), - summary: z.string(), - rating: z.number().optional(), - audienceRating: z.number().optional(), - year: z.number().int().optional(), - seasonCount: z.number().int().optional(), - tagline: z.string().optional(), - flattenSeasons: FlattenSeasons$inboundSchema.optional(), - episodeSort: EpisodeSort$inboundSchema.optional(), - enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration$inboundSchema - .optional(), - showOrdering: ShowOrdering$inboundSchema.optional(), - thumb: z.string().optional(), - art: z.string().optional(), - banner: z.string().optional(), - duration: z.number().int().optional(), - originallyAvailableAt: z.string().transform(v => new RFCDate(v)).optional(), addedAt: z.number().int(), - updatedAt: z.number().int().optional(), + art: z.string(), audienceRatingImage: z.string().optional(), + audienceRating: z.number(), chapterSource: z.string().optional(), - primaryExtraKey: z.string().optional(), - ratingImage: z.string().optional(), - grandparentRatingKey: z.string().optional(), + childCount: z.number().int(), + contentRating: z.string().optional(), + createdAtAccuracy: z.string().optional(), + createdAtTZOffset: z.string().optional(), + duration: z.number().int(), + grandparentArt: z.string().optional(), grandparentGuid: z.string().optional(), grandparentKey: z.string().optional(), - grandparentTitle: z.string().optional(), - grandparentThumb: z.string().optional(), - parentSlug: z.string().optional(), + grandparentRatingKey: z.string().optional(), grandparentSlug: z.string().optional(), - grandparentArt: z.string().optional(), grandparentTheme: z.string().optional(), + grandparentThumb: z.string().optional(), + grandparentTitle: z.string().optional(), + guid: z.string(), + index: z.number().int(), + key: z.string(), + lastRatedAt: z.number().int().optional(), + lastViewedAt: z.number().int().optional(), + leafCount: z.number().int().optional(), + librarySectionID: z.number().int(), + librarySectionKey: z.string(), + librarySectionTitle: z.string(), + originalTitle: z.string().optional(), + originallyAvailableAt: z.string().transform(v => new RFCDate(v)), + parentGuid: z.string().optional(), + parentIndex: z.number().int().optional(), + parentKey: z.string().optional(), + parentRatingKey: z.string().optional(), + parentSlug: z.string().optional(), + parentStudio: z.string(), + parentTheme: z.string(), + parentThumb: z.string().optional(), + parentTitle: z.string().optional(), + parentYear: z.number().int().optional(), + primaryExtraKey: z.string().optional(), + ratingImage: z.string().optional(), + ratingKey: z.string(), + rating: z.number(), + seasonCount: z.number().int(), + skipCount: z.number().int().optional(), + slug: z.string(), + studio: z.string().optional(), + subtype: z.string().optional(), + summary: z.string(), + tagline: z.string(), + theme: z.string(), + thumb: z.string(), + titleSort: z.string(), + title: z.string(), + type: GetRecentlyAddedHubsType$inboundSchema, + updatedAt: z.number().int().optional(), + userRating: z.number().optional(), + viewCount: z.number().int().optional(), + viewOffset: z.number().int().optional(), + viewedLeafCount: z.number().int().optional(), + year: z.number().int().optional(), + Image: z.array(z.lazy(() => GetRecentlyAddedImage$inboundSchema)).optional(), + UltraBlurColors: z.lazy(() => UltraBlurColors$inboundSchema).optional(), Media: z.array(z.lazy(() => Media$inboundSchema)).optional(), Genre: z.array(z.lazy(() => Genre$inboundSchema)).optional(), Country: z.array(z.lazy(() => Country$inboundSchema)).optional(), Director: z.array(z.lazy(() => Director$inboundSchema)).optional(), Writer: z.array(z.lazy(() => Writer$inboundSchema)).optional(), - Collection: z.array(z.lazy(() => Collection$inboundSchema)).optional(), Role: z.array(z.lazy(() => Role$inboundSchema)).optional(), + Producer: z.array(z.lazy(() => Producer$inboundSchema)).optional(), + Rating: z.array(z.lazy(() => Rating$inboundSchema)).optional(), + Similar: z.array(z.lazy(() => Similar$inboundSchema)).optional(), Location: z.array(z.lazy(() => Location$inboundSchema)).optional(), - Guid: z.array(z.lazy(() => MediaGuid$inboundSchema)).optional(), - UltraBlurColors: z.lazy(() => UltraBlurColors$inboundSchema).optional(), - Rating: z.array(z.lazy(() => MetaDataRating$inboundSchema)).optional(), - Image: z.array(z.lazy(() => GetRecentlyAddedImage$inboundSchema)).optional(), - titleSort: z.string().optional(), - viewCount: z.number().int().optional(), - lastViewedAt: z.number().int().optional(), - originalTitle: z.string().optional(), - viewOffset: z.number().int().optional(), - skipCount: z.number().int().optional(), - index: z.number().int().optional(), - theme: z.string().optional(), - leafCount: z.number().int().optional(), - viewedLeafCount: z.number().int().optional(), - childCount: z.number().int().optional(), - hasPremiumExtras: z.string().optional(), - hasPremiumPrimaryExtra: z.string().optional(), - parentRatingKey: z.string().optional(), - parentGuid: z.string().optional(), - parentStudio: z.string().optional(), - parentKey: z.string().optional(), - parentTitle: z.string().optional(), - parentIndex: z.number().int().optional(), - parentYear: z.number().int().optional(), - parentThumb: z.string().optional(), - parentTheme: z.string().optional(), + Guid: z.array(z.lazy(() => Guids$inboundSchema)).optional(), + Collection: z.array(z.lazy(() => Collection$inboundSchema)).optional(), }).transform((v) => { return remap$(v, { + "Image": "image", + "UltraBlurColors": "ultraBlurColors", "Media": "media", "Genre": "genre", "Country": "country", "Director": "director", "Writer": "writer", - "Collection": "collection", "Role": "role", + "Producer": "producer", + "Rating": "rating1", + "Similar": "similar", "Location": "location", - "Guid": "mediaGuid", - "UltraBlurColors": "ultraBlurColors", - "Rating": "metaDataRating", - "Image": "image", + "Guid": "guids", + "Collection": "collection", }); }); /** @internal */ export type GetRecentlyAddedMetadata$Outbound = { - ratingKey: string; - key: string; - guid: string; - studio?: string | undefined; - skipChildren?: boolean | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionKey?: string | undefined; - type: string; - title: string; - slug?: string | undefined; - contentRating?: string | undefined; - summary: string; - rating?: number | undefined; - audienceRating?: number | undefined; - year?: number | undefined; - seasonCount?: number | undefined; - tagline?: string | undefined; - flattenSeasons?: string | undefined; - episodeSort?: string | undefined; - enableCreditsMarkerGeneration?: string | undefined; - showOrdering?: string | undefined; - thumb?: string | undefined; - art?: string | undefined; - banner?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: string | undefined; addedAt: number; - updatedAt?: number | undefined; + art: string; audienceRatingImage?: string | undefined; + audienceRating: number; chapterSource?: string | undefined; - primaryExtraKey?: string | undefined; - ratingImage?: string | undefined; - grandparentRatingKey?: string | undefined; + childCount: number; + contentRating?: string | undefined; + createdAtAccuracy?: string | undefined; + createdAtTZOffset?: string | undefined; + duration: number; + grandparentArt?: string | undefined; grandparentGuid?: string | undefined; grandparentKey?: string | undefined; - grandparentTitle?: string | undefined; - grandparentThumb?: string | undefined; - parentSlug?: string | undefined; + grandparentRatingKey?: string | undefined; grandparentSlug?: string | undefined; - grandparentArt?: string | undefined; grandparentTheme?: string | undefined; + grandparentThumb?: string | undefined; + grandparentTitle?: string | undefined; + guid: string; + index: number; + key: string; + lastRatedAt?: number | undefined; + lastViewedAt?: number | undefined; + leafCount?: number | undefined; + librarySectionID: number; + librarySectionKey: string; + librarySectionTitle: string; + originalTitle?: string | undefined; + originallyAvailableAt: string; + parentGuid?: string | undefined; + parentIndex?: number | undefined; + parentKey?: string | undefined; + parentRatingKey?: string | undefined; + parentSlug?: string | undefined; + parentStudio: string; + parentTheme: string; + parentThumb?: string | undefined; + parentTitle?: string | undefined; + parentYear?: number | undefined; + primaryExtraKey?: string | undefined; + ratingImage?: string | undefined; + ratingKey: string; + rating: number; + seasonCount: number; + skipCount?: number | undefined; + slug: string; + studio?: string | undefined; + subtype?: string | undefined; + summary: string; + tagline: string; + theme: string; + thumb: string; + titleSort: string; + title: string; + type: string; + updatedAt?: number | undefined; + userRating?: number | undefined; + viewCount?: number | undefined; + viewOffset?: number | undefined; + viewedLeafCount?: number | undefined; + year?: number | undefined; + Image?: Array | undefined; + UltraBlurColors?: UltraBlurColors$Outbound | undefined; Media?: Array | undefined; Genre?: Array | undefined; Country?: Array | undefined; Director?: Array | undefined; Writer?: Array | undefined; - Collection?: Array | undefined; Role?: Array | undefined; + Producer?: Array | undefined; + Rating?: Array | undefined; + Similar?: Array | undefined; Location?: Array | undefined; - Guid?: Array | undefined; - UltraBlurColors?: UltraBlurColors$Outbound | undefined; - Rating?: Array | undefined; - Image?: Array | undefined; - titleSort?: string | undefined; - viewCount?: number | undefined; - lastViewedAt?: number | undefined; - originalTitle?: string | undefined; - viewOffset?: number | undefined; - skipCount?: number | undefined; - index?: number | undefined; - theme?: string | undefined; - leafCount?: number | undefined; - viewedLeafCount?: number | undefined; - childCount?: number | undefined; - hasPremiumExtras?: string | undefined; - hasPremiumPrimaryExtra?: string | undefined; - parentRatingKey?: string | undefined; - parentGuid?: string | undefined; - parentStudio?: string | undefined; - parentKey?: string | undefined; - parentTitle?: string | undefined; - parentIndex?: number | undefined; - parentYear?: number | undefined; - parentThumb?: string | undefined; - parentTheme?: string | undefined; + Guid?: Array | undefined; + Collection?: Array | undefined; }; /** @internal */ @@ -2622,99 +3193,97 @@ export const GetRecentlyAddedMetadata$outboundSchema: z.ZodType< z.ZodTypeDef, GetRecentlyAddedMetadata > = z.object({ - ratingKey: z.string(), - key: z.string(), - guid: z.string(), - studio: z.string().optional(), - skipChildren: z.boolean().optional(), - librarySectionID: z.number().int().optional(), - librarySectionTitle: z.string().optional(), - librarySectionKey: z.string().optional(), - type: GetRecentlyAddedHubsType$outboundSchema, - title: z.string(), - slug: z.string().optional(), - contentRating: z.string().optional(), - summary: z.string(), - rating: z.number().optional(), - audienceRating: z.number().optional(), - year: z.number().int().optional(), - seasonCount: z.number().int().optional(), - tagline: z.string().optional(), - flattenSeasons: FlattenSeasons$outboundSchema.optional(), - episodeSort: EpisodeSort$outboundSchema.optional(), - enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration$outboundSchema - .optional(), - showOrdering: ShowOrdering$outboundSchema.optional(), - thumb: z.string().optional(), - art: z.string().optional(), - banner: z.string().optional(), - duration: z.number().int().optional(), - originallyAvailableAt: z.instanceof(RFCDate).transform(v => v.toString()) - .optional(), addedAt: z.number().int(), - updatedAt: z.number().int().optional(), + art: z.string(), audienceRatingImage: z.string().optional(), + audienceRating: z.number(), chapterSource: z.string().optional(), - primaryExtraKey: z.string().optional(), - ratingImage: z.string().optional(), - grandparentRatingKey: z.string().optional(), + childCount: z.number().int(), + contentRating: z.string().optional(), + createdAtAccuracy: z.string().optional(), + createdAtTZOffset: z.string().optional(), + duration: z.number().int(), + grandparentArt: z.string().optional(), grandparentGuid: z.string().optional(), grandparentKey: z.string().optional(), - grandparentTitle: z.string().optional(), - grandparentThumb: z.string().optional(), - parentSlug: z.string().optional(), + grandparentRatingKey: z.string().optional(), grandparentSlug: z.string().optional(), - grandparentArt: z.string().optional(), grandparentTheme: z.string().optional(), + grandparentThumb: z.string().optional(), + grandparentTitle: z.string().optional(), + guid: z.string(), + index: z.number().int(), + key: z.string(), + lastRatedAt: z.number().int().optional(), + lastViewedAt: z.number().int().optional(), + leafCount: z.number().int().optional(), + librarySectionID: z.number().int(), + librarySectionKey: z.string(), + librarySectionTitle: z.string(), + originalTitle: z.string().optional(), + originallyAvailableAt: z.instanceof(RFCDate).transform(v => v.toString()), + parentGuid: z.string().optional(), + parentIndex: z.number().int().optional(), + parentKey: z.string().optional(), + parentRatingKey: z.string().optional(), + parentSlug: z.string().optional(), + parentStudio: z.string(), + parentTheme: z.string(), + parentThumb: z.string().optional(), + parentTitle: z.string().optional(), + parentYear: z.number().int().optional(), + primaryExtraKey: z.string().optional(), + ratingImage: z.string().optional(), + ratingKey: z.string(), + rating: z.number(), + seasonCount: z.number().int(), + skipCount: z.number().int().optional(), + slug: z.string(), + studio: z.string().optional(), + subtype: z.string().optional(), + summary: z.string(), + tagline: z.string(), + theme: z.string(), + thumb: z.string(), + titleSort: z.string(), + title: z.string(), + type: GetRecentlyAddedHubsType$outboundSchema, + updatedAt: z.number().int().optional(), + userRating: z.number().optional(), + viewCount: z.number().int().optional(), + viewOffset: z.number().int().optional(), + viewedLeafCount: z.number().int().optional(), + year: z.number().int().optional(), + image: z.array(z.lazy(() => GetRecentlyAddedImage$outboundSchema)).optional(), + ultraBlurColors: z.lazy(() => UltraBlurColors$outboundSchema).optional(), media: z.array(z.lazy(() => Media$outboundSchema)).optional(), genre: z.array(z.lazy(() => Genre$outboundSchema)).optional(), country: z.array(z.lazy(() => Country$outboundSchema)).optional(), director: z.array(z.lazy(() => Director$outboundSchema)).optional(), writer: z.array(z.lazy(() => Writer$outboundSchema)).optional(), - collection: z.array(z.lazy(() => Collection$outboundSchema)).optional(), role: z.array(z.lazy(() => Role$outboundSchema)).optional(), + producer: z.array(z.lazy(() => Producer$outboundSchema)).optional(), + rating1: z.array(z.lazy(() => Rating$outboundSchema)).optional(), + similar: z.array(z.lazy(() => Similar$outboundSchema)).optional(), location: z.array(z.lazy(() => Location$outboundSchema)).optional(), - mediaGuid: z.array(z.lazy(() => MediaGuid$outboundSchema)).optional(), - ultraBlurColors: z.lazy(() => UltraBlurColors$outboundSchema).optional(), - metaDataRating: z.array(z.lazy(() => MetaDataRating$outboundSchema)) - .optional(), - image: z.array(z.lazy(() => GetRecentlyAddedImage$outboundSchema)).optional(), - titleSort: z.string().optional(), - viewCount: z.number().int().optional(), - lastViewedAt: z.number().int().optional(), - originalTitle: z.string().optional(), - viewOffset: z.number().int().optional(), - skipCount: z.number().int().optional(), - index: z.number().int().optional(), - theme: z.string().optional(), - leafCount: z.number().int().optional(), - viewedLeafCount: z.number().int().optional(), - childCount: z.number().int().optional(), - hasPremiumExtras: z.string().optional(), - hasPremiumPrimaryExtra: z.string().optional(), - parentRatingKey: z.string().optional(), - parentGuid: z.string().optional(), - parentStudio: z.string().optional(), - parentKey: z.string().optional(), - parentTitle: z.string().optional(), - parentIndex: z.number().int().optional(), - parentYear: z.number().int().optional(), - parentThumb: z.string().optional(), - parentTheme: z.string().optional(), + guids: z.array(z.lazy(() => Guids$outboundSchema)).optional(), + collection: z.array(z.lazy(() => Collection$outboundSchema)).optional(), }).transform((v) => { return remap$(v, { + image: "Image", + ultraBlurColors: "UltraBlurColors", media: "Media", genre: "Genre", country: "Country", director: "Director", writer: "Writer", - collection: "Collection", role: "Role", + producer: "Producer", + rating1: "Rating", + similar: "Similar", location: "Location", - mediaGuid: "Guid", - ultraBlurColors: "UltraBlurColors", - metaDataRating: "Rating", - image: "Image", + guids: "Guid", + collection: "Collection", }); }); @@ -2756,10 +3325,10 @@ export const GetRecentlyAddedMediaContainer$inboundSchema: z.ZodType< unknown > = z.object({ size: z.number().int(), - offset: z.number().int().optional(), - totalSize: z.number().int().optional(), - identifier: z.string().optional(), - allowSync: z.boolean().optional(), + totalSize: z.number().int(), + offset: z.number().int(), + allowSync: z.boolean(), + identifier: z.string(), Meta: z.lazy(() => Meta$inboundSchema).optional(), Metadata: z.array(z.lazy(() => GetRecentlyAddedMetadata$inboundSchema)) .optional(), @@ -2773,10 +3342,10 @@ export const GetRecentlyAddedMediaContainer$inboundSchema: z.ZodType< /** @internal */ export type GetRecentlyAddedMediaContainer$Outbound = { size: number; - offset?: number | undefined; - totalSize?: number | undefined; - identifier?: string | undefined; - allowSync?: boolean | undefined; + totalSize: number; + offset: number; + allowSync: boolean; + identifier: string; Meta?: Meta$Outbound | undefined; Metadata?: Array | undefined; }; @@ -2788,10 +3357,10 @@ export const GetRecentlyAddedMediaContainer$outboundSchema: z.ZodType< GetRecentlyAddedMediaContainer > = z.object({ size: z.number().int(), - offset: z.number().int().optional(), - totalSize: z.number().int().optional(), - identifier: z.string().optional(), - allowSync: z.boolean().optional(), + totalSize: z.number().int(), + offset: z.number().int(), + allowSync: z.boolean(), + identifier: z.string(), meta: z.lazy(() => Meta$outboundSchema).optional(), metadata: z.array(z.lazy(() => GetRecentlyAddedMetadata$outboundSchema)) .optional(), diff --git a/src/sdk/models/operations/index.ts b/src/sdk/models/operations/index.ts index 1f669a1f..43796afb 100644 --- a/src/sdk/models/operations/index.ts +++ b/src/sdk/models/operations/index.ts @@ -33,7 +33,6 @@ export * from "./getmediametadata.js"; export * from "./getmediaproviders.js"; export * from "./getmetadatachildren.js"; export * from "./getmyplexaccount.js"; -export * from "./getondeck.js"; export * from "./getpin.js"; export * from "./getplaylist.js"; export * from "./getplaylistcontents.js";