diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 9d8731dd..3eef7f02 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: 36c9d80c203ab86cde2de03991949259 + docChecksum: 406db0d2227dc88ed9d449bb30b37091 docVersion: 0.0.3 - speakeasyVersion: 1.484.1 - generationVersion: 2.503.2 - releaseVersion: 0.32.5 - configChecksum: df3297b335ae5be90b5d2d5181fc74ed + speakeasyVersion: 1.487.0 + generationVersion: 2.506.0 + releaseVersion: 0.33.0 + configChecksum: b426017b55ad6e8489789b24a9365a67 repoURL: https://github.com/LukeHagar/plexjs.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexjs @@ -15,7 +15,7 @@ features: typescript: additionalDependencies: 0.1.0 constsAndDefaults: 0.1.11 - core: 3.18.22 + core: 3.19.0 defaultEnabledRetries: 0.1.0 deprecations: 2.81.1 downloadStreams: 0.1.1 @@ -78,6 +78,10 @@ generatedFiles: - docs/sdk/models/errors/enablepapertraillogerrors.md - docs/sdk/models/errors/enablepapertrailunauthorized.md - docs/sdk/models/errors/errors.md + - docs/sdk/models/errors/getactorslibrarybadrequest.md + - docs/sdk/models/errors/getactorslibraryerrors.md + - docs/sdk/models/errors/getactorslibrarylibraryerrors.md + - docs/sdk/models/errors/getactorslibraryunauthorized.md - docs/sdk/models/errors/getalllibrariesbadrequest.md - docs/sdk/models/errors/getalllibrarieserrors.md - docs/sdk/models/errors/getalllibrarieslibraryerrors.md @@ -142,14 +146,14 @@ generatedFiles: - docs/sdk/models/errors/getlibraryitemserrors.md - docs/sdk/models/errors/getlibraryitemslibraryerrors.md - docs/sdk/models/errors/getlibraryitemsunauthorized.md + - docs/sdk/models/errors/getmediametadatabadrequest.md + - docs/sdk/models/errors/getmediametadataerrors.md + - docs/sdk/models/errors/getmediametadatalibraryerrors.md + - docs/sdk/models/errors/getmediametadataunauthorized.md - docs/sdk/models/errors/getmediaprovidersbadrequest.md - docs/sdk/models/errors/getmediaproviderserrors.md - docs/sdk/models/errors/getmediaprovidersservererrors.md - docs/sdk/models/errors/getmediaprovidersunauthorized.md - - docs/sdk/models/errors/getmetadatabyratingkeybadrequest.md - - docs/sdk/models/errors/getmetadatabyratingkeyerrors.md - - docs/sdk/models/errors/getmetadatabyratingkeylibraryerrors.md - - docs/sdk/models/errors/getmetadatabyratingkeyunauthorized.md - docs/sdk/models/errors/getmetadatachildrenbadrequest.md - docs/sdk/models/errors/getmetadatachildrenerrors.md - docs/sdk/models/errors/getmetadatachildrenlibraryerrors.md @@ -408,6 +412,12 @@ generatedFiles: - docs/sdk/models/operations/friend.md - docs/sdk/models/operations/genre.md - docs/sdk/models/operations/geodata.md + - docs/sdk/models/operations/getactorslibrarydirectory.md + - docs/sdk/models/operations/getactorslibrarymediacontainer.md + - docs/sdk/models/operations/getactorslibraryqueryparamtype.md + - docs/sdk/models/operations/getactorslibraryrequest.md + - docs/sdk/models/operations/getactorslibraryresponse.md + - docs/sdk/models/operations/getactorslibraryresponsebody.md - docs/sdk/models/operations/getalllibrariesdirectory.md - docs/sdk/models/operations/getalllibrarieslocation.md - docs/sdk/models/operations/getalllibrariesmediacontainer.md @@ -429,6 +439,7 @@ generatedFiles: - docs/sdk/models/operations/getcompanionsdataresponse.md - docs/sdk/models/operations/getcountrieslibrarydirectory.md - docs/sdk/models/operations/getcountrieslibrarymediacontainer.md + - docs/sdk/models/operations/getcountrieslibraryqueryparamtype.md - docs/sdk/models/operations/getcountrieslibraryrequest.md - docs/sdk/models/operations/getcountrieslibraryresponse.md - docs/sdk/models/operations/getcountrieslibraryresponsebody.md @@ -439,6 +450,7 @@ generatedFiles: - docs/sdk/models/operations/getfilehashresponse.md - docs/sdk/models/operations/getgenreslibrarydirectory.md - docs/sdk/models/operations/getgenreslibrarymediacontainer.md + - docs/sdk/models/operations/getgenreslibraryqueryparamtype.md - docs/sdk/models/operations/getgenreslibraryrequest.md - docs/sdk/models/operations/getgenreslibraryresponse.md - docs/sdk/models/operations/getgenreslibraryresponsebody.md @@ -521,24 +533,27 @@ generatedFiles: - docs/sdk/models/operations/getlibraryitemstype.md - docs/sdk/models/operations/getlibraryitemsultrablurcolors.md - docs/sdk/models/operations/getlibraryitemswriter.md + - docs/sdk/models/operations/getmediametadatacountry.md + - docs/sdk/models/operations/getmediametadatadirector.md + - docs/sdk/models/operations/getmediametadatagenre.md + - docs/sdk/models/operations/getmediametadataimage.md + - docs/sdk/models/operations/getmediametadatalocation.md + - docs/sdk/models/operations/getmediametadatamedia.md + - docs/sdk/models/operations/getmediametadatamediacontainer.md + - docs/sdk/models/operations/getmediametadatametadata.md + - docs/sdk/models/operations/getmediametadatapart.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/getmediametadatastream.md + - docs/sdk/models/operations/getmediametadataultrablurcolors.md + - docs/sdk/models/operations/getmediametadatawriter.md - docs/sdk/models/operations/getmediaprovidersdirectory.md - docs/sdk/models/operations/getmediaprovidersmediacontainer.md - docs/sdk/models/operations/getmediaprovidersrequest.md - docs/sdk/models/operations/getmediaprovidersresponse.md - docs/sdk/models/operations/getmediaprovidersresponsebody.md - - docs/sdk/models/operations/getmetadatabyratingkeycountry.md - - docs/sdk/models/operations/getmetadatabyratingkeydirector.md - - docs/sdk/models/operations/getmetadatabyratingkeygenre.md - - docs/sdk/models/operations/getmetadatabyratingkeymedia.md - - docs/sdk/models/operations/getmetadatabyratingkeymediacontainer.md - - docs/sdk/models/operations/getmetadatabyratingkeymetadata.md - - docs/sdk/models/operations/getmetadatabyratingkeypart.md - - docs/sdk/models/operations/getmetadatabyratingkeyrequest.md - - docs/sdk/models/operations/getmetadatabyratingkeyresponse.md - - docs/sdk/models/operations/getmetadatabyratingkeyresponsebody.md - - docs/sdk/models/operations/getmetadatabyratingkeyrole.md - - docs/sdk/models/operations/getmetadatabyratingkeystream.md - - docs/sdk/models/operations/getmetadatabyratingkeywriter.md - docs/sdk/models/operations/getmetadatachildrendirectory.md - docs/sdk/models/operations/getmetadatachildrenmediacontainer.md - docs/sdk/models/operations/getmetadatachildrenmetadata.md @@ -825,7 +840,7 @@ generatedFiles: - docs/sdk/models/operations/queryparamonlytransient.md - docs/sdk/models/operations/queryparamsmart.md - docs/sdk/models/operations/queryparamtype.md - - docs/sdk/models/operations/ratings.md + - docs/sdk/models/operations/rating.md - docs/sdk/models/operations/release.md - docs/sdk/models/operations/responsebody.md - docs/sdk/models/operations/restricted.md @@ -840,6 +855,7 @@ generatedFiles: - docs/sdk/models/operations/sharedservers.md - docs/sdk/models/operations/sharedsources.md - docs/sdk/models/operations/showordering.md + - docs/sdk/models/operations/similar.md - docs/sdk/models/operations/skip.md - docs/sdk/models/operations/smart.md - docs/sdk/models/operations/sort.md @@ -917,13 +933,14 @@ generatedFiles: - src/funcs/hubsGetLibraryHubs.ts - src/funcs/hubsGetRecentlyAdded.ts - src/funcs/libraryDeleteLibrary.ts + - src/funcs/libraryGetActorsLibrary.ts - src/funcs/libraryGetAllLibraries.ts - src/funcs/libraryGetCountriesLibrary.ts - src/funcs/libraryGetFileHash.ts - src/funcs/libraryGetGenresLibrary.ts - src/funcs/libraryGetLibraryDetails.ts - src/funcs/libraryGetLibraryItems.ts - - src/funcs/libraryGetMetaDataByRatingKey.ts + - src/funcs/libraryGetMediaMetaData.ts - src/funcs/libraryGetMetadataChildren.ts - src/funcs/libraryGetOnDeck.ts - src/funcs/libraryGetRecentlyAddedLibrary.ts @@ -1017,6 +1034,7 @@ generatedFiles: - src/sdk/models/errors/deletelibrary.ts - src/sdk/models/errors/deleteplaylist.ts - src/sdk/models/errors/enablepapertrail.ts + - src/sdk/models/errors/getactorslibrary.ts - src/sdk/models/errors/getalllibraries.ts - src/sdk/models/errors/getavailableclients.ts - src/sdk/models/errors/getbandwidthstatistics.ts @@ -1033,8 +1051,8 @@ generatedFiles: - src/sdk/models/errors/getlibrarydetails.ts - src/sdk/models/errors/getlibraryhubs.ts - src/sdk/models/errors/getlibraryitems.ts + - src/sdk/models/errors/getmediametadata.ts - src/sdk/models/errors/getmediaproviders.ts - - src/sdk/models/errors/getmetadatabyratingkey.ts - src/sdk/models/errors/getmetadatachildren.ts - src/sdk/models/errors/getmyplexaccount.ts - src/sdk/models/errors/getondeck.ts @@ -1099,6 +1117,7 @@ generatedFiles: - src/sdk/models/operations/deletelibrary.ts - src/sdk/models/operations/deleteplaylist.ts - src/sdk/models/operations/enablepapertrail.ts + - src/sdk/models/operations/getactorslibrary.ts - src/sdk/models/operations/getalllibraries.ts - src/sdk/models/operations/getavailableclients.ts - src/sdk/models/operations/getbandwidthstatistics.ts @@ -1115,8 +1134,8 @@ generatedFiles: - src/sdk/models/operations/getlibrarydetails.ts - src/sdk/models/operations/getlibraryhubs.ts - src/sdk/models/operations/getlibraryitems.ts + - src/sdk/models/operations/getmediametadata.ts - src/sdk/models/operations/getmediaproviders.ts - - src/sdk/models/operations/getmetadatabyratingkey.ts - src/sdk/models/operations/getmetadatachildren.ts - src/sdk/models/operations/getmyplexaccount.ts - src/sdk/models/operations/getondeck.ts @@ -2183,6 +2202,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Shows (Reality)", "title2": "By Genre", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} @@ -2195,6 +2216,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Country", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} @@ -2226,5 +2249,45 @@ examples: 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": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-actors-library: + speakeasy-default-get-actors-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "Directory": [{"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}, {"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-media-meta-data: + speakeasy-default-get-media-meta-data: + parameters: + path: + ratingKey: 9518 + query: + includeConcerts: true + includeExtras: true + includeOnDeck: true + includePopularLeaves: true + includePreferences: true + includeReviews: true + includeChapters: true + includeStations: true + includeExternalMedia: true + asyncAugmentMetadata: true + asyncCheckFiles: true + asyncRefreshAnalysis: true + 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, "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": 1625505101, "updatedAt": 1736487993, "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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", "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "container": "mkv", "videoProfile": "main 10", "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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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", "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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "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": 1625505101, "updatedAt": 1736487993, "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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", "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "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": 1625505101, "updatedAt": 1736487993, "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "container": "mkv", "videoProfile": "main 10", "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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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", "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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": 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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "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", "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"}]}]}} + "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": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.0 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index c9963e1c..31af5875 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,7 +13,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false typescript: - version: 0.32.5 + version: 0.33.0 additionalDependencies: dependencies: {} devDependencies: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 39a641e3..4657920d 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.484.1 +speakeasyVersion: 1.487.0 sources: my-source: sourceNamespace: my-source @@ -9,20 +9,20 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 tags: - latest - - speakeasy-sdk-regen-1738800605 + - speakeasy-sdk-regen-1738886999 - 0.0.3 targets: plexjs: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 codeSamplesNamespace: code-samples-typescript-plexjs - codeSamplesRevisionDigest: sha256:214b9a57e050598b3c15f0f8504a591973e8399cad8b8be2917772c3f75861a9 + codeSamplesRevisionDigest: sha256:cc0edeb64bf898493d4f7f9e628ac369bb39b63de609919e22052c030a54edec workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 84af56e6..ac97d47b 100644 --- a/README.md +++ b/README.md @@ -163,8 +163,9 @@ run(); * [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media * [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media +* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries -* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey +* [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 @@ -508,13 +509,14 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md). - [`hubsGetLibraryHubs`](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs - [`hubsGetRecentlyAdded`](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added - [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section +- [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media - [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries - [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media - [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value - [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media - [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details - [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items -- [`libraryGetMetaDataByRatingKey`](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey +- [`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 diff --git a/RELEASES.md b/RELEASES.md index a1f1dc69..467fade5 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1208,4 +1208,14 @@ Based on: ### Generated - [typescript v0.32.5] . ### Releases -- [NPM v0.32.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.5 - . \ No newline at end of file +- [NPM v0.32.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.5 - . + +## 2025-02-07 00:09:41 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.487.0 (2.506.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [typescript v0.33.0] . +### Releases +- [NPM v0.33.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.33.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 3941dd72..c87e232a 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -563,7 +563,7 @@ actions: update: x-codeSamples: - lang: typescript - label: key + label: data source: |- import { PlexAPI } from "@lukehagar/plexjs"; @@ -572,7 +572,22 @@ actions: }); async function run() { - const result = await plexAPI.library.getMetaDataByRatingKey(9518); + const result = await plexAPI.library.getMediaMetaData({ + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, + }); // Handle the result console.log(result); @@ -822,6 +837,27 @@ actions: console.log(result); } + run(); + - target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"] + update: + x-codeSamples: + - lang: typescript + label: library + source: |- + import { PlexAPI } from "@lukehagar/plexjs"; + import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + + const plexAPI = new PlexAPI({ + accessToken: "", + }); + + async function run() { + const result = await plexAPI.library.getActorsLibrary(9518, GetActorsLibraryQueryParamType.TvShow); + + // Handle the result + console.log(result); + } + run(); - target: $["paths"]["/library/sections/{sectionKey}/country"]["get"] update: @@ -830,13 +866,14 @@ actions: label: library source: |- import { PlexAPI } from "@lukehagar/plexjs"; + import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; const plexAPI = new PlexAPI({ accessToken: "", }); async function run() { - const result = await plexAPI.library.getCountriesLibrary(9518); + const result = await plexAPI.library.getCountriesLibrary(9518, GetCountriesLibraryQueryParamType.TvShow); // Handle the result console.log(result); @@ -850,13 +887,14 @@ actions: label: library source: |- import { PlexAPI } from "@lukehagar/plexjs"; + import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; const plexAPI = new PlexAPI({ accessToken: "", }); async function run() { - const result = await plexAPI.library.getGenresLibrary(9518); + const result = await plexAPI.library.getGenresLibrary(9518, GetGenresLibraryQueryParamType.TvShow); // Handle the result console.log(result); diff --git a/docs/sdk/models/errors/getactorslibrarybadrequest.md b/docs/sdk/models/errors/getactorslibrarybadrequest.md new file mode 100644 index 00000000..9f76d1eb --- /dev/null +++ b/docs/sdk/models/errors/getactorslibrarybadrequest.md @@ -0,0 +1,18 @@ +# GetActorsLibraryBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + +## Example Usage + +```typescript +import { GetActorsLibraryBadRequest } from "@lukehagar/plexjs/sdk/models/errors"; + +// No examples available for this model +``` + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `errors` | [errors.GetActorsLibraryErrors](../../../sdk/models/errors/getactorslibraryerrors.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/getmetadatabyratingkeyerrors.md b/docs/sdk/models/errors/getactorslibraryerrors.md similarity index 87% rename from docs/sdk/models/errors/getmetadatabyratingkeyerrors.md rename to docs/sdk/models/errors/getactorslibraryerrors.md index 81b7ca08..dd897be5 100644 --- a/docs/sdk/models/errors/getmetadatabyratingkeyerrors.md +++ b/docs/sdk/models/errors/getactorslibraryerrors.md @@ -1,11 +1,11 @@ -# GetMetaDataByRatingKeyErrors +# GetActorsLibraryErrors ## Example Usage ```typescript -import { GetMetaDataByRatingKeyErrors } from "@lukehagar/plexjs/sdk/models/errors"; +import { GetActorsLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; -let value: GetMetaDataByRatingKeyErrors = { +let value: GetActorsLibraryErrors = { code: 1000, message: "X-Plex-Client-Identifier is missing", status: 400, diff --git a/docs/sdk/models/errors/getmetadatabyratingkeylibraryerrors.md b/docs/sdk/models/errors/getactorslibrarylibraryerrors.md similarity index 84% rename from docs/sdk/models/errors/getmetadatabyratingkeylibraryerrors.md rename to docs/sdk/models/errors/getactorslibrarylibraryerrors.md index b41060dd..04de320f 100644 --- a/docs/sdk/models/errors/getmetadatabyratingkeylibraryerrors.md +++ b/docs/sdk/models/errors/getactorslibrarylibraryerrors.md @@ -1,11 +1,11 @@ -# GetMetaDataByRatingKeyLibraryErrors +# GetActorsLibraryLibraryErrors ## Example Usage ```typescript -import { GetMetaDataByRatingKeyLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; +import { GetActorsLibraryLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; -let value: GetMetaDataByRatingKeyLibraryErrors = { +let value: GetActorsLibraryLibraryErrors = { code: 1001, message: "User could not be authenticated", status: 401, diff --git a/docs/sdk/models/errors/getactorslibraryunauthorized.md b/docs/sdk/models/errors/getactorslibraryunauthorized.md new file mode 100644 index 00000000..76931f66 --- /dev/null +++ b/docs/sdk/models/errors/getactorslibraryunauthorized.md @@ -0,0 +1,18 @@ +# GetActorsLibraryUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +## Example Usage + +```typescript +import { GetActorsLibraryUnauthorized } from "@lukehagar/plexjs/sdk/models/errors"; + +// No examples available for this model +``` + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `errors` | [errors.GetActorsLibraryLibraryErrors](../../../sdk/models/errors/getactorslibrarylibraryerrors.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/getmediametadatabadrequest.md b/docs/sdk/models/errors/getmediametadatabadrequest.md new file mode 100644 index 00000000..c2d925ea --- /dev/null +++ b/docs/sdk/models/errors/getmediametadatabadrequest.md @@ -0,0 +1,18 @@ +# GetMediaMetaDataBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + +## Example Usage + +```typescript +import { GetMediaMetaDataBadRequest } from "@lukehagar/plexjs/sdk/models/errors"; + +// No examples available for this model +``` + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `errors` | [errors.GetMediaMetaDataErrors](../../../sdk/models/errors/getmediametadataerrors.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/getmediametadataerrors.md b/docs/sdk/models/errors/getmediametadataerrors.md new file mode 100644 index 00000000..f12e7ffe --- /dev/null +++ b/docs/sdk/models/errors/getmediametadataerrors.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataErrors + +## Example Usage + +```typescript +import { GetMediaMetaDataErrors } from "@lukehagar/plexjs/sdk/models/errors"; + +let value: GetMediaMetaDataErrors = { + 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/getmediametadatalibraryerrors.md b/docs/sdk/models/errors/getmediametadatalibraryerrors.md new file mode 100644 index 00000000..547033b0 --- /dev/null +++ b/docs/sdk/models/errors/getmediametadatalibraryerrors.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataLibraryErrors + +## Example Usage + +```typescript +import { GetMediaMetaDataLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; + +let value: GetMediaMetaDataLibraryErrors = { + 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/getmediametadataunauthorized.md b/docs/sdk/models/errors/getmediametadataunauthorized.md new file mode 100644 index 00000000..d5d01f2a --- /dev/null +++ b/docs/sdk/models/errors/getmediametadataunauthorized.md @@ -0,0 +1,18 @@ +# GetMediaMetaDataUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + +## Example Usage + +```typescript +import { GetMediaMetaDataUnauthorized } from "@lukehagar/plexjs/sdk/models/errors"; + +// No examples available for this model +``` + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `errors` | [errors.GetMediaMetaDataLibraryErrors](../../../sdk/models/errors/getmediametadatalibraryerrors.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/getmetadatabyratingkeybadrequest.md b/docs/sdk/models/errors/getmetadatabyratingkeybadrequest.md deleted file mode 100644 index bf55dbfa..00000000 --- a/docs/sdk/models/errors/getmetadatabyratingkeybadrequest.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMetaDataByRatingKeyBadRequest - -Bad Request - A parameter was not specified, or was specified incorrectly. - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyBadRequest } from "@lukehagar/plexjs/sdk/models/errors"; - -// No examples available for this model -``` - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| `errors` | [errors.GetMetaDataByRatingKeyErrors](../../../sdk/models/errors/getmetadatabyratingkeyerrors.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/getmetadatabyratingkeyunauthorized.md b/docs/sdk/models/errors/getmetadatabyratingkeyunauthorized.md deleted file mode 100644 index 592b6a63..00000000 --- a/docs/sdk/models/errors/getmetadatabyratingkeyunauthorized.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMetaDataByRatingKeyUnauthorized - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyUnauthorized } from "@lukehagar/plexjs/sdk/models/errors"; - -// No examples available for this model -``` - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `errors` | [errors.GetMetaDataByRatingKeyLibraryErrors](../../../sdk/models/errors/getmetadatabyratingkeylibraryerrors.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 14b6fdf4..f2f87695 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: 1856.36, + playlistID: 6874.88, 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 45380159..77c36cab 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: 507, + statusCode: 226, 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 9ce89667..c07f77d5 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: 205, + statusCode: 101, 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 67d7a107..31da1172 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: 863856, + paymentMethodId: 517379, }; ``` diff --git a/docs/sdk/models/operations/checkforupdatesresponse.md b/docs/sdk/models/operations/checkforupdatesresponse.md index b6d8930b..75b05c5d 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: 424, + statusCode: 205, 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 f12958a2..506b957f 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: 8726.51, + playlistID: 7980.47, }; ``` diff --git a/docs/sdk/models/operations/clearplaylistcontentsresponse.md b/docs/sdk/models/operations/clearplaylistcontentsresponse.md index 0ab2e76b..69ed6fab 100644 --- a/docs/sdk/models/operations/clearplaylistcontentsresponse.md +++ b/docs/sdk/models/operations/clearplaylistcontentsresponse.md @@ -7,7 +7,7 @@ import { ClearPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/oper let value: ClearPlaylistContentsResponse = { contentType: "", - statusCode: 207, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/createplaylistqueryparamtype.md b/docs/sdk/models/operations/createplaylistqueryparamtype.md index f039f9e5..5a270d89 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.Audio; ``` ## Values diff --git a/docs/sdk/models/operations/createplaylistrequest.md b/docs/sdk/models/operations/createplaylistrequest.md index efef2ee9..e5ec972c 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.Audio, + type: CreatePlaylistQueryParamType.Video, smart: Smart.Zero, - uri: "https://general-possession.info/", + uri: "https://humble-confusion.com", }; ``` diff --git a/docs/sdk/models/operations/createplaylistresponse.md b/docs/sdk/models/operations/createplaylistresponse.md index 37ffea57..1f0b04b1 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: 100, + statusCode: 102, 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 082b2c8b..f5026537 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: 6630.78, + playlistID: 206.51, }; ``` diff --git a/docs/sdk/models/operations/deleteplaylistresponse.md b/docs/sdk/models/operations/deleteplaylistresponse.md index dd0ca39f..d381892d 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: 200, + statusCode: 409, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/enablepapertrailresponse.md b/docs/sdk/models/operations/enablepapertrailresponse.md index d0d489c1..145e75b3 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: 508, + statusCode: 302, 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..7579d234 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.Available; ``` ## Values diff --git a/docs/sdk/models/operations/getactorslibrarydirectory.md b/docs/sdk/models/operations/getactorslibrarydirectory.md new file mode 100644 index 00000000..dd039228 --- /dev/null +++ b/docs/sdk/models/operations/getactorslibrarydirectory.md @@ -0,0 +1,24 @@ +# GetActorsLibraryDirectory + +## Example Usage + +```typescript +import { GetActorsLibraryDirectory } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryDirectory = { + fastKey: "/library/sections/2/all?actor=134671", + thumb: + "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", + key: "134671", + title: "Aaron Paul", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `fastKey` | *string* | :heavy_check_mark: | A fast lookup key for the actor relative url. | /library/sections/2/all?actor=134671 | +| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the actor. | https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg | +| `key` | *string* | :heavy_check_mark: | A unique key representing the actor. | 134671 | +| `title` | *string* | :heavy_check_mark: | The name of the actor. | Aaron Paul | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibrarymediacontainer.md b/docs/sdk/models/operations/getactorslibrarymediacontainer.md new file mode 100644 index 00000000..82620d9c --- /dev/null +++ b/docs/sdk/models/operations/getactorslibrarymediacontainer.md @@ -0,0 +1,49 @@ +# GetActorsLibraryMediaContainer + +## Example Usage + +```typescript +import { GetActorsLibraryMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryMediaContainer = { + size: 50, + allowSync: false, + art: "/:/resources/show-fanart.jpg", + identifier: "com.plexapp.plugins.library", + mediaTagPrefix: "/system/bundle/media/flags/", + mediaTagVersion: 1734362201, + nocache: true, + thumb: "/:/resources/show.png", + title1: "TV Series", + title2: "By Starring Actor", + viewGroup: "secondary", + viewMode: "131131", + directory: [ + { + fastKey: "/library/sections/2/all?actor=134671", + thumb: + "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", + key: "134671", + title: "Aaron Paul", + }, + ], +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `size` | *number* | :heavy_check_mark: | N/A | 50 | +| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `viewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `directory` | [operations.GetActorsLibraryDirectory](../../../sdk/models/operations/getactorslibrarydirectory.md)[] | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibraryqueryparamtype.md b/docs/sdk/models/operations/getactorslibraryqueryparamtype.md new file mode 100644 index 00000000..d21dd58f --- /dev/null +++ b/docs/sdk/models/operations/getactorslibraryqueryparamtype.md @@ -0,0 +1,30 @@ +# GetActorsLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + +## Example Usage + +```typescript +import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryQueryParamType = + GetActorsLibraryQueryParamType.TvShow; +``` + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibraryrequest.md b/docs/sdk/models/operations/getactorslibraryrequest.md new file mode 100644 index 00000000..3d3d6ef4 --- /dev/null +++ b/docs/sdk/models/operations/getactorslibraryrequest.md @@ -0,0 +1,19 @@ +# GetActorsLibraryRequest + +## Example Usage + +```typescript +import { GetActorsLibraryQueryParamType, GetActorsLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryRequest = { + sectionKey: 9518, + type: GetActorsLibraryQueryParamType.TvShow, +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [operations.GetActorsLibraryQueryParamType](../../../sdk/models/operations/getactorslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibraryresponse.md b/docs/sdk/models/operations/getactorslibraryresponse.md new file mode 100644 index 00000000..d8077cae --- /dev/null +++ b/docs/sdk/models/operations/getactorslibraryresponse.md @@ -0,0 +1,49 @@ +# GetActorsLibraryResponse + +## Example Usage + +```typescript +import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryResponse = { + contentType: "", + statusCode: 413, + rawResponse: new Response("{\"message\": \"hello world\"}", { + headers: { "Content-Type": "application/json" }, + }), + object: { + mediaContainer: { + size: 50, + allowSync: false, + art: "/:/resources/show-fanart.jpg", + identifier: "com.plexapp.plugins.library", + mediaTagPrefix: "/system/bundle/media/flags/", + mediaTagVersion: 1734362201, + nocache: true, + thumb: "/:/resources/show.png", + title1: "TV Series", + title2: "By Starring Actor", + viewGroup: "secondary", + viewMode: "131131", + directory: [ + { + fastKey: "/library/sections/2/all?actor=134671", + thumb: + "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", + key: "134671", + title: "Aaron Paul", + }, + ], + }, + }, +}; +``` + +## 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.GetActorsLibraryResponseBody](../../../sdk/models/operations/getactorslibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/sdk/models/operations/getactorslibraryresponsebody.md b/docs/sdk/models/operations/getactorslibraryresponsebody.md new file mode 100644 index 00000000..e251105d --- /dev/null +++ b/docs/sdk/models/operations/getactorslibraryresponsebody.md @@ -0,0 +1,41 @@ +# GetActorsLibraryResponseBody + +Successful response containing media container data. + +## Example Usage + +```typescript +import { GetActorsLibraryResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetActorsLibraryResponseBody = { + mediaContainer: { + size: 50, + allowSync: false, + art: "/:/resources/show-fanart.jpg", + identifier: "com.plexapp.plugins.library", + mediaTagPrefix: "/system/bundle/media/flags/", + mediaTagVersion: 1734362201, + nocache: true, + thumb: "/:/resources/show.png", + title1: "TV Series", + title2: "By Starring Actor", + viewGroup: "secondary", + viewMode: "131131", + directory: [ + { + fastKey: "/library/sections/2/all?actor=134671", + thumb: + "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", + key: "134671", + title: "Aaron Paul", + }, + ], + }, +}; +``` + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `mediaContainer` | [operations.GetActorsLibraryMediaContainer](../../../sdk/models/operations/getactorslibrarymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdk/models/operations/getbandwidthstatisticsresponse.md b/docs/sdk/models/operations/getbandwidthstatisticsresponse.md index 35c1334f..5e24f610 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: 423, + statusCode: 500, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getcountrieslibraryqueryparamtype.md b/docs/sdk/models/operations/getcountrieslibraryqueryparamtype.md new file mode 100644 index 00000000..fac78449 --- /dev/null +++ b/docs/sdk/models/operations/getcountrieslibraryqueryparamtype.md @@ -0,0 +1,30 @@ +# GetCountriesLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + +## Example Usage + +```typescript +import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetCountriesLibraryQueryParamType = + GetCountriesLibraryQueryParamType.TvShow; +``` + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getcountrieslibraryrequest.md b/docs/sdk/models/operations/getcountrieslibraryrequest.md index 4a4cfdaf..a9768611 100644 --- a/docs/sdk/models/operations/getcountrieslibraryrequest.md +++ b/docs/sdk/models/operations/getcountrieslibraryrequest.md @@ -3,15 +3,17 @@ ## Example Usage ```typescript -import { GetCountriesLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations"; +import { GetCountriesLibraryQueryParamType, GetCountriesLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetCountriesLibraryRequest = { sectionKey: 9518, + type: GetCountriesLibraryQueryParamType.TvShow, }; ``` ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [operations.GetCountriesLibraryQueryParamType](../../../sdk/models/operations/getcountrieslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getgenreslibraryqueryparamtype.md b/docs/sdk/models/operations/getgenreslibraryqueryparamtype.md new file mode 100644 index 00000000..e6117b62 --- /dev/null +++ b/docs/sdk/models/operations/getgenreslibraryqueryparamtype.md @@ -0,0 +1,30 @@ +# GetGenresLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + +## Example Usage + +```typescript +import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetGenresLibraryQueryParamType = + GetGenresLibraryQueryParamType.TvShow; +``` + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getgenreslibraryrequest.md b/docs/sdk/models/operations/getgenreslibraryrequest.md index 83050f18..123cee02 100644 --- a/docs/sdk/models/operations/getgenreslibraryrequest.md +++ b/docs/sdk/models/operations/getgenreslibraryrequest.md @@ -3,15 +3,17 @@ ## Example Usage ```typescript -import { GetGenresLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations"; +import { GetGenresLibraryQueryParamType, GetGenresLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetGenresLibraryRequest = { sectionKey: 9518, + type: GetGenresLibraryQueryParamType.TvShow, }; ``` ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [operations.GetGenresLibraryQueryParamType](../../../sdk/models/operations/getgenreslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getlibraryitemsqueryparamtype.md b/docs/sdk/models/operations/getlibraryitemsqueryparamtype.md index 2978e712..69a02024 100644 --- a/docs/sdk/models/operations/getlibraryitemsqueryparamtype.md +++ b/docs/sdk/models/operations/getlibraryitemsqueryparamtype.md @@ -1,6 +1,6 @@ # GetLibraryItemsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/getlibraryitemsrequest.md b/docs/sdk/models/operations/getlibraryitemsrequest.md index 41fba944..34e9d3b4 100644 --- a/docs/sdk/models/operations/getlibraryitemsrequest.md +++ b/docs/sdk/models/operations/getlibraryitemsrequest.md @@ -14,12 +14,12 @@ let value: GetLibraryItemsRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tag` | [operations.Tag](../../../sdk/models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | -| `includeGuids` | [operations.IncludeGuids](../../../sdk/models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [operations.GetLibraryItemsQueryParamType](../../../sdk/models/operations/getlibraryitemsqueryparamtype.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `includeMeta` | [operations.GetLibraryItemsQueryParamIncludeMeta](../../../sdk/models/operations/getlibraryitemsqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tag` | [operations.Tag](../../../sdk/models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | +| `includeGuids` | [operations.IncludeGuids](../../../sdk/models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [operations.GetLibraryItemsQueryParamType](../../../sdk/models/operations/getlibraryitemsqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `includeMeta` | [operations.GetLibraryItemsQueryParamIncludeMeta](../../../sdk/models/operations/getlibraryitemsqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatacountry.md b/docs/sdk/models/operations/getmediametadatacountry.md new file mode 100644 index 00000000..7cc115d5 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatacountry.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataCountry + +## Example Usage + +```typescript +import { GetMediaMetaDataCountry } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataCountry = { + id: 58591, + filter: "country=58591", + tag: "United States of America", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *number* | :heavy_check_mark: | The unique country identifier. | 58591 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the country. | country=58591 | +| `tag` | *string* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeyrole.md b/docs/sdk/models/operations/getmediametadatadirector.md similarity index 50% rename from docs/sdk/models/operations/getmetadatabyratingkeyrole.md rename to docs/sdk/models/operations/getmediametadatadirector.md index 0f373c5c..aa29f173 100644 --- a/docs/sdk/models/operations/getmetadatabyratingkeyrole.md +++ b/docs/sdk/models/operations/getmediametadatadirector.md @@ -1,18 +1,18 @@ -# GetMetaDataByRatingKeyRole +# GetMediaMetaDataDirector ## Example Usage ```typescript -import { GetMetaDataByRatingKeyRole } from "@lukehagar/plexjs/sdk/models/operations"; +import { GetMediaMetaDataDirector } from "@lukehagar/plexjs/sdk/models/operations"; -let value: GetMetaDataByRatingKeyRole = { - id: 220, - filter: "actor=220", - tag: "Dennis Keiffer", - tagKey: "5d77683554f42c001f8c4708", - role: "Bar Guy (uncredited)", +let value: GetMediaMetaDataDirector = { + id: 109501, + filter: "actor=109501", + tag: "Bob Odenkirk", + tagKey: "5d77683254f42c001f8c3f69", + role: "Jimmy McGill", thumb: - "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg", + "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", }; ``` @@ -20,9 +20,9 @@ let value: GetMetaDataByRatingKeyRole = { | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 220 | -| `filter` | *string* | :heavy_minus_sign: | N/A | actor=220 | -| `tag` | *string* | :heavy_minus_sign: | N/A | Dennis Keiffer | -| `tagKey` | *string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 | -| `role` | *string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) | -| `thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg | \ No newline at end of file +| `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/getmediametadatagenre.md b/docs/sdk/models/operations/getmediametadatagenre.md new file mode 100644 index 00000000..03494ae1 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatagenre.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataGenre + +## Example Usage + +```typescript +import { GetMediaMetaDataGenre } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataGenre = { + id: 1057, + filter: "genre=1057", + tag: "Crime", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *number* | :heavy_check_mark: | The unique genre identifier. | 1057 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | +| `tag` | *string* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadataimage.md b/docs/sdk/models/operations/getmediametadataimage.md new file mode 100644 index 00000000..e3499469 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataimage.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataImage + +## Example Usage + +```typescript +import { GetMediaMetaDataImage } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataImage = { + alt: "Better Call Saul", + type: "coverPoster", + url: "/library/metadata/44288/thumb/1736487993", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | +| `type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | +| `url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatalocation.md b/docs/sdk/models/operations/getmediametadatalocation.md new file mode 100644 index 00000000..88e705c7 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatalocation.md @@ -0,0 +1,17 @@ +# GetMediaMetaDataLocation + +## Example Usage + +```typescript +import { GetMediaMetaDataLocation } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataLocation = { + path: "/TV Shows/Better Call Saul", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `path` | *string* | :heavy_check_mark: | The file path for the location. | /TV Shows/Better Call Saul | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatamedia.md b/docs/sdk/models/operations/getmediametadatamedia.md new file mode 100644 index 00000000..a118d1e4 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatamedia.md @@ -0,0 +1,108 @@ +# GetMediaMetaDataMedia + +## Example Usage + +```typescript +import { GetMediaMetaDataMedia } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataMedia = { + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, + aspectRatio: 2.35, + audioChannels: 6, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: 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, + container: "mkv", + videoProfile: "main 10", + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", + }, + ], + }, + ], +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `id` | *number* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *number* | :heavy_check_mark: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *number* | :heavy_check_mark: | Bitrate in bits per second. | 25512 | +| `width` | *number* | :heavy_check_mark: | Video width in pixels. | 3840 | +| `height` | *number* | :heavy_check_mark: | Video height in pixels. | 1602 | +| `aspectRatio` | *number* | :heavy_check_mark: | Aspect ratio of the video. | 2.35 | +| `audioChannels` | *number* | :heavy_check_mark: | Number of audio channels. | 6 | +| `audioCodec` | *string* | :heavy_check_mark: | Audio codec used. | eac3 | +| `videoCodec` | *string* | :heavy_check_mark: | Video codec used. | hevc | +| `videoResolution` | *string* | :heavy_check_mark: | Video resolution (e.g., 4k). | 4k | +| `container` | *string* | :heavy_check_mark: | File container type. | mkv | +| `videoFrameRate` | *string* | :heavy_check_mark: | Frame rate of the video (e.g., 24p). | 24p | +| `videoProfile` | *string* | :heavy_check_mark: | Video profile (e.g., main 10). | main 10 | +| `hasVoiceActivity` | *boolean* | :heavy_check_mark: | Indicates whether voice activity is detected. | 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 diff --git a/docs/sdk/models/operations/getmediametadatamediacontainer.md b/docs/sdk/models/operations/getmediametadatamediacontainer.md new file mode 100644 index 00000000..23a03702 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatamediacontainer.md @@ -0,0 +1,261 @@ +# GetMediaMetaDataMediaContainer + +## Example Usage + +```typescript +import { GetMediaMetaDataMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; +import { RFCDate } from "@lukehagar/plexjs/sdk/types"; + +let value: GetMediaMetaDataMediaContainer = { + 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, + 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: new RFCDate("2015-02-08"), + leafCount: 63, + viewedLeafCount: 4, + childCount: 6, + addedAt: 1625505101, + updatedAt: 1736487993, + 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, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: 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, + container: "mkv", + videoProfile: "main 10", + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", + }, + ], + guids: [ + { + 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", + }, + ], + 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", + }, + ], + 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", + }, + ], + location: [ + { + path: "/TV Shows/Better Call Saul", + }, + ], + }, + ], +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `size` | *number* | :heavy_check_mark: | N/A | 50 | +| `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 | +| `librarySectionID` | *number* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `librarySectionUUID` | *string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `metadata` | [operations.GetMediaMetaDataMetadata](../../../sdk/models/operations/getmediametadatametadata.md)[] | :heavy_check_mark: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeymetadata.md b/docs/sdk/models/operations/getmediametadatametadata.md similarity index 51% rename from docs/sdk/models/operations/getmetadatabyratingkeymetadata.md rename to docs/sdk/models/operations/getmediametadatametadata.md index 8d6146c4..af75629f 100644 --- a/docs/sdk/models/operations/getmetadatabyratingkeymetadata.md +++ b/docs/sdk/models/operations/getmediametadatametadata.md @@ -1,172 +1,234 @@ -# GetMetaDataByRatingKeyMetadata +# GetMediaMetaDataMetadata ## Example Usage ```typescript -import { GetMetaDataByRatingKeyMetadata } from "@lukehagar/plexjs/sdk/models/operations"; +import { GetMediaMetaDataMetadata } from "@lukehagar/plexjs/sdk/models/operations"; import { RFCDate } from "@lukehagar/plexjs/sdk/types"; -let value: GetMetaDataByRatingKeyMetadata = { - ratingKey: "17", - key: "/library/metadata/17", - guid: "plex://movie/5d77683f6f4521001ea9dc53", - studio: "Universal Pictures", - type: "movie", - title: "Serenity", - librarySectionTitle: "Movies", - librarySectionID: 1, - librarySectionKey: "/library/sections/1", - contentRating: "PG-13", +let value: GetMediaMetaDataMetadata = { + 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: - "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", - rating: 8.2, - audienceRating: 9.1, - year: 2005, - tagline: "They aim to misbehave.", - thumb: "/library/metadata/17/thumb/1705637165", - art: "/library/metadata/17/art/1705637165", - duration: 141417, - originallyAvailableAt: new RFCDate("2005-09-29T00:00:00Z"), - addedAt: 1705637164, - updatedAt: 1705637165, - audienceRatingImage: "rottentomatoes://image.rating.upright", - hasPremiumPrimaryExtra: "1", - ratingImage: "rottentomatoes://image.rating.ripe", + "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, + 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: new RFCDate("2015-02-08"), + leafCount: 63, + viewedLeafCount: 4, + childCount: 6, + addedAt: 1625505101, + updatedAt: 1736487993, + 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: 15, - duration: 141417, - bitrate: 2278, - width: 1920, - height: 814, + id: 387322, + duration: 9610350, + bitrate: 25512, + width: 3840, + height: 1602, aspectRatio: 2.35, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "h264", - videoResolution: "1080", - container: "mp4", + audioChannels: 6, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", videoFrameRate: "24p", - optimizedForStreaming: 0, - audioProfile: "lc", - has64bitOffsets: false, - videoProfile: "high", + videoProfile: "main 10", + hasVoiceActivity: false, part: [ { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", + 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, + container: "mkv", + videoProfile: "main 10", stream: [ { - id: 29, - streamType: 2, + id: 1002625, + streamType: 1, default: true, - codec: "aac", + codec: "hevc", index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, + bitrate: 24743, language: "English", languageTag: "en", languageCode: "eng", - samplingRate: 44100, + 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: 184, - filter: "genre=184", - tag: "Thriller", + id: 1057, + filter: "genre=1057", + tag: "Crime", }, ], country: [ { - id: 116, - filter: "country=116", + id: 58591, + filter: "country=58591", tag: "United States of America", }, ], guids: [ { - id: "tvdb://2337", + id: "imdb://tt3032476", }, ], - ratings: [ + rating: [ { - image: "themoviedb://image.rating", - value: 7.4, + image: "imdb://image.rating", + value: 9, type: "audience", }, ], - director: [ - { - id: 130, - filter: "director=130", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - writer: [ - { - id: 132, - filter: "writer=132", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], role: [ { - id: 220, - filter: "actor=220", - tag: "Dennis Keiffer", - tagKey: "5d77683554f42c001f8c4708", - role: "Bar Guy (uncredited)", + id: 109501, + filter: "actor=109501", + tag: "Bob Odenkirk", + tagKey: "5d77683254f42c001f8c3f69", + role: "Jimmy McGill", thumb: - "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg", + "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", }, ], producer: [ { - id: 221, - filter: "producer=221", - tag: "Barry Mendel", - tagKey: "5d776826961905001eb90e2b", + id: 109501, + filter: "actor=109501", + tag: "Bob Odenkirk", + tagKey: "5d77683254f42c001f8c3f69", + role: "Jimmy McGill", thumb: - "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg", + "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", + }, + ], + similar: [ + { + id: 26, + filter: "similar=26", + tag: "Breaking Bad", + }, + ], + location: [ + { + path: "/TV Shows/Better Call Saul", }, ], }; @@ -174,43 +236,64 @@ let value: GetMetaDataByRatingKeyMetadata = { ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ratingKey` | *string* | :heavy_minus_sign: | N/A | 17 | -| `key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | -| `type` | *string* | :heavy_minus_sign: | N/A | movie | -| `title` | *string* | :heavy_minus_sign: | N/A | Serenity | -| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `grandparentTitle` | *string* | :heavy_minus_sign: | The name of the album artist for the track when audio, and the name of the TV show for the episode when video. | | -| `parentTitle` | *string* | :heavy_minus_sign: | The name of the album for the track when audio, and the name of the season for the episode when TV show. | | -| `originalTitle` | *string* | :heavy_minus_sign: | The orginal untranslated name of the media item when non-english. | | -| `index` | *number* | :heavy_minus_sign: | The index starting from 0 of this media item in the MetaData array. | | -| `parentIndex` | *number* | :heavy_minus_sign: | The parent index starting from 0 of this media item in the parent MetaData array. | | -| `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `rating` | *number* | :heavy_minus_sign: | N/A | 8.2 | -| `audienceRating` | *number* | :heavy_minus_sign: | N/A | 9.1 | -| `year` | *number* | :heavy_minus_sign: | N/A | 2005 | -| `tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 141417 | -| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `addedAt` | *number* | :heavy_minus_sign: | N/A | 1705637164 | -| `updatedAt` | *number* | :heavy_minus_sign: | N/A | 1705637165 | -| `audienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `hasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | -| `ratingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `media` | [operations.GetMetaDataByRatingKeyMedia](../../../sdk/models/operations/getmetadatabyratingkeymedia.md)[] | :heavy_minus_sign: | N/A | | -| `genre` | [operations.GetMetaDataByRatingKeyGenre](../../../sdk/models/operations/getmetadatabyratingkeygenre.md)[] | :heavy_minus_sign: | N/A | | -| `country` | [operations.GetMetaDataByRatingKeyCountry](../../../sdk/models/operations/getmetadatabyratingkeycountry.md)[] | :heavy_minus_sign: | N/A | | -| `guids` | [operations.Guids](../../../sdk/models/operations/guids.md)[] | :heavy_minus_sign: | N/A | | -| `ratings` | [operations.Ratings](../../../sdk/models/operations/ratings.md)[] | :heavy_minus_sign: | N/A | | -| `director` | [operations.GetMetaDataByRatingKeyDirector](../../../sdk/models/operations/getmetadatabyratingkeydirector.md)[] | :heavy_minus_sign: | N/A | | -| `writer` | [operations.GetMetaDataByRatingKeyWriter](../../../sdk/models/operations/getmetadatabyratingkeywriter.md)[] | :heavy_minus_sign: | N/A | | -| `role` | [operations.GetMetaDataByRatingKeyRole](../../../sdk/models/operations/getmetadatabyratingkeyrole.md)[] | :heavy_minus_sign: | N/A | | -| `producer` | [operations.Producer](../../../sdk/models/operations/producer.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ratingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | +| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | +| `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | +| `parentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | +| `grandparentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | +| `grandparentSlug` | *string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | +| `grandparentKey` | *string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | +| `parentKey` | *string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | +| `key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | +| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | +| `slug` | *string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | +| `studio` | *string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | +| `type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | +| `title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul | +| `originalTitle` | *string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `librarySectionID` | *number* | :heavy_check_mark: | The ID of the library section. | 2 | +| `librarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | +| `contentRating` | *string* | :heavy_check_mark: | The content rating (e.g., TV-MA). | TV-MA | +| `summary` | *string* | :heavy_check_mark: | A summary of the content. | 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` | *number* | :heavy_minus_sign: | The index or order of the item. | 1 | +| `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | +| `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | +| `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the content. | 8.7 | +| `viewCount` | *number* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | +| `skipCount` | *number* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | +| `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | +| `year` | *number* | :heavy_check_mark: | The release year. | 2015 | +| `tagline` | *string* | :heavy_minus_sign: | The tagline of the content. | Make the call | +| `chapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `primaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/134704 | +| `thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | +| `art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | +| `theme` | *string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | +| `duration` | *number* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | +| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_check_mark: | The original release date. | 2015-02-08 | +| `leafCount` | *number* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | +| `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | +| `childCount` | *number* | :heavy_minus_sign: | The number of child items. | 6 | +| `addedAt` | *number* | :heavy_check_mark: | Unix timestamp when the item was added. | 1625505101 | +| `updatedAt` | *number* | :heavy_check_mark: | Unix timestamp when the item was last updated. | 1736487993 | +| `audienceRatingImage` | *string* | :heavy_check_mark: | The URL for the audience rating image. | themoviedb://image.rating | +| `parentIndex` | *number* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | +| `parentThumb` | *string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | +| `grandparentThumb` | *string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | +| `grandparentArt` | *string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | +| `media` | [operations.GetMediaMetaDataMedia](../../../sdk/models/operations/getmediametadatamedia.md)[] | :heavy_minus_sign: | N/A | | +| `image` | [operations.GetMediaMetaDataImage](../../../sdk/models/operations/getmediametadataimage.md)[] | :heavy_check_mark: | An array of image objects. | | +| `ultraBlurColors` | [operations.GetMediaMetaDataUltraBlurColors](../../../sdk/models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | | +| `genre` | [operations.GetMediaMetaDataGenre](../../../sdk/models/operations/getmediametadatagenre.md)[] | :heavy_minus_sign: | An array of genre tags. | | +| `country` | [operations.GetMediaMetaDataCountry](../../../sdk/models/operations/getmediametadatacountry.md)[] | :heavy_minus_sign: | An array of country tags. | | +| `guids` | [operations.Guids](../../../sdk/models/operations/guids.md)[] | :heavy_check_mark: | An array of GUID objects. | | +| `rating` | [operations.Rating](../../../sdk/models/operations/rating.md)[] | :heavy_check_mark: | An array of rating objects. | | +| `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. | | +| `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/getmediametadatapart.md b/docs/sdk/models/operations/getmediametadatapart.md new file mode 100644 index 00000000..eb2ef6e2 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatapart.md @@ -0,0 +1,86 @@ +# GetMediaMetaDataPart + +## Example Usage + +```typescript +import { GetMediaMetaDataPart } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataPart = { + 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, + container: "mkv", + videoProfile: "main 10", + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", + }, + ], +}; +``` + +## Fields + +| 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_check_mark: | 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 | +| `container` | *string* | :heavy_check_mark: | Container format of the part. | mkv | +| `videoProfile` | *string* | :heavy_check_mark: | Video profile for the part. | main 10 | +| `stream` | [operations.GetMediaMetaDataStream](../../../sdk/models/operations/getmediametadatastream.md)[] | :heavy_check_mark: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatarequest.md b/docs/sdk/models/operations/getmediametadatarequest.md new file mode 100644 index 00000000..71525e05 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatarequest.md @@ -0,0 +1,43 @@ +# GetMediaMetaDataRequest + +## Example Usage + +```typescript +import { GetMediaMetaDataRequest } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataRequest = { + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| `includeConcerts` | *boolean* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `includeExtras` | *boolean* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `includeOnDeck` | *boolean* | :heavy_minus_sign: | Include on-deck items. | true | +| `includePopularLeaves` | *boolean* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `includePreferences` | *boolean* | :heavy_minus_sign: | Include preferences information. | true | +| `includeReviews` | *boolean* | :heavy_minus_sign: | Include reviews for the content. | true | +| `includeChapters` | *boolean* | :heavy_minus_sign: | Include chapter details. | true | +| `includeStations` | *boolean* | :heavy_minus_sign: | Include station data. | true | +| `includeExternalMedia` | *boolean* | :heavy_minus_sign: | Include external media data. | true | +| `asyncAugmentMetadata` | *boolean* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `asyncCheckFiles` | *boolean* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `asyncRefreshAnalysis` | *boolean* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `asyncRefreshLocalMediaAgent` | *boolean* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadataresponse.md b/docs/sdk/models/operations/getmediametadataresponse.md new file mode 100644 index 00000000..1ae3d42e --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataresponse.md @@ -0,0 +1,265 @@ +# GetMediaMetaDataResponse + +## Example Usage + +```typescript +import { GetMediaMetaDataResponse } from "@lukehagar/plexjs/sdk/models/operations"; +import { RFCDate } from "@lukehagar/plexjs/sdk/types"; + +let value: GetMediaMetaDataResponse = { + contentType: "", + statusCode: 103, + rawResponse: new Response("{\"message\": \"hello world\"}", { + headers: { "Content-Type": "application/json" }, + }), + object: { + 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, + 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: new RFCDate("2015-02-08"), + leafCount: 63, + viewedLeafCount: 4, + childCount: 6, + addedAt: 1625505101, + updatedAt: 1736487993, + 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, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: 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, + container: "mkv", + videoProfile: "main 10", + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", + }, + ], + guids: [ + { + 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", + }, + ], + 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", + }, + ], + 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", + }, + ], + location: [ + { + path: "/TV Shows/Better Call Saul", + }, + ], + }, + ], + }, + }, +}; +``` + +## 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.GetMediaMetaDataResponseBody](../../../sdk/models/operations/getmediametadataresponsebody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadataresponsebody.md b/docs/sdk/models/operations/getmediametadataresponsebody.md new file mode 100644 index 00000000..eedddf44 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataresponsebody.md @@ -0,0 +1,257 @@ +# GetMediaMetaDataResponseBody + +The metadata of the library item. + +## Example Usage + +```typescript +import { GetMediaMetaDataResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; +import { RFCDate } from "@lukehagar/plexjs/sdk/types"; + +let value: GetMediaMetaDataResponseBody = { + 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, + 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: new RFCDate("2015-02-08"), + leafCount: 63, + viewedLeafCount: 4, + childCount: 6, + addedAt: 1625505101, + updatedAt: 1736487993, + 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, + audioCodec: "eac3", + videoCodec: "hevc", + videoResolution: "4k", + container: "mkv", + videoFrameRate: "24p", + videoProfile: "main 10", + hasVoiceActivity: 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, + container: "mkv", + videoProfile: "main 10", + stream: [ + { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", + }, + ], + guids: [ + { + 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", + }, + ], + 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", + }, + ], + 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", + }, + ], + location: [ + { + path: "/TV Shows/Better Call Saul", + }, + ], + }, + ], + }, +}; +``` + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `mediaContainer` | [operations.GetMediaMetaDataMediaContainer](../../../sdk/models/operations/getmediametadatamediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatarole.md b/docs/sdk/models/operations/getmediametadatarole.md new file mode 100644 index 00000000..84a0ed25 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatarole.md @@ -0,0 +1,28 @@ +# GetMediaMetaDataRole + +## Example Usage + +```typescript +import { GetMediaMetaDataRole } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataRole = { + 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/getmediametadatastream.md b/docs/sdk/models/operations/getmediametadatastream.md new file mode 100644 index 00000000..c5ae5009 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatastream.md @@ -0,0 +1,107 @@ +# GetMediaMetaDataStream + +## Example Usage + +```typescript +import { GetMediaMetaDataStream } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataStream = { + id: 1002625, + streamType: 1, + default: true, + codec: "hevc", + index: 0, + bitrate: 24743, + language: "English", + languageTag: "en", + languageCode: "eng", + 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", +}; +``` + +## Fields + +| 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_check_mark: | 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 | +| `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 | +| `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 | +| `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/getmediametadataultrablurcolors.md b/docs/sdk/models/operations/getmediametadataultrablurcolors.md new file mode 100644 index 00000000..6d50d96d --- /dev/null +++ b/docs/sdk/models/operations/getmediametadataultrablurcolors.md @@ -0,0 +1,23 @@ +# GetMediaMetaDataUltraBlurColors + +## Example Usage + +```typescript +import { GetMediaMetaDataUltraBlurColors } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataUltraBlurColors = { + topLeft: "11333a", + topRight: "1d2721", + bottomRight: "5c451d", + bottomLeft: "372c10", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `topLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a | +| `topRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 | +| `bottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d | +| `bottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmediametadatawriter.md b/docs/sdk/models/operations/getmediametadatawriter.md new file mode 100644 index 00000000..e4f92849 --- /dev/null +++ b/docs/sdk/models/operations/getmediametadatawriter.md @@ -0,0 +1,28 @@ +# GetMediaMetaDataWriter + +## Example Usage + +```typescript +import { GetMediaMetaDataWriter } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: GetMediaMetaDataWriter = { + 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/getmetadatabyratingkeycountry.md b/docs/sdk/models/operations/getmetadatabyratingkeycountry.md deleted file mode 100644 index 8e1e9c6b..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeycountry.md +++ /dev/null @@ -1,21 +0,0 @@ -# GetMetaDataByRatingKeyCountry - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyCountry } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyCountry = { - id: 116, - filter: "country=116", - tag: "United States of America", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `id` | *number* | :heavy_minus_sign: | N/A | 116 | -| `filter` | *string* | :heavy_minus_sign: | N/A | country=116 | -| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeydirector.md b/docs/sdk/models/operations/getmetadatabyratingkeydirector.md deleted file mode 100644 index 28cf59d0..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeydirector.md +++ /dev/null @@ -1,25 +0,0 @@ -# GetMetaDataByRatingKeyDirector - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyDirector } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyDirector = { - id: 130, - filter: "director=130", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 130 | -| `filter` | *string* | :heavy_minus_sign: | N/A | director=130 | -| `tag` | *string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeygenre.md b/docs/sdk/models/operations/getmetadatabyratingkeygenre.md deleted file mode 100644 index 0f9e6517..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeygenre.md +++ /dev/null @@ -1,21 +0,0 @@ -# GetMetaDataByRatingKeyGenre - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyGenre } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyGenre = { - id: 184, - filter: "genre=184", - tag: "Thriller", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *number* | :heavy_minus_sign: | N/A | 184 | -| `filter` | *string* | :heavy_minus_sign: | N/A | genre=184 | -| `tag` | *string* | :heavy_minus_sign: | N/A | Thriller | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeymedia.md b/docs/sdk/models/operations/getmetadatabyratingkeymedia.md deleted file mode 100644 index fe2bc226..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeymedia.md +++ /dev/null @@ -1,98 +0,0 @@ -# GetMetaDataByRatingKeyMedia - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyMedia } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyMedia = { - id: 15, - duration: 141417, - bitrate: 2278, - width: 1920, - height: 814, - aspectRatio: 2.35, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "h264", - videoResolution: "1080", - container: "mp4", - videoFrameRate: "24p", - optimizedForStreaming: 0, - audioProfile: "lc", - has64bitOffsets: false, - videoProfile: "high", - part: [ - { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", - stream: [ - { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, - }, - ], - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 15 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 141417 | -| `bitrate` | *number* | :heavy_minus_sign: | N/A | 2278 | -| `width` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `height` | *number* | :heavy_minus_sign: | N/A | 814 | -| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 2.35 | -| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 2 | -| `audioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `videoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `optimizedForStreaming` | *number* | :heavy_minus_sign: | N/A | 0 | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `part` | [operations.GetMetaDataByRatingKeyPart](../../../sdk/models/operations/getmetadatabyratingkeypart.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeymediacontainer.md b/docs/sdk/models/operations/getmetadatabyratingkeymediacontainer.md deleted file mode 100644 index dc4aeb13..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeymediacontainer.md +++ /dev/null @@ -1,199 +0,0 @@ -# GetMetaDataByRatingKeyMediaContainer - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; -import { RFCDate } from "@lukehagar/plexjs/sdk/types"; - -let value: GetMetaDataByRatingKeyMediaContainer = { - size: 1, - allowSync: true, - identifier: "com.plexapp.plugins.library", - librarySectionID: 1, - librarySectionTitle: "Movies", - librarySectionUUID: "cfc899d7-3000-46f6-8489-b9592714ada5", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1698860922, - metadata: [ - { - ratingKey: "17", - key: "/library/metadata/17", - guid: "plex://movie/5d77683f6f4521001ea9dc53", - studio: "Universal Pictures", - type: "movie", - title: "Serenity", - librarySectionTitle: "Movies", - librarySectionID: 1, - librarySectionKey: "/library/sections/1", - contentRating: "PG-13", - summary: - "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", - rating: 8.2, - audienceRating: 9.1, - year: 2005, - tagline: "They aim to misbehave.", - thumb: "/library/metadata/17/thumb/1705637165", - art: "/library/metadata/17/art/1705637165", - duration: 141417, - originallyAvailableAt: new RFCDate("2005-09-29T00:00:00Z"), - addedAt: 1705637164, - updatedAt: 1705637165, - audienceRatingImage: "rottentomatoes://image.rating.upright", - hasPremiumPrimaryExtra: "1", - ratingImage: "rottentomatoes://image.rating.ripe", - media: [ - { - id: 15, - duration: 141417, - bitrate: 2278, - width: 1920, - height: 814, - aspectRatio: 2.35, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "h264", - videoResolution: "1080", - container: "mp4", - videoFrameRate: "24p", - optimizedForStreaming: 0, - audioProfile: "lc", - has64bitOffsets: false, - videoProfile: "high", - part: [ - { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", - stream: [ - { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, - }, - ], - }, - ], - }, - ], - genre: [ - { - id: 184, - filter: "genre=184", - tag: "Thriller", - }, - ], - country: [ - { - id: 116, - filter: "country=116", - tag: "United States of America", - }, - ], - guids: [ - { - id: "tvdb://2337", - }, - ], - ratings: [ - { - image: "themoviedb://image.rating", - value: 7.4, - type: "audience", - }, - ], - director: [ - { - id: 130, - filter: "director=130", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - writer: [ - { - id: 132, - filter: "writer=132", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - role: [ - { - id: 220, - filter: "actor=220", - tag: "Dennis Keiffer", - tagKey: "5d77683554f42c001f8c4708", - role: "Bar Guy (uncredited)", - thumb: - "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg", - }, - ], - producer: [ - { - id: 221, - filter: "producer=221", - tag: "Barry Mendel", - tagKey: "5d776826961905001eb90e2b", - thumb: - "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg", - }, - ], - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `size` | *number* | :heavy_minus_sign: | N/A | 1 | -| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true | -| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionUUID` | *string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | -| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1698860922 | -| `metadata` | [operations.GetMetaDataByRatingKeyMetadata](../../../sdk/models/operations/getmetadatabyratingkeymetadata.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeypart.md b/docs/sdk/models/operations/getmetadatabyratingkeypart.md deleted file mode 100644 index eb9b8f05..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeypart.md +++ /dev/null @@ -1,72 +0,0 @@ -# GetMetaDataByRatingKeyPart - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyPart } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyPart = { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", - stream: [ - { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, - }, - ], -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 15 | -| `key` | *string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `duration` | *number* | :heavy_minus_sign: | N/A | 141417 | -| `file` | *string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `size` | *number* | :heavy_minus_sign: | N/A | 40271948 | -| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false | -| `optimizedForStreaming` | *boolean* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `stream` | [operations.GetMetaDataByRatingKeyStream](../../../sdk/models/operations/getmetadatabyratingkeystream.md)[] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeyrequest.md b/docs/sdk/models/operations/getmetadatabyratingkeyrequest.md deleted file mode 100644 index 1b024728..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeyrequest.md +++ /dev/null @@ -1,17 +0,0 @@ -# GetMetaDataByRatingKeyRequest - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyRequest } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyRequest = { - ratingKey: 9518, -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeyresponse.md b/docs/sdk/models/operations/getmetadatabyratingkeyresponse.md deleted file mode 100644 index f86b1987..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeyresponse.md +++ /dev/null @@ -1,203 +0,0 @@ -# GetMetaDataByRatingKeyResponse - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyResponse } from "@lukehagar/plexjs/sdk/models/operations"; -import { RFCDate } from "@lukehagar/plexjs/sdk/types"; - -let value: GetMetaDataByRatingKeyResponse = { - contentType: "", - statusCode: 100, - rawResponse: new Response("{\"message\": \"hello world\"}", { - headers: { "Content-Type": "application/json" }, - }), - object: { - mediaContainer: { - size: 1, - allowSync: true, - identifier: "com.plexapp.plugins.library", - librarySectionID: 1, - librarySectionTitle: "Movies", - librarySectionUUID: "cfc899d7-3000-46f6-8489-b9592714ada5", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1698860922, - metadata: [ - { - ratingKey: "17", - key: "/library/metadata/17", - guid: "plex://movie/5d77683f6f4521001ea9dc53", - studio: "Universal Pictures", - type: "movie", - title: "Serenity", - librarySectionTitle: "Movies", - librarySectionID: 1, - librarySectionKey: "/library/sections/1", - contentRating: "PG-13", - summary: - "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", - rating: 8.2, - audienceRating: 9.1, - year: 2005, - tagline: "They aim to misbehave.", - thumb: "/library/metadata/17/thumb/1705637165", - art: "/library/metadata/17/art/1705637165", - duration: 141417, - originallyAvailableAt: new RFCDate("2005-09-29T00:00:00Z"), - addedAt: 1705637164, - updatedAt: 1705637165, - audienceRatingImage: "rottentomatoes://image.rating.upright", - hasPremiumPrimaryExtra: "1", - ratingImage: "rottentomatoes://image.rating.ripe", - media: [ - { - id: 15, - duration: 141417, - bitrate: 2278, - width: 1920, - height: 814, - aspectRatio: 2.35, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "h264", - videoResolution: "1080", - container: "mp4", - videoFrameRate: "24p", - optimizedForStreaming: 0, - audioProfile: "lc", - has64bitOffsets: false, - videoProfile: "high", - part: [ - { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", - stream: [ - { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, - }, - ], - }, - ], - }, - ], - genre: [ - { - id: 184, - filter: "genre=184", - tag: "Thriller", - }, - ], - country: [ - { - id: 116, - filter: "country=116", - tag: "United States of America", - }, - ], - guids: [ - { - id: "tvdb://2337", - }, - ], - ratings: [ - { - image: "themoviedb://image.rating", - value: 7.4, - type: "audience", - }, - ], - director: [ - { - id: 130, - filter: "director=130", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - writer: [ - { - id: 132, - filter: "writer=132", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - role: [ - { - id: 220, - filter: "actor=220", - tag: "Dennis Keiffer", - tagKey: "5d77683554f42c001f8c4708", - role: "Bar Guy (uncredited)", - thumb: - "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg", - }, - ], - producer: [ - { - id: 221, - filter: "producer=221", - tag: "Barry Mendel", - tagKey: "5d776826961905001eb90e2b", - thumb: - "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg", - }, - ], - }, - ], - }, - }, -}; -``` - -## 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.GetMetaDataByRatingKeyResponseBody](../../../sdk/models/operations/getmetadatabyratingkeyresponsebody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeyresponsebody.md b/docs/sdk/models/operations/getmetadatabyratingkeyresponsebody.md deleted file mode 100644 index b8748b1e..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeyresponsebody.md +++ /dev/null @@ -1,195 +0,0 @@ -# GetMetaDataByRatingKeyResponseBody - -The metadata of the library item. - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; -import { RFCDate } from "@lukehagar/plexjs/sdk/types"; - -let value: GetMetaDataByRatingKeyResponseBody = { - mediaContainer: { - size: 1, - allowSync: true, - identifier: "com.plexapp.plugins.library", - librarySectionID: 1, - librarySectionTitle: "Movies", - librarySectionUUID: "cfc899d7-3000-46f6-8489-b9592714ada5", - mediaTagPrefix: "/system/bundle/media/flags/", - mediaTagVersion: 1698860922, - metadata: [ - { - ratingKey: "17", - key: "/library/metadata/17", - guid: "plex://movie/5d77683f6f4521001ea9dc53", - studio: "Universal Pictures", - type: "movie", - title: "Serenity", - librarySectionTitle: "Movies", - librarySectionID: 1, - librarySectionKey: "/library/sections/1", - contentRating: "PG-13", - summary: - "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", - rating: 8.2, - audienceRating: 9.1, - year: 2005, - tagline: "They aim to misbehave.", - thumb: "/library/metadata/17/thumb/1705637165", - art: "/library/metadata/17/art/1705637165", - duration: 141417, - originallyAvailableAt: new RFCDate("2005-09-29T00:00:00Z"), - addedAt: 1705637164, - updatedAt: 1705637165, - audienceRatingImage: "rottentomatoes://image.rating.upright", - hasPremiumPrimaryExtra: "1", - ratingImage: "rottentomatoes://image.rating.ripe", - media: [ - { - id: 15, - duration: 141417, - bitrate: 2278, - width: 1920, - height: 814, - aspectRatio: 2.35, - audioChannels: 2, - audioCodec: "aac", - videoCodec: "h264", - videoResolution: "1080", - container: "mp4", - videoFrameRate: "24p", - optimizedForStreaming: 0, - audioProfile: "lc", - has64bitOffsets: false, - videoProfile: "high", - part: [ - { - id: 15, - key: "/library/parts/15/1705637151/file.mp4", - duration: 141417, - file: "/movies/Serenity (2005)/Serenity (2005).mp4", - size: 40271948, - audioProfile: "lc", - container: "mp4", - has64bitOffsets: false, - optimizedForStreaming: false, - videoProfile: "high", - stream: [ - { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, - }, - ], - }, - ], - }, - ], - genre: [ - { - id: 184, - filter: "genre=184", - tag: "Thriller", - }, - ], - country: [ - { - id: 116, - filter: "country=116", - tag: "United States of America", - }, - ], - guids: [ - { - id: "tvdb://2337", - }, - ], - ratings: [ - { - image: "themoviedb://image.rating", - value: 7.4, - type: "audience", - }, - ], - director: [ - { - id: 130, - filter: "director=130", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - writer: [ - { - id: 132, - filter: "writer=132", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: - "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", - }, - ], - role: [ - { - id: 220, - filter: "actor=220", - tag: "Dennis Keiffer", - tagKey: "5d77683554f42c001f8c4708", - role: "Bar Guy (uncredited)", - thumb: - "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg", - }, - ], - producer: [ - { - id: 221, - filter: "producer=221", - tag: "Barry Mendel", - tagKey: "5d776826961905001eb90e2b", - thumb: - "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg", - }, - ], - }, - ], - }, -}; -``` - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `mediaContainer` | [operations.GetMetaDataByRatingKeyMediaContainer](../../../sdk/models/operations/getmetadatabyratingkeymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeystream.md b/docs/sdk/models/operations/getmetadatabyratingkeystream.md deleted file mode 100644 index d0193ec8..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeystream.md +++ /dev/null @@ -1,79 +0,0 @@ -# GetMetaDataByRatingKeyStream - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyStream } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyStream = { - id: 29, - streamType: 2, - default: true, - codec: "aac", - index: 0, - bitrate: 128, - bitDepth: 8, - chromaLocation: "left", - chromaSubsampling: "14520", - codedHeight: 816, - codedWidth: 1920, - colorPrimaries: "bt709", - colorRange: "tv", - colorSpace: "bt709", - colorTrc: "bt709", - frameRate: 24, - hasScalingMatrix: false, - height: 814, - level: 40, - profile: "lc", - refFrames: 4, - scanType: "progressive", - streamIdentifier: "1", - width: 1920, - displayTitle: "English (AAC Stereo)", - extendedDisplayTitle: "English (AAC Stereo)", - selected: true, - channels: 2, - language: "English", - languageTag: "en", - languageCode: "eng", - samplingRate: 44100, -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 29 | -| `streamType` | *number* | :heavy_minus_sign: | N/A | 2 | -| `default` | *boolean* | :heavy_minus_sign: | N/A | true | -| `codec` | *string* | :heavy_minus_sign: | N/A | aac | -| `index` | *number* | :heavy_minus_sign: | N/A | 0 | -| `bitrate` | *number* | :heavy_minus_sign: | N/A | 128 | -| `bitDepth` | *number* | :heavy_minus_sign: | N/A | 8 | -| `chromaLocation` | *string* | :heavy_minus_sign: | N/A | left | -| `chromaSubsampling` | *string* | :heavy_minus_sign: | N/A | 14520 | -| `codedHeight` | *number* | :heavy_minus_sign: | N/A | 816 | -| `codedWidth` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `colorPrimaries` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `colorRange` | *string* | :heavy_minus_sign: | N/A | tv | -| `colorSpace` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `colorTrc` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `frameRate` | *number* | :heavy_minus_sign: | N/A | 24 | -| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | -| `height` | *number* | :heavy_minus_sign: | N/A | 814 | -| `level` | *number* | :heavy_minus_sign: | N/A | 40 | -| `profile` | *string* | :heavy_minus_sign: | N/A | lc | -| `refFrames` | *number* | :heavy_minus_sign: | N/A | 4 | -| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | -| `streamIdentifier` | *string* | :heavy_minus_sign: | N/A | 1 | -| `width` | *number* | :heavy_minus_sign: | N/A | 1920 | -| `displayTitle` | *string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `extendedDisplayTitle` | *string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `selected` | *boolean* | :heavy_minus_sign: | N/A | true | -| `channels` | *number* | :heavy_minus_sign: | N/A | 2 | -| `language` | *string* | :heavy_minus_sign: | N/A | English | -| `languageTag` | *string* | :heavy_minus_sign: | N/A | en | -| `languageCode` | *string* | :heavy_minus_sign: | N/A | eng | -| `samplingRate` | *number* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatabyratingkeywriter.md b/docs/sdk/models/operations/getmetadatabyratingkeywriter.md deleted file mode 100644 index 69836e21..00000000 --- a/docs/sdk/models/operations/getmetadatabyratingkeywriter.md +++ /dev/null @@ -1,25 +0,0 @@ -# GetMetaDataByRatingKeyWriter - -## Example Usage - -```typescript -import { GetMetaDataByRatingKeyWriter } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: GetMetaDataByRatingKeyWriter = { - id: 132, - filter: "writer=132", - tag: "Joss Whedon", - tagKey: "5d776828880197001ec90e8f", - thumb: "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 132 | -| `filter` | *string* | :heavy_minus_sign: | N/A | writer=132 | -| `tag` | *string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/sdk/models/operations/getmetadatachildrenrequest.md b/docs/sdk/models/operations/getmetadatachildrenrequest.md index e1e1f2c6..29c0d3ab 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: 185.21, + ratingKey: 2239.24, }; ``` diff --git a/docs/sdk/models/operations/getmetadatachildrenresponse.md b/docs/sdk/models/operations/getmetadatachildrenresponse.md index fb91c0fc..35912fbd 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: 406, + statusCode: 226, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getondeckresponse.md b/docs/sdk/models/operations/getondeckresponse.md index b5874168..6140589e 100644 --- a/docs/sdk/models/operations/getondeckresponse.md +++ b/docs/sdk/models/operations/getondeckresponse.md @@ -7,7 +7,7 @@ import { GetOnDeckResponse } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetOnDeckResponse = { contentType: "", - statusCode: 400, + statusCode: 102, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getplaylistcontentsqueryparamtype.md b/docs/sdk/models/operations/getplaylistcontentsqueryparamtype.md index a42c1f53..75909969 100644 --- a/docs/sdk/models/operations/getplaylistcontentsqueryparamtype.md +++ b/docs/sdk/models/operations/getplaylistcontentsqueryparamtype.md @@ -1,6 +1,6 @@ # GetPlaylistContentsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/getplaylistcontentsrequest.md b/docs/sdk/models/operations/getplaylistcontentsrequest.md index 29e2ba85..bc51f92b 100644 --- a/docs/sdk/models/operations/getplaylistcontentsrequest.md +++ b/docs/sdk/models/operations/getplaylistcontentsrequest.md @@ -6,14 +6,14 @@ import { GetPlaylistContentsQueryParamType, GetPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetPlaylistContentsRequest = { - playlistID: 5883.17, + playlistID: 6289.82, type: GetPlaylistContentsQueryParamType.TvShow, }; ``` ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *number* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [operations.GetPlaylistContentsQueryParamType](../../../sdk/models/operations/getplaylistcontentsqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *number* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [operations.GetPlaylistContentsQueryParamType](../../../sdk/models/operations/getplaylistcontentsqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getplaylistcontentsresponse.md b/docs/sdk/models/operations/getplaylistcontentsresponse.md index cba970ae..dcc4bb58 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: 506, + statusCode: 503, 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 b32d772b..611129db 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: 8966.72, + playlistID: 2168.97, }; ``` diff --git a/docs/sdk/models/operations/getplaylistresponse.md b/docs/sdk/models/operations/getplaylistresponse.md index 809ecc40..b1f3b56d 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: 502, + statusCode: 407, 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 33844fbe..2fac4603 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: 304, + statusCode: 511, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getrecentlyaddedlibraryrequest.md b/docs/sdk/models/operations/getrecentlyaddedlibraryrequest.md index d81eb24a..ad0ee458 100644 --- a/docs/sdk/models/operations/getrecentlyaddedlibraryrequest.md +++ b/docs/sdk/models/operations/getrecentlyaddedlibraryrequest.md @@ -28,12 +28,12 @@ let value: GetRecentlyAddedLibraryRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentDirectoryID` | *number* | :heavy_minus_sign: | N/A | 2 | -| `pinnedContentDirectoryID` | *number*[] | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | -| `sectionID` | *number* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `type` | [operations.QueryParamType](../../../sdk/models/operations/queryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `includeMeta` | [operations.QueryParamIncludeMeta](../../../sdk/models/operations/queryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentDirectoryID` | *number* | :heavy_minus_sign: | N/A | 2 | +| `pinnedContentDirectoryID` | *number*[] | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `sectionID` | *number* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [operations.QueryParamType](../../../sdk/models/operations/queryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `includeMeta` | [operations.QueryParamIncludeMeta](../../../sdk/models/operations/queryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getrecentlyaddedrequest.md b/docs/sdk/models/operations/getrecentlyaddedrequest.md index 07f26518..140eae7b 100644 --- a/docs/sdk/models/operations/getrecentlyaddedrequest.md +++ b/docs/sdk/models/operations/getrecentlyaddedrequest.md @@ -14,12 +14,12 @@ let value: GetRecentlyAddedRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentDirectoryID` | *number* | :heavy_check_mark: | The content directory ID. | | -| `pinnedContentDirectoryID` | *string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | -| `sectionID` | *number* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `type` | [operations.Type](../../../sdk/models/operations/type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `includeMeta` | [operations.IncludeMeta](../../../sdk/models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentDirectoryID` | *number* | :heavy_check_mark: | The content directory ID. | | +| `pinnedContentDirectoryID` | *string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | +| `sectionID` | *number* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [operations.Type](../../../sdk/models/operations/type.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `includeMeta` | [operations.IncludeMeta](../../../sdk/models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *number* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *number* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getresourcesstatisticsresponse.md b/docs/sdk/models/operations/getresourcesstatisticsresponse.md index 4e9d5f41..c8b590b3 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: 226, + statusCode: 423, 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 3e3b543d..26312ec4 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: 8663.83, + size: 8558.04, searchResult: [ { - score: 9755.22, + score: 117.14, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchalllibrariesrequest.md b/docs/sdk/models/operations/getsearchalllibrariesrequest.md index 0a085fbb..99f88725 100644 --- a/docs/sdk/models/operations/getsearchalllibrariesrequest.md +++ b/docs/sdk/models/operations/getsearchalllibrariesrequest.md @@ -9,7 +9,7 @@ let value: GetSearchAllLibrariesRequest = { query: "", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58", searchTypes: [ - SearchTypes.OtherVideos, + SearchTypes.Tv, ], }; ``` diff --git a/docs/sdk/models/operations/getsearchalllibrariesresponse.md b/docs/sdk/models/operations/getsearchalllibrariesresponse.md index 617b85c2..11c3248f 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: 207, + statusCode: 102, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), object: { mediaContainer: { - size: 1716.29, + size: 543.38, searchResult: [ { - score: 5210.37, + score: 1999.96, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md b/docs/sdk/models/operations/getsearchalllibrariesresponsebody.md index d2d4a284..8baa5b10 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: 8558.04, + size: 3599.78, searchResult: [ { - score: 117.14, + score: 7299.91, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/getsearchlibraryqueryparamtype.md b/docs/sdk/models/operations/getsearchlibraryqueryparamtype.md index 2c113c1b..ad1d74cb 100644 --- a/docs/sdk/models/operations/getsearchlibraryqueryparamtype.md +++ b/docs/sdk/models/operations/getsearchlibraryqueryparamtype.md @@ -1,6 +1,6 @@ # GetSearchLibraryQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/getsearchlibraryrequest.md b/docs/sdk/models/operations/getsearchlibraryrequest.md index c8d76b7c..4e3a1fe9 100644 --- a/docs/sdk/models/operations/getsearchlibraryrequest.md +++ b/docs/sdk/models/operations/getsearchlibraryrequest.md @@ -13,7 +13,7 @@ let value: GetSearchLibraryRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [operations.GetSearchLibraryQueryParamType](../../../sdk/models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [operations.GetSearchLibraryQueryParamType](../../../sdk/models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/getsessionhistoryresponse.md b/docs/sdk/models/operations/getsessionhistoryresponse.md index 7ea2da7d..a58742c4 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: 305, + statusCode: 503, 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 518681c8..29531c90 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: 500, + statusCode: 305, 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 fd003321..bf016fb0 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: 101, + statusCode: 226, 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 a0b4a7a8..e6e64b2d 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: 302, + statusCode: 307, 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: "hi", + locale: "fr", mailingListStatus: MailingListStatus.Active, maxHomeSize: 15, profile: { diff --git a/docs/sdk/models/operations/gettokendetailsuserplexaccount.md b/docs/sdk/models/operations/gettokendetailsuserplexaccount.md index c5c4ed04..f28b834a 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: "ja", + locale: "pt", mailingListStatus: MailingListStatus.Active, maxHomeSize: 15, profile: { diff --git a/docs/sdk/models/operations/gettopwatchedcontentqueryparamtype.md b/docs/sdk/models/operations/gettopwatchedcontentqueryparamtype.md index eedca343..b48f3a6c 100644 --- a/docs/sdk/models/operations/gettopwatchedcontentqueryparamtype.md +++ b/docs/sdk/models/operations/gettopwatchedcontentqueryparamtype.md @@ -1,6 +1,6 @@ # GetTopWatchedContentQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/gettopwatchedcontentrequest.md b/docs/sdk/models/operations/gettopwatchedcontentrequest.md index 1785a8e1..c8e60cb5 100644 --- a/docs/sdk/models/operations/gettopwatchedcontentrequest.md +++ b/docs/sdk/models/operations/gettopwatchedcontentrequest.md @@ -13,7 +13,7 @@ let value: GetTopWatchedContentRequest = { ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `includeGuids` | *number* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [operations.GetTopWatchedContentQueryParamType](../../../sdk/models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `includeGuids` | *number* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [operations.GetTopWatchedContentQueryParamType](../../../sdk/models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/sdk/models/operations/gettopwatchedcontentresponse.md b/docs/sdk/models/operations/gettopwatchedcontentresponse.md index 02068630..17d52b97 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: 226, + statusCode: 400, 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 9760f91a..98de94d0 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: 503, + statusCode: 201, 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 545b3d3f..ad51ace7 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: 205, + statusCode: 100, 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 01911db6..03f31c76 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: 103, + statusCode: 424, 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 2a5c769c..b322828a 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: 101, + statusCode: 510, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/getwatchlistrequest.md b/docs/sdk/models/operations/getwatchlistrequest.md index 66cb4ff4..b89ab30d 100644 --- a/docs/sdk/models/operations/getwatchlistrequest.md +++ b/docs/sdk/models/operations/getwatchlistrequest.md @@ -6,7 +6,7 @@ import { Filter, GetWatchListRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: GetWatchListRequest = { - filter: Filter.Released, + filter: Filter.Available, xPlexToken: "CV5xoxjTpFKUzBTShsaf", }; ``` diff --git a/docs/sdk/models/operations/getwatchlistresponse.md b/docs/sdk/models/operations/getwatchlistresponse.md index 12d347e2..72ce6a3f 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: 415, + statusCode: 306, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/guids.md b/docs/sdk/models/operations/guids.md index c842463b..dc307535 100644 --- a/docs/sdk/models/operations/guids.md +++ b/docs/sdk/models/operations/guids.md @@ -6,7 +6,7 @@ import { Guids } from "@lukehagar/plexjs/sdk/models/operations"; let value: Guids = { - id: "tvdb://2337", + id: "imdb://tt3032476", }; ``` @@ -14,4 +14,4 @@ let value: Guids = { | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_minus_sign: | N/A | tvdb://2337 | \ No newline at end of file +| `id` | *string* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file diff --git a/docs/sdk/models/operations/includeexternalmedia.md b/docs/sdk/models/operations/includeexternalmedia.md index 309bac8f..e720260e 100644 --- a/docs/sdk/models/operations/includeexternalmedia.md +++ b/docs/sdk/models/operations/includeexternalmedia.md @@ -8,7 +8,7 @@ include external media in the results ```typescript import { IncludeExternalMedia } from "@lukehagar/plexjs/sdk/models/operations"; -let value: IncludeExternalMedia = IncludeExternalMedia.One; +let value: IncludeExternalMedia = IncludeExternalMedia.Zero; ``` ## Values diff --git a/docs/sdk/models/operations/level.md b/docs/sdk/models/operations/level.md index 861ffd0b..f843a310 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.One; ``` ## 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/loglinerequest.md b/docs/sdk/models/operations/loglinerequest.md index 8a453871..7a663ca7 100644 --- a/docs/sdk/models/operations/loglinerequest.md +++ b/docs/sdk/models/operations/loglinerequest.md @@ -6,7 +6,7 @@ import { Level, LogLineRequest } from "@lukehagar/plexjs/sdk/models/operations"; let value: LogLineRequest = { - level: Level.Three, + level: Level.One, message: "Test log message", source: "Postman", }; diff --git a/docs/sdk/models/operations/loglineresponse.md b/docs/sdk/models/operations/loglineresponse.md index 2c872a99..94aa5aa7 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: 203, + statusCode: 201, 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 bb5b87f1..5f16d780 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: 201, + statusCode: 508, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/pastsubscription.md b/docs/sdk/models/operations/pastsubscription.md index 48a1ee57..b7ae5d2e 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: 117531, + paymentMethodId: 132068, }, }; ``` diff --git a/docs/sdk/models/operations/playlisttype.md b/docs/sdk/models/operations/playlisttype.md index 70ecd107..bb2c3475 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.Audio; +let value: PlaylistType = PlaylistType.Video; ``` ## Values diff --git a/docs/sdk/models/operations/postuserssignindataresponse.md b/docs/sdk/models/operations/postuserssignindataresponse.md index 1952f48f..7f6a02db 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: 411, + statusCode: 301, 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: "hi", + locale: "fr", mailingListStatus: PostUsersSignInDataMailingListStatus.Active, maxHomeSize: 15, profile: { @@ -79,7 +79,7 @@ let value: PostUsersSignInDataResponse = { state: PostUsersSignInDataState.Ended, billing: { internalPaymentMethod: {}, - paymentMethodId: 183280, + paymentMethodId: 488056, }, }, ], diff --git a/docs/sdk/models/operations/postuserssignindatauserplexaccount.md b/docs/sdk/models/operations/postuserssignindatauserplexaccount.md index 2e84958d..c25e56d1 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: "ar", + locale: "pl", mailingListStatus: PostUsersSignInDataMailingListStatus.Active, maxHomeSize: 15, profile: { @@ -75,7 +75,7 @@ let value: PostUsersSignInDataUserPlexAccount = { state: PostUsersSignInDataState.Ended, billing: { internalPaymentMethod: {}, - paymentMethodId: 132068, + paymentMethodId: 396060, }, }, ], diff --git a/docs/sdk/models/operations/producer.md b/docs/sdk/models/operations/producer.md index 287de1b5..61cf6434 100644 --- a/docs/sdk/models/operations/producer.md +++ b/docs/sdk/models/operations/producer.md @@ -6,12 +6,13 @@ import { Producer } from "@lukehagar/plexjs/sdk/models/operations"; let value: Producer = { - id: 221, - filter: "producer=221", - tag: "Barry Mendel", - tagKey: "5d776826961905001eb90e2b", + id: 109501, + filter: "actor=109501", + tag: "Bob Odenkirk", + tagKey: "5d77683254f42c001f8c3f69", + role: "Jimmy McGill", thumb: - "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg", + "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", }; ``` @@ -19,8 +20,9 @@ let value: Producer = { | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *number* | :heavy_minus_sign: | N/A | 221 | -| `filter` | *string* | :heavy_minus_sign: | N/A | producer=221 | -| `tag` | *string* | :heavy_minus_sign: | N/A | Barry Mendel | -| `tagKey` | *string* | :heavy_minus_sign: | N/A | 5d776826961905001eb90e2b | -| `thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg | \ No newline at end of file +| `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/queryparamforce.md b/docs/sdk/models/operations/queryparamforce.md index a105e3bd..2fbceaab 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.Zero; +let value: QueryParamForce = QueryParamForce.One; ``` ## Values diff --git a/docs/sdk/models/operations/queryparamtype.md b/docs/sdk/models/operations/queryparamtype.md index 88f6b47b..e5f976a6 100644 --- a/docs/sdk/models/operations/queryparamtype.md +++ b/docs/sdk/models/operations/queryparamtype.md @@ -1,6 +1,6 @@ # QueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/rating.md b/docs/sdk/models/operations/rating.md new file mode 100644 index 00000000..f1e9f0db --- /dev/null +++ b/docs/sdk/models/operations/rating.md @@ -0,0 +1,21 @@ +# Rating + +## Example Usage + +```typescript +import { Rating } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: Rating = { + image: "imdb://image.rating", + value: 9, + type: "audience", +}; +``` + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `image` | *string* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `value` | *number* | :heavy_check_mark: | The rating value. | 9 | +| `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/ratings.md b/docs/sdk/models/operations/ratings.md deleted file mode 100644 index aaf1885f..00000000 --- a/docs/sdk/models/operations/ratings.md +++ /dev/null @@ -1,21 +0,0 @@ -# Ratings - -## Example Usage - -```typescript -import { Ratings } from "@lukehagar/plexjs/sdk/models/operations"; - -let value: Ratings = { - image: "themoviedb://image.rating", - value: 7.4, - type: "audience", -}; -``` - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | -| `image` | *string* | :heavy_minus_sign: | N/A | themoviedb://image.rating | -| `value` | *number* | :heavy_minus_sign: | N/A | 7.4 | -| `type` | *string* | :heavy_minus_sign: | N/A | audience | \ No newline at end of file diff --git a/docs/sdk/models/operations/searchresult.md b/docs/sdk/models/operations/searchresult.md index 97cf7561..0da99516 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: 7220.56, + score: 9755.22, metadata: { ratingKey: "58683", key: "/library/metadata/58683", diff --git a/docs/sdk/models/operations/similar.md b/docs/sdk/models/operations/similar.md new file mode 100644 index 00000000..a0e18d73 --- /dev/null +++ b/docs/sdk/models/operations/similar.md @@ -0,0 +1,21 @@ +# Similar + +## Example Usage + +```typescript +import { Similar } from "@lukehagar/plexjs/sdk/models/operations"; + +let value: Similar = { + 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/stoptranscodesessionresponse.md b/docs/sdk/models/operations/stoptranscodesessionresponse.md index f726c066..61bce81e 100644 --- a/docs/sdk/models/operations/stoptranscodesessionresponse.md +++ b/docs/sdk/models/operations/stoptranscodesessionresponse.md @@ -7,7 +7,7 @@ import { StopTranscodeSessionResponse } from "@lukehagar/plexjs/sdk/models/opera let value: StopTranscodeSessionResponse = { contentType: "", - statusCode: 201, + statusCode: 103, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/type.md b/docs/sdk/models/operations/type.md index 73fd1cb9..90158f6a 100644 --- a/docs/sdk/models/operations/type.md +++ b/docs/sdk/models/operations/type.md @@ -1,6 +1,6 @@ # Type -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdk/models/operations/updateplaylistrequest.md b/docs/sdk/models/operations/updateplaylistrequest.md index 6966daa7..80c7ade1 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: 7583.79, + playlistID: 3834.64, }; ``` diff --git a/docs/sdk/models/operations/updateplaylistresponse.md b/docs/sdk/models/operations/updateplaylistresponse.md index 08dcab71..8027c71a 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: 203, + statusCode: 307, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdk/models/operations/uploadplaylistrequest.md b/docs/sdk/models/operations/uploadplaylistrequest.md index f60f6883..1efbb2c1 100644 --- a/docs/sdk/models/operations/uploadplaylistrequest.md +++ b/docs/sdk/models/operations/uploadplaylistrequest.md @@ -7,7 +7,7 @@ import { QueryParamForce, UploadPlaylistRequest } from "@lukehagar/plexjs/sdk/mo let value: UploadPlaylistRequest = { path: "/home/barkley/playlist.m3u", - force: QueryParamForce.One, + force: QueryParamForce.Zero, sectionID: 1, }; ``` diff --git a/docs/sdk/models/operations/uploadplaylistresponse.md b/docs/sdk/models/operations/uploadplaylistresponse.md index 8020227e..8a66cea1 100644 --- a/docs/sdk/models/operations/uploadplaylistresponse.md +++ b/docs/sdk/models/operations/uploadplaylistresponse.md @@ -7,7 +7,7 @@ import { UploadPlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations" let value: UploadPlaylistResponse = { contentType: "", - statusCode: 407, + statusCode: 205, rawResponse: new Response("{\"message\": \"hello world\"}", { headers: { "Content-Type": "application/json" }, }), diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index a30e701b..98d2995f 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -18,8 +18,9 @@ API Calls interacting with Plex Media Server Libraries * [getSearchLibrary](#getsearchlibrary) - Search Library * [getGenresLibrary](#getgenreslibrary) - Get Genres of library media * [getCountriesLibrary](#getcountrieslibrary) - Get Countries of library media +* [getActorsLibrary](#getactorslibrary) - Get Actors of library media * [getSearchAllLibraries](#getsearchalllibraries) - Search All Libraries -* [getMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey +* [getMediaMetaData](#getmediametadata) - Get Media Metadata * [getMetadataChildren](#getmetadatachildren) - Get Items Children * [getTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content * [getOnDeck](#getondeck) - Get On Deck @@ -737,13 +738,13 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | -| `type` | [operations.GetSearchLibraryQueryParamType](../../sdk/models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | -| `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. | | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | +| `type` | [operations.GetSearchLibraryQueryParamType](../../sdk/models/operations/getsearchlibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `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 @@ -766,13 +767,14 @@ Retrieves a list of all the genres that are found for the media in this library. ```typescript import { PlexAPI } from "@lukehagar/plexjs"; +import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; const plexAPI = new PlexAPI({ accessToken: "", }); async function run() { - const result = await plexAPI.library.getGenresLibrary(9518); + const result = await plexAPI.library.getGenresLibrary(9518, GetGenresLibraryQueryParamType.TvShow); // Handle the result console.log(result); @@ -788,6 +790,7 @@ The standalone function version of this method: ```typescript import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { libraryGetGenresLibrary } from "@lukehagar/plexjs/funcs/libraryGetGenresLibrary.js"; +import { GetGenresLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; // Use `PlexAPICore` for best tree-shaking performance. // You can create one instance of it to use across an application. @@ -796,7 +799,7 @@ const plexAPI = new PlexAPICore({ }); async function run() { - const res = await libraryGetGenresLibrary(plexAPI, 9518); + const res = await libraryGetGenresLibrary(plexAPI, 9518, GetGenresLibraryQueryParamType.TvShow); if (!res.ok) { throw res.error; @@ -813,12 +816,13 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | -| `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. | | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | +| `type` | [operations.GetGenresLibraryQueryParamType](../../sdk/models/operations/getgenreslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `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 @@ -841,13 +845,14 @@ Retrieves a list of all the countries that are found for the media in this libra ```typescript import { PlexAPI } from "@lukehagar/plexjs"; +import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; const plexAPI = new PlexAPI({ accessToken: "", }); async function run() { - const result = await plexAPI.library.getCountriesLibrary(9518); + const result = await plexAPI.library.getCountriesLibrary(9518, GetCountriesLibraryQueryParamType.TvShow); // Handle the result console.log(result); @@ -863,6 +868,7 @@ The standalone function version of this method: ```typescript import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { libraryGetCountriesLibrary } from "@lukehagar/plexjs/funcs/libraryGetCountriesLibrary.js"; +import { GetCountriesLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; // Use `PlexAPICore` for best tree-shaking performance. // You can create one instance of it to use across an application. @@ -871,7 +877,7 @@ const plexAPI = new PlexAPICore({ }); async function run() { - const res = await libraryGetCountriesLibrary(plexAPI, 9518); + const res = await libraryGetCountriesLibrary(plexAPI, 9518, GetCountriesLibraryQueryParamType.TvShow); if (!res.ok) { throw res.error; @@ -888,12 +894,13 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | -| `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. | | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | +| `type` | [operations.GetCountriesLibraryQueryParamType](../../sdk/models/operations/getcountrieslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `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 @@ -907,6 +914,84 @@ run(); | errors.GetCountriesLibraryUnauthorized | 401 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | +## getActorsLibrary + +Retrieves a list of all the actors that are found for the media in this library. + + +### Example Usage + +```typescript +import { PlexAPI } from "@lukehagar/plexjs"; +import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + +const plexAPI = new PlexAPI({ + accessToken: "", +}); + +async function run() { + const result = await plexAPI.library.getActorsLibrary(9518, GetActorsLibraryQueryParamType.TvShow); + + // 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 { libraryGetActorsLibrary } from "@lukehagar/plexjs/funcs/libraryGetActorsLibrary.js"; +import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; + +// 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 libraryGetActorsLibrary(plexAPI, 9518, GetActorsLibraryQueryParamType.TvShow); + + if (!res.ok) { + throw res.error; + } + + const { value: result } = res; + + // Handle the result + console.log(result); +} + +run(); +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| [object Object] | +| `type` | [operations.GetActorsLibraryQueryParamType](../../sdk/models/operations/getactorslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `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.GetActorsLibraryResponse](../../sdk/models/operations/getactorslibraryresponse.md)\>** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.GetActorsLibraryBadRequest | 400 | application/json | +| errors.GetActorsLibraryUnauthorized | 401 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | + ## getSearchAllLibraries Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. @@ -996,9 +1081,9 @@ run(); | errors.GetSearchAllLibrariesUnauthorized | 401 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | -## getMetaDataByRatingKey +## getMediaMetaData -This endpoint will return the metadata of a library item specified with the ratingKey. +This endpoint will return all the (meta)data of a library item specified with by the ratingKey. ### Example Usage @@ -1011,7 +1096,22 @@ const plexAPI = new PlexAPI({ }); async function run() { - const result = await plexAPI.library.getMetaDataByRatingKey(9518); + const result = await plexAPI.library.getMediaMetaData({ + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, + }); // Handle the result console.log(result); @@ -1026,7 +1126,7 @@ The standalone function version of this method: ```typescript import { PlexAPICore } from "@lukehagar/plexjs/core.js"; -import { libraryGetMetaDataByRatingKey } from "@lukehagar/plexjs/funcs/libraryGetMetaDataByRatingKey.js"; +import { libraryGetMediaMetaData } from "@lukehagar/plexjs/funcs/libraryGetMediaMetaData.js"; // Use `PlexAPICore` for best tree-shaking performance. // You can create one instance of it to use across an application. @@ -1035,7 +1135,22 @@ const plexAPI = new PlexAPICore({ }); async function run() { - const res = await libraryGetMetaDataByRatingKey(plexAPI, 9518); + const res = await libraryGetMediaMetaData(plexAPI, { + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, + }); if (!res.ok) { throw res.error; @@ -1052,24 +1167,24 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the children of. | [object Object] | -| `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. | | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `request` | [operations.GetMediaMetaDataRequest](../../sdk/models/operations/getmediametadatarequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `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.GetMetaDataByRatingKeyResponse](../../sdk/models/operations/getmetadatabyratingkeyresponse.md)\>** +**Promise\<[operations.GetMediaMetaDataResponse](../../sdk/models/operations/getmediametadataresponse.md)\>** ### Errors -| Error Type | Status Code | Content Type | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| errors.GetMetaDataByRatingKeyBadRequest | 400 | application/json | -| errors.GetMetaDataByRatingKeyUnauthorized | 401 | application/json | -| errors.SDKError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.GetMediaMetaDataBadRequest | 400 | application/json | +| errors.GetMediaMetaDataUnauthorized | 401 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | ## getMetadataChildren @@ -1205,13 +1320,13 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [operations.GetTopWatchedContentQueryParamType](../../sdk/models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | -| `includeGuids` | *number* | :heavy_minus_sign: | Adds the Guids object to the response
| [object Object] | -| `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. | | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [operations.GetTopWatchedContentQueryParamType](../../sdk/models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `includeGuids` | *number* | :heavy_minus_sign: | Adds the Guids object to the response
| [object Object] | +| `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 diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index e0c61f7a..30c1b5a7 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -474,13 +474,13 @@ run(); ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *number* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [operations.GetPlaylistContentsQueryParamType](../../sdk/models/operations/getplaylistcontentsqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | -| `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. | | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *number* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [operations.GetPlaylistContentsQueryParamType](../../sdk/models/operations/getplaylistcontentsqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| [object Object] | +| `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 diff --git a/jsr.json b/jsr.json index ac041b18..af32747e 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@lukehagar/plexjs", - "version": "0.32.5", + "version": "0.33.0", "exports": { ".": "./src/index.ts", "./sdk/models/errors": "./src/sdk/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index 88e00820..ca6a2d7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@lukehagar/plexjs", - "version": "0.32.5", + "version": "0.33.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@lukehagar/plexjs", - "version": "0.32.5", + "version": "0.33.0", "devDependencies": { "@eslint/js": "^9.19.0", "eslint": "^9.19.0", diff --git a/package.json b/package.json index 93f30957..20da14ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lukehagar/plexjs", - "version": "0.32.5", + "version": "0.33.0", "author": "LukeHagar", "main": "./index.js", "sideEffects": false, diff --git a/src/funcs/libraryGetMetaDataByRatingKey.ts b/src/funcs/libraryGetActorsLibrary.ts similarity index 71% rename from src/funcs/libraryGetMetaDataByRatingKey.ts rename to src/funcs/libraryGetActorsLibrary.ts index 7aa290e4..3ffa8b8b 100644 --- a/src/funcs/libraryGetMetaDataByRatingKey.ts +++ b/src/funcs/libraryGetActorsLibrary.ts @@ -3,7 +3,7 @@ */ import { PlexAPICore } from "../core.js"; -import { encodeSimple } from "../lib/encodings.js"; +import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -24,20 +24,21 @@ import * as operations from "../sdk/models/operations/index.js"; import { Result } from "../sdk/types/fp.js"; /** - * Get Metadata by RatingKey + * Get Actors of library media * * @remarks - * This endpoint will return the metadata of a library item specified with the ratingKey. + * Retrieves a list of all the actors that are found for the media in this library. */ -export async function libraryGetMetaDataByRatingKey( +export async function libraryGetActorsLibrary( client: PlexAPICore, - ratingKey: number, + sectionKey: number, + type: operations.GetActorsLibraryQueryParamType, options?: RequestOptions, ): Promise< Result< - operations.GetMetaDataByRatingKeyResponse, - | errors.GetMetaDataByRatingKeyBadRequest - | errors.GetMetaDataByRatingKeyUnauthorized + operations.GetActorsLibraryResponse, + | errors.GetActorsLibraryBadRequest + | errors.GetActorsLibraryUnauthorized | SDKError | SDKValidationError | UnexpectedClientError @@ -47,14 +48,14 @@ export async function libraryGetMetaDataByRatingKey( | ConnectionError > > { - const input: operations.GetMetaDataByRatingKeyRequest = { - ratingKey: ratingKey, + const input: operations.GetActorsLibraryRequest = { + sectionKey: sectionKey, + type: type, }; const parsed = safeParse( input, - (value) => - operations.GetMetaDataByRatingKeyRequest$outboundSchema.parse(value), + (value) => operations.GetActorsLibraryRequest$outboundSchema.parse(value), "Input validation failed", ); if (!parsed.ok) { @@ -64,13 +65,17 @@ export async function libraryGetMetaDataByRatingKey( const body = null; const pathParams = { - ratingKey: encodeSimple("ratingKey", payload.ratingKey, { + sectionKey: encodeSimple("sectionKey", payload.sectionKey, { explode: false, charEncoding: "percent", }), }; - const path = pathToFunc("/library/metadata/{ratingKey}")(pathParams); + const path = pathToFunc("/library/sections/{sectionKey}/actor")(pathParams); + + const query = encodeFormQuery({ + "type": payload.type, + }); const headers = new Headers(compactMap({ Accept: "application/json", @@ -81,7 +86,7 @@ export async function libraryGetMetaDataByRatingKey( const requestSecurity = resolveGlobalSecurity(securityInput); const context = { - operationID: "get-meta-data-by-rating-key", + operationID: "get-actors-library", oAuth2Scopes: [], resolvedSecurity: requestSecurity, @@ -99,6 +104,7 @@ export async function libraryGetMetaDataByRatingKey( baseURL: options?.serverURL, path: path, headers: headers, + query: query, body: body, timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, }, options); @@ -109,7 +115,7 @@ export async function libraryGetMetaDataByRatingKey( const doResult = await client._do(req, { context, - errorCodes: ["400", "401", "4XX", "5XX"], + errorCodes: ["400", "401", "404", "4XX", "5XX"], retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); @@ -127,9 +133,9 @@ export async function libraryGetMetaDataByRatingKey( }; const [result] = await M.match< - operations.GetMetaDataByRatingKeyResponse, - | errors.GetMetaDataByRatingKeyBadRequest - | errors.GetMetaDataByRatingKeyUnauthorized + operations.GetActorsLibraryResponse, + | errors.GetActorsLibraryBadRequest + | errors.GetActorsLibraryUnauthorized | SDKError | SDKValidationError | UnexpectedClientError @@ -138,12 +144,12 @@ export async function libraryGetMetaDataByRatingKey( | RequestTimeoutError | ConnectionError >( - M.json(200, operations.GetMetaDataByRatingKeyResponse$inboundSchema, { + M.json(200, operations.GetActorsLibraryResponse$inboundSchema, { key: "object", }), - M.jsonErr(400, errors.GetMetaDataByRatingKeyBadRequest$inboundSchema), - M.jsonErr(401, errors.GetMetaDataByRatingKeyUnauthorized$inboundSchema), - M.fail("4XX"), + M.jsonErr(400, errors.GetActorsLibraryBadRequest$inboundSchema), + M.jsonErr(401, errors.GetActorsLibraryUnauthorized$inboundSchema), + M.fail([404, "4XX"]), M.fail("5XX"), )(response, { extraFields: responseFields }); if (!result.ok) { diff --git a/src/funcs/libraryGetCountriesLibrary.ts b/src/funcs/libraryGetCountriesLibrary.ts index 5b601f74..7fc47e4b 100644 --- a/src/funcs/libraryGetCountriesLibrary.ts +++ b/src/funcs/libraryGetCountriesLibrary.ts @@ -3,7 +3,7 @@ */ import { PlexAPICore } from "../core.js"; -import { encodeSimple } from "../lib/encodings.js"; +import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -32,6 +32,7 @@ import { Result } from "../sdk/types/fp.js"; export async function libraryGetCountriesLibrary( client: PlexAPICore, sectionKey: number, + type: operations.GetCountriesLibraryQueryParamType, options?: RequestOptions, ): Promise< Result< @@ -49,6 +50,7 @@ export async function libraryGetCountriesLibrary( > { const input: operations.GetCountriesLibraryRequest = { sectionKey: sectionKey, + type: type, }; const parsed = safeParse( @@ -72,6 +74,10 @@ export async function libraryGetCountriesLibrary( const path = pathToFunc("/library/sections/{sectionKey}/country")(pathParams); + const query = encodeFormQuery({ + "type": payload.type, + }); + const headers = new Headers(compactMap({ Accept: "application/json", })); @@ -99,6 +105,7 @@ export async function libraryGetCountriesLibrary( baseURL: options?.serverURL, path: path, headers: headers, + query: query, body: body, timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, }, options); diff --git a/src/funcs/libraryGetGenresLibrary.ts b/src/funcs/libraryGetGenresLibrary.ts index be601e07..1d4439eb 100644 --- a/src/funcs/libraryGetGenresLibrary.ts +++ b/src/funcs/libraryGetGenresLibrary.ts @@ -3,7 +3,7 @@ */ import { PlexAPICore } from "../core.js"; -import { encodeSimple } from "../lib/encodings.js"; +import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; import * as M from "../lib/matchers.js"; import { compactMap } from "../lib/primitives.js"; import { safeParse } from "../lib/schemas.js"; @@ -32,6 +32,7 @@ import { Result } from "../sdk/types/fp.js"; export async function libraryGetGenresLibrary( client: PlexAPICore, sectionKey: number, + type: operations.GetGenresLibraryQueryParamType, options?: RequestOptions, ): Promise< Result< @@ -49,6 +50,7 @@ export async function libraryGetGenresLibrary( > { const input: operations.GetGenresLibraryRequest = { sectionKey: sectionKey, + type: type, }; const parsed = safeParse( @@ -71,6 +73,10 @@ export async function libraryGetGenresLibrary( const path = pathToFunc("/library/sections/{sectionKey}/genre")(pathParams); + const query = encodeFormQuery({ + "type": payload.type, + }); + const headers = new Headers(compactMap({ Accept: "application/json", })); @@ -98,6 +104,7 @@ export async function libraryGetGenresLibrary( baseURL: options?.serverURL, path: path, headers: headers, + query: query, body: body, timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, }, options); diff --git a/src/funcs/libraryGetMediaMetaData.ts b/src/funcs/libraryGetMediaMetaData.ts new file mode 100644 index 00000000..7d832b6b --- /dev/null +++ b/src/funcs/libraryGetMediaMetaData.ts @@ -0,0 +1,166 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +import { PlexAPICore } from "../core.js"; +import { encodeFormQuery, encodeSimple } from "../lib/encodings.js"; +import * as M from "../lib/matchers.js"; +import { compactMap } from "../lib/primitives.js"; +import { safeParse } from "../lib/schemas.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 { Result } from "../sdk/types/fp.js"; + +/** + * Get Media Metadata + * + * @remarks + * This endpoint will return all the (meta)data of a library item specified with by the ratingKey. + */ +export async function libraryGetMediaMetaData( + client: PlexAPICore, + request: operations.GetMediaMetaDataRequest, + options?: RequestOptions, +): Promise< + Result< + operations.GetMediaMetaDataResponse, + | errors.GetMediaMetaDataBadRequest + | errors.GetMediaMetaDataUnauthorized + | SDKError + | SDKValidationError + | UnexpectedClientError + | InvalidRequestError + | RequestAbortedError + | RequestTimeoutError + | ConnectionError + > +> { + const parsed = safeParse( + request, + (value) => operations.GetMediaMetaDataRequest$outboundSchema.parse(value), + "Input validation failed", + ); + if (!parsed.ok) { + return parsed; + } + const payload = parsed.value; + const body = null; + + const pathParams = { + ratingKey: encodeSimple("ratingKey", payload.ratingKey, { + explode: false, + charEncoding: "percent", + }), + }; + + const path = pathToFunc("/library/metadata/{ratingKey}")(pathParams); + + const query = encodeFormQuery({ + "asyncAugmentMetadata": payload.asyncAugmentMetadata, + "asyncCheckFiles": payload.asyncCheckFiles, + "asyncRefreshAnalysis": payload.asyncRefreshAnalysis, + "asyncRefreshLocalMediaAgent": payload.asyncRefreshLocalMediaAgent, + "includeChapters": payload.includeChapters, + "includeConcerts": payload.includeConcerts, + "includeExternalMedia": payload.includeExternalMedia, + "includeExtras": payload.includeExtras, + "includeOnDeck": payload.includeOnDeck, + "includePopularLeaves": payload.includePopularLeaves, + "includePreferences": payload.includePreferences, + "includeReviews": payload.includeReviews, + "includeStations": payload.includeStations, + }); + + 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 = { + operationID: "get-media-meta-data", + 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, + query: query, + body: body, + timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, + }, options); + if (!requestRes.ok) { + return requestRes; + } + const req = requestRes.value; + + const doResult = await client._do(req, { + context, + errorCodes: ["400", "401", "404", "4XX", "5XX"], + retryConfig: context.retryConfig, + retryCodes: context.retryCodes, + }); + if (!doResult.ok) { + return doResult; + } + 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.GetMediaMetaDataResponse, + | errors.GetMediaMetaDataBadRequest + | errors.GetMediaMetaDataUnauthorized + | SDKError + | SDKValidationError + | UnexpectedClientError + | InvalidRequestError + | RequestAbortedError + | RequestTimeoutError + | ConnectionError + >( + M.json(200, operations.GetMediaMetaDataResponse$inboundSchema, { + key: "object", + }), + M.jsonErr(400, errors.GetMediaMetaDataBadRequest$inboundSchema), + M.jsonErr(401, errors.GetMediaMetaDataUnauthorized$inboundSchema), + M.fail([404, "4XX"]), + M.fail("5XX"), + )(response, { extraFields: responseFields }); + if (!result.ok) { + return result; + } + + return result; +} diff --git a/src/lib/config.ts b/src/lib/config.ts index f9e9ee61..e972f431 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.32.5", - genVersion: "2.503.2", - userAgent: "speakeasy-sdk/typescript 0.32.5 2.503.2 0.0.3 @lukehagar/plexjs", + sdkVersion: "0.33.0", + genVersion: "2.506.0", + userAgent: "speakeasy-sdk/typescript 0.33.0 2.506.0 0.0.3 @lukehagar/plexjs", } as const; diff --git a/src/sdk/library.ts b/src/sdk/library.ts index 26ae76fe..65a580d3 100644 --- a/src/sdk/library.ts +++ b/src/sdk/library.ts @@ -3,13 +3,14 @@ */ import { libraryDeleteLibrary } from "../funcs/libraryDeleteLibrary.js"; +import { libraryGetActorsLibrary } from "../funcs/libraryGetActorsLibrary.js"; import { libraryGetAllLibraries } from "../funcs/libraryGetAllLibraries.js"; import { libraryGetCountriesLibrary } from "../funcs/libraryGetCountriesLibrary.js"; import { libraryGetFileHash } from "../funcs/libraryGetFileHash.js"; import { libraryGetGenresLibrary } from "../funcs/libraryGetGenresLibrary.js"; import { libraryGetLibraryDetails } from "../funcs/libraryGetLibraryDetails.js"; import { libraryGetLibraryItems } from "../funcs/libraryGetLibraryItems.js"; -import { libraryGetMetaDataByRatingKey } from "../funcs/libraryGetMetaDataByRatingKey.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"; @@ -252,11 +253,13 @@ export class Library extends ClientSDK { */ async getGenresLibrary( sectionKey: number, + type: operations.GetGenresLibraryQueryParamType, options?: RequestOptions, ): Promise { return unwrapAsync(libraryGetGenresLibrary( this, sectionKey, + type, options, )); } @@ -269,11 +272,32 @@ export class Library extends ClientSDK { */ async getCountriesLibrary( sectionKey: number, + type: operations.GetCountriesLibraryQueryParamType, options?: RequestOptions, ): Promise { return unwrapAsync(libraryGetCountriesLibrary( this, sectionKey, + type, + options, + )); + } + + /** + * Get Actors of library media + * + * @remarks + * Retrieves a list of all the actors that are found for the media in this library. + */ + async getActorsLibrary( + sectionKey: number, + type: operations.GetActorsLibraryQueryParamType, + options?: RequestOptions, + ): Promise { + return unwrapAsync(libraryGetActorsLibrary( + this, + sectionKey, + type, options, )); } @@ -296,18 +320,18 @@ export class Library extends ClientSDK { } /** - * Get Metadata by RatingKey + * Get Media Metadata * * @remarks - * This endpoint will return the metadata of a library item specified with the ratingKey. + * This endpoint will return all the (meta)data of a library item specified with by the ratingKey. */ - async getMetaDataByRatingKey( - ratingKey: number, + async getMediaMetaData( + request: operations.GetMediaMetaDataRequest, options?: RequestOptions, - ): Promise { - return unwrapAsync(libraryGetMetaDataByRatingKey( + ): Promise { + return unwrapAsync(libraryGetMediaMetaData( this, - ratingKey, + request, options, )); } diff --git a/src/sdk/models/errors/getactorslibrary.ts b/src/sdk/models/errors/getactorslibrary.ts new file mode 100644 index 00000000..9ea4fcd4 --- /dev/null +++ b/src/sdk/models/errors/getactorslibrary.ts @@ -0,0 +1,336 @@ +/* + * 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 GetActorsLibraryLibraryErrors = { + 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 GetActorsLibraryUnauthorizedData = { + 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 GetActorsLibraryUnauthorized 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$: GetActorsLibraryUnauthorizedData; + + constructor(err: GetActorsLibraryUnauthorizedData) { + 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 = "GetActorsLibraryUnauthorized"; + } +} + +export type GetActorsLibraryErrors = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** + * Bad Request - A parameter was not specified, or was specified incorrectly. + */ +export type GetActorsLibraryBadRequestData = { + 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 GetActorsLibraryBadRequest 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$: GetActorsLibraryBadRequestData; + + constructor(err: GetActorsLibraryBadRequestData) { + 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 = "GetActorsLibraryBadRequest"; + } +} + +/** @internal */ +export const GetActorsLibraryLibraryErrors$inboundSchema: z.ZodType< + GetActorsLibraryLibraryErrors, + z.ZodTypeDef, + unknown +> = z.object({ + code: z.number().int().optional(), + message: z.string().optional(), + status: z.number().int().optional(), +}); + +/** @internal */ +export type GetActorsLibraryLibraryErrors$Outbound = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** @internal */ +export const GetActorsLibraryLibraryErrors$outboundSchema: z.ZodType< + GetActorsLibraryLibraryErrors$Outbound, + z.ZodTypeDef, + GetActorsLibraryLibraryErrors +> = 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 GetActorsLibraryLibraryErrors$ { + /** @deprecated use `GetActorsLibraryLibraryErrors$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryLibraryErrors$inboundSchema; + /** @deprecated use `GetActorsLibraryLibraryErrors$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryLibraryErrors$outboundSchema; + /** @deprecated use `GetActorsLibraryLibraryErrors$Outbound` instead. */ + export type Outbound = GetActorsLibraryLibraryErrors$Outbound; +} + +export function getActorsLibraryLibraryErrorsToJSON( + getActorsLibraryLibraryErrors: GetActorsLibraryLibraryErrors, +): string { + return JSON.stringify( + GetActorsLibraryLibraryErrors$outboundSchema.parse( + getActorsLibraryLibraryErrors, + ), + ); +} + +export function getActorsLibraryLibraryErrorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryLibraryErrors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryLibraryErrors' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryUnauthorized$inboundSchema: z.ZodType< + GetActorsLibraryUnauthorized, + z.ZodTypeDef, + unknown +> = z.object({ + errors: z.array(z.lazy(() => GetActorsLibraryLibraryErrors$inboundSchema)) + .optional(), + RawResponse: z.instanceof(Response).optional(), +}) + .transform((v) => { + const remapped = remap$(v, { + "RawResponse": "rawResponse", + }); + + return new GetActorsLibraryUnauthorized(remapped); + }); + +/** @internal */ +export type GetActorsLibraryUnauthorized$Outbound = { + errors?: Array | undefined; + RawResponse?: never | undefined; +}; + +/** @internal */ +export const GetActorsLibraryUnauthorized$outboundSchema: z.ZodType< + GetActorsLibraryUnauthorized$Outbound, + z.ZodTypeDef, + GetActorsLibraryUnauthorized +> = z.instanceof(GetActorsLibraryUnauthorized) + .transform(v => v.data$) + .pipe( + z.object({ + errors: z.array( + z.lazy(() => GetActorsLibraryLibraryErrors$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 GetActorsLibraryUnauthorized$ { + /** @deprecated use `GetActorsLibraryUnauthorized$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryUnauthorized$inboundSchema; + /** @deprecated use `GetActorsLibraryUnauthorized$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryUnauthorized$outboundSchema; + /** @deprecated use `GetActorsLibraryUnauthorized$Outbound` instead. */ + export type Outbound = GetActorsLibraryUnauthorized$Outbound; +} + +/** @internal */ +export const GetActorsLibraryErrors$inboundSchema: z.ZodType< + GetActorsLibraryErrors, + z.ZodTypeDef, + unknown +> = z.object({ + code: z.number().int().optional(), + message: z.string().optional(), + status: z.number().int().optional(), +}); + +/** @internal */ +export type GetActorsLibraryErrors$Outbound = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** @internal */ +export const GetActorsLibraryErrors$outboundSchema: z.ZodType< + GetActorsLibraryErrors$Outbound, + z.ZodTypeDef, + GetActorsLibraryErrors +> = 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 GetActorsLibraryErrors$ { + /** @deprecated use `GetActorsLibraryErrors$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryErrors$inboundSchema; + /** @deprecated use `GetActorsLibraryErrors$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryErrors$outboundSchema; + /** @deprecated use `GetActorsLibraryErrors$Outbound` instead. */ + export type Outbound = GetActorsLibraryErrors$Outbound; +} + +export function getActorsLibraryErrorsToJSON( + getActorsLibraryErrors: GetActorsLibraryErrors, +): string { + return JSON.stringify( + GetActorsLibraryErrors$outboundSchema.parse(getActorsLibraryErrors), + ); +} + +export function getActorsLibraryErrorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryErrors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryErrors' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryBadRequest$inboundSchema: z.ZodType< + GetActorsLibraryBadRequest, + z.ZodTypeDef, + unknown +> = z.object({ + errors: z.array(z.lazy(() => GetActorsLibraryErrors$inboundSchema)) + .optional(), + RawResponse: z.instanceof(Response).optional(), +}) + .transform((v) => { + const remapped = remap$(v, { + "RawResponse": "rawResponse", + }); + + return new GetActorsLibraryBadRequest(remapped); + }); + +/** @internal */ +export type GetActorsLibraryBadRequest$Outbound = { + errors?: Array | undefined; + RawResponse?: never | undefined; +}; + +/** @internal */ +export const GetActorsLibraryBadRequest$outboundSchema: z.ZodType< + GetActorsLibraryBadRequest$Outbound, + z.ZodTypeDef, + GetActorsLibraryBadRequest +> = z.instanceof(GetActorsLibraryBadRequest) + .transform(v => v.data$) + .pipe( + z.object({ + errors: z.array(z.lazy(() => GetActorsLibraryErrors$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 GetActorsLibraryBadRequest$ { + /** @deprecated use `GetActorsLibraryBadRequest$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryBadRequest$inboundSchema; + /** @deprecated use `GetActorsLibraryBadRequest$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryBadRequest$outboundSchema; + /** @deprecated use `GetActorsLibraryBadRequest$Outbound` instead. */ + export type Outbound = GetActorsLibraryBadRequest$Outbound; +} diff --git a/src/sdk/models/errors/getmediametadata.ts b/src/sdk/models/errors/getmediametadata.ts new file mode 100644 index 00000000..ed247616 --- /dev/null +++ b/src/sdk/models/errors/getmediametadata.ts @@ -0,0 +1,336 @@ +/* + * 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 GetMediaMetaDataLibraryErrors = { + 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 GetMediaMetaDataUnauthorizedData = { + 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 GetMediaMetaDataUnauthorized 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$: GetMediaMetaDataUnauthorizedData; + + constructor(err: GetMediaMetaDataUnauthorizedData) { + 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 = "GetMediaMetaDataUnauthorized"; + } +} + +export type GetMediaMetaDataErrors = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** + * Bad Request - A parameter was not specified, or was specified incorrectly. + */ +export type GetMediaMetaDataBadRequestData = { + 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 GetMediaMetaDataBadRequest 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$: GetMediaMetaDataBadRequestData; + + constructor(err: GetMediaMetaDataBadRequestData) { + 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 = "GetMediaMetaDataBadRequest"; + } +} + +/** @internal */ +export const GetMediaMetaDataLibraryErrors$inboundSchema: z.ZodType< + GetMediaMetaDataLibraryErrors, + z.ZodTypeDef, + unknown +> = z.object({ + code: z.number().int().optional(), + message: z.string().optional(), + status: z.number().int().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataLibraryErrors$Outbound = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataLibraryErrors$outboundSchema: z.ZodType< + GetMediaMetaDataLibraryErrors$Outbound, + z.ZodTypeDef, + GetMediaMetaDataLibraryErrors +> = 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 GetMediaMetaDataLibraryErrors$ { + /** @deprecated use `GetMediaMetaDataLibraryErrors$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataLibraryErrors$inboundSchema; + /** @deprecated use `GetMediaMetaDataLibraryErrors$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataLibraryErrors$outboundSchema; + /** @deprecated use `GetMediaMetaDataLibraryErrors$Outbound` instead. */ + export type Outbound = GetMediaMetaDataLibraryErrors$Outbound; +} + +export function getMediaMetaDataLibraryErrorsToJSON( + getMediaMetaDataLibraryErrors: GetMediaMetaDataLibraryErrors, +): string { + return JSON.stringify( + GetMediaMetaDataLibraryErrors$outboundSchema.parse( + getMediaMetaDataLibraryErrors, + ), + ); +} + +export function getMediaMetaDataLibraryErrorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataLibraryErrors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataLibraryErrors' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataUnauthorized$inboundSchema: z.ZodType< + GetMediaMetaDataUnauthorized, + z.ZodTypeDef, + unknown +> = z.object({ + errors: z.array(z.lazy(() => GetMediaMetaDataLibraryErrors$inboundSchema)) + .optional(), + RawResponse: z.instanceof(Response).optional(), +}) + .transform((v) => { + const remapped = remap$(v, { + "RawResponse": "rawResponse", + }); + + return new GetMediaMetaDataUnauthorized(remapped); + }); + +/** @internal */ +export type GetMediaMetaDataUnauthorized$Outbound = { + errors?: Array | undefined; + RawResponse?: never | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataUnauthorized$outboundSchema: z.ZodType< + GetMediaMetaDataUnauthorized$Outbound, + z.ZodTypeDef, + GetMediaMetaDataUnauthorized +> = z.instanceof(GetMediaMetaDataUnauthorized) + .transform(v => v.data$) + .pipe( + z.object({ + errors: z.array( + z.lazy(() => GetMediaMetaDataLibraryErrors$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 GetMediaMetaDataUnauthorized$ { + /** @deprecated use `GetMediaMetaDataUnauthorized$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataUnauthorized$inboundSchema; + /** @deprecated use `GetMediaMetaDataUnauthorized$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataUnauthorized$outboundSchema; + /** @deprecated use `GetMediaMetaDataUnauthorized$Outbound` instead. */ + export type Outbound = GetMediaMetaDataUnauthorized$Outbound; +} + +/** @internal */ +export const GetMediaMetaDataErrors$inboundSchema: z.ZodType< + GetMediaMetaDataErrors, + z.ZodTypeDef, + unknown +> = z.object({ + code: z.number().int().optional(), + message: z.string().optional(), + status: z.number().int().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataErrors$Outbound = { + code?: number | undefined; + message?: string | undefined; + status?: number | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataErrors$outboundSchema: z.ZodType< + GetMediaMetaDataErrors$Outbound, + z.ZodTypeDef, + GetMediaMetaDataErrors +> = 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 GetMediaMetaDataErrors$ { + /** @deprecated use `GetMediaMetaDataErrors$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataErrors$inboundSchema; + /** @deprecated use `GetMediaMetaDataErrors$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataErrors$outboundSchema; + /** @deprecated use `GetMediaMetaDataErrors$Outbound` instead. */ + export type Outbound = GetMediaMetaDataErrors$Outbound; +} + +export function getMediaMetaDataErrorsToJSON( + getMediaMetaDataErrors: GetMediaMetaDataErrors, +): string { + return JSON.stringify( + GetMediaMetaDataErrors$outboundSchema.parse(getMediaMetaDataErrors), + ); +} + +export function getMediaMetaDataErrorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataErrors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataErrors' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataBadRequest$inboundSchema: z.ZodType< + GetMediaMetaDataBadRequest, + z.ZodTypeDef, + unknown +> = z.object({ + errors: z.array(z.lazy(() => GetMediaMetaDataErrors$inboundSchema)) + .optional(), + RawResponse: z.instanceof(Response).optional(), +}) + .transform((v) => { + const remapped = remap$(v, { + "RawResponse": "rawResponse", + }); + + return new GetMediaMetaDataBadRequest(remapped); + }); + +/** @internal */ +export type GetMediaMetaDataBadRequest$Outbound = { + errors?: Array | undefined; + RawResponse?: never | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataBadRequest$outboundSchema: z.ZodType< + GetMediaMetaDataBadRequest$Outbound, + z.ZodTypeDef, + GetMediaMetaDataBadRequest +> = z.instanceof(GetMediaMetaDataBadRequest) + .transform(v => v.data$) + .pipe( + z.object({ + errors: z.array(z.lazy(() => GetMediaMetaDataErrors$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 GetMediaMetaDataBadRequest$ { + /** @deprecated use `GetMediaMetaDataBadRequest$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataBadRequest$inboundSchema; + /** @deprecated use `GetMediaMetaDataBadRequest$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataBadRequest$outboundSchema; + /** @deprecated use `GetMediaMetaDataBadRequest$Outbound` instead. */ + export type Outbound = GetMediaMetaDataBadRequest$Outbound; +} diff --git a/src/sdk/models/errors/getmetadatabyratingkey.ts b/src/sdk/models/errors/getmetadatabyratingkey.ts deleted file mode 100644 index 3ffb94a9..00000000 --- a/src/sdk/models/errors/getmetadatabyratingkey.ts +++ /dev/null @@ -1,343 +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 GetMetaDataByRatingKeyLibraryErrors = { - 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 GetMetaDataByRatingKeyUnauthorizedData = { - 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 GetMetaDataByRatingKeyUnauthorized 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$: GetMetaDataByRatingKeyUnauthorizedData; - - constructor(err: GetMetaDataByRatingKeyUnauthorizedData) { - 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 = "GetMetaDataByRatingKeyUnauthorized"; - } -} - -export type GetMetaDataByRatingKeyErrors = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** - * Bad Request - A parameter was not specified, or was specified incorrectly. - */ -export type GetMetaDataByRatingKeyBadRequestData = { - 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 GetMetaDataByRatingKeyBadRequest 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$: GetMetaDataByRatingKeyBadRequestData; - - constructor(err: GetMetaDataByRatingKeyBadRequestData) { - 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 = "GetMetaDataByRatingKeyBadRequest"; - } -} - -/** @internal */ -export const GetMetaDataByRatingKeyLibraryErrors$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyLibraryErrors, - z.ZodTypeDef, - unknown -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyLibraryErrors$Outbound = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyLibraryErrors$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyLibraryErrors$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyLibraryErrors -> = 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 GetMetaDataByRatingKeyLibraryErrors$ { - /** @deprecated use `GetMetaDataByRatingKeyLibraryErrors$inboundSchema` instead. */ - export const inboundSchema = - GetMetaDataByRatingKeyLibraryErrors$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyLibraryErrors$outboundSchema` instead. */ - export const outboundSchema = - GetMetaDataByRatingKeyLibraryErrors$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyLibraryErrors$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyLibraryErrors$Outbound; -} - -export function getMetaDataByRatingKeyLibraryErrorsToJSON( - getMetaDataByRatingKeyLibraryErrors: GetMetaDataByRatingKeyLibraryErrors, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyLibraryErrors$outboundSchema.parse( - getMetaDataByRatingKeyLibraryErrors, - ), - ); -} - -export function getMetaDataByRatingKeyLibraryErrorsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => - GetMetaDataByRatingKeyLibraryErrors$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyLibraryErrors' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyUnauthorized$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyUnauthorized, - z.ZodTypeDef, - unknown -> = z.object({ - errors: z.array( - z.lazy(() => GetMetaDataByRatingKeyLibraryErrors$inboundSchema), - ).optional(), - RawResponse: z.instanceof(Response).optional(), -}) - .transform((v) => { - const remapped = remap$(v, { - "RawResponse": "rawResponse", - }); - - return new GetMetaDataByRatingKeyUnauthorized(remapped); - }); - -/** @internal */ -export type GetMetaDataByRatingKeyUnauthorized$Outbound = { - errors?: Array | undefined; - RawResponse?: never | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyUnauthorized$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyUnauthorized$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyUnauthorized -> = z.instanceof(GetMetaDataByRatingKeyUnauthorized) - .transform(v => v.data$) - .pipe( - z.object({ - errors: z.array( - z.lazy(() => GetMetaDataByRatingKeyLibraryErrors$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 GetMetaDataByRatingKeyUnauthorized$ { - /** @deprecated use `GetMetaDataByRatingKeyUnauthorized$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyUnauthorized$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyUnauthorized$outboundSchema` instead. */ - export const outboundSchema = - GetMetaDataByRatingKeyUnauthorized$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyUnauthorized$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyUnauthorized$Outbound; -} - -/** @internal */ -export const GetMetaDataByRatingKeyErrors$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyErrors, - z.ZodTypeDef, - unknown -> = z.object({ - code: z.number().int().optional(), - message: z.string().optional(), - status: z.number().int().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyErrors$Outbound = { - code?: number | undefined; - message?: string | undefined; - status?: number | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyErrors$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyErrors$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyErrors -> = 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 GetMetaDataByRatingKeyErrors$ { - /** @deprecated use `GetMetaDataByRatingKeyErrors$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyErrors$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyErrors$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyErrors$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyErrors$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyErrors$Outbound; -} - -export function getMetaDataByRatingKeyErrorsToJSON( - getMetaDataByRatingKeyErrors: GetMetaDataByRatingKeyErrors, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyErrors$outboundSchema.parse( - getMetaDataByRatingKeyErrors, - ), - ); -} - -export function getMetaDataByRatingKeyErrorsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyErrors$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyErrors' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyBadRequest$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyBadRequest, - z.ZodTypeDef, - unknown -> = z.object({ - errors: z.array(z.lazy(() => GetMetaDataByRatingKeyErrors$inboundSchema)) - .optional(), - RawResponse: z.instanceof(Response).optional(), -}) - .transform((v) => { - const remapped = remap$(v, { - "RawResponse": "rawResponse", - }); - - return new GetMetaDataByRatingKeyBadRequest(remapped); - }); - -/** @internal */ -export type GetMetaDataByRatingKeyBadRequest$Outbound = { - errors?: Array | undefined; - RawResponse?: never | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyBadRequest$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyBadRequest$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyBadRequest -> = z.instanceof(GetMetaDataByRatingKeyBadRequest) - .transform(v => v.data$) - .pipe( - z.object({ - errors: z.array(z.lazy(() => GetMetaDataByRatingKeyErrors$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 GetMetaDataByRatingKeyBadRequest$ { - /** @deprecated use `GetMetaDataByRatingKeyBadRequest$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyBadRequest$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyBadRequest$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyBadRequest$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyBadRequest$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyBadRequest$Outbound; -} diff --git a/src/sdk/models/errors/index.ts b/src/sdk/models/errors/index.ts index d110ab42..fcc1c768 100644 --- a/src/sdk/models/errors/index.ts +++ b/src/sdk/models/errors/index.ts @@ -11,6 +11,7 @@ export * from "./createplaylist.js"; export * from "./deletelibrary.js"; export * from "./deleteplaylist.js"; export * from "./enablepapertrail.js"; +export * from "./getactorslibrary.js"; export * from "./getalllibraries.js"; export * from "./getavailableclients.js"; export * from "./getbandwidthstatistics.js"; @@ -27,8 +28,8 @@ export * from "./gethomedata.js"; export * from "./getlibrarydetails.js"; export * from "./getlibraryhubs.js"; export * from "./getlibraryitems.js"; +export * from "./getmediametadata.js"; export * from "./getmediaproviders.js"; -export * from "./getmetadatabyratingkey.js"; export * from "./getmetadatachildren.js"; export * from "./getmyplexaccount.js"; export * from "./getondeck.js"; diff --git a/src/sdk/models/operations/getactorslibrary.ts b/src/sdk/models/operations/getactorslibrary.ts new file mode 100644 index 00000000..6a0d2e82 --- /dev/null +++ b/src/sdk/models/operations/getactorslibrary.ts @@ -0,0 +1,533 @@ +/* + * 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"; + +/** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ +export enum GetActorsLibraryQueryParamType { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, +} + +export type GetActorsLibraryRequest = { + /** + * The unique key of the Plex library. + * + * @remarks + * Note: This is unique in the context of the Plex server. + */ + sectionKey: number; + /** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ + type: GetActorsLibraryQueryParamType; +}; + +export type GetActorsLibraryDirectory = { + /** + * A fast lookup key for the actor relative url. + */ + fastKey: string; + /** + * URL for the thumbnail image of the actor. + */ + thumb: string; + /** + * A unique key representing the actor. + */ + key: string; + /** + * The name of the actor. + */ + title: string; +}; + +export type GetActorsLibraryMediaContainer = { + size: number; + /** + * Indicates whether syncing is allowed. + */ + allowSync: boolean; + /** + * URL for the background artwork of the media container. + */ + art: string; + /** + * An plugin identifier for the media container. + */ + identifier: string; + /** + * The prefix used for media tag resource paths. + */ + mediaTagPrefix: string; + /** + * The version number for media tags. + */ + mediaTagVersion: number; + /** + * Specifies whether caching is disabled. + */ + nocache: boolean; + /** + * URL for the thumbnail image of the media container. + */ + thumb: string; + /** + * The primary title of the media container. + */ + title1: string; + /** + * The secondary title of the media container. + */ + title2: string; + /** + * Identifier for the view group layout. + */ + viewGroup: string; + /** + * Identifier for the view mode. + */ + viewMode: string; + /** + * An array of actor entries for media items. + */ + directory?: Array | undefined; +}; + +/** + * Successful response containing media container data. + */ +export type GetActorsLibraryResponseBody = { + mediaContainer?: GetActorsLibraryMediaContainer | undefined; +}; + +export type GetActorsLibraryResponse = { + /** + * 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; + /** + * Successful response containing media container data. + */ + object?: GetActorsLibraryResponseBody | undefined; +}; + +/** @internal */ +export const GetActorsLibraryQueryParamType$inboundSchema: z.ZodNativeEnum< + typeof GetActorsLibraryQueryParamType +> = z.nativeEnum(GetActorsLibraryQueryParamType); + +/** @internal */ +export const GetActorsLibraryQueryParamType$outboundSchema: z.ZodNativeEnum< + typeof GetActorsLibraryQueryParamType +> = GetActorsLibraryQueryParamType$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetActorsLibraryQueryParamType$ { + /** @deprecated use `GetActorsLibraryQueryParamType$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryQueryParamType$inboundSchema; + /** @deprecated use `GetActorsLibraryQueryParamType$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryQueryParamType$outboundSchema; +} + +/** @internal */ +export const GetActorsLibraryRequest$inboundSchema: z.ZodType< + GetActorsLibraryRequest, + z.ZodTypeDef, + unknown +> = z.object({ + sectionKey: z.number().int(), + type: GetActorsLibraryQueryParamType$inboundSchema, +}); + +/** @internal */ +export type GetActorsLibraryRequest$Outbound = { + sectionKey: number; + type: number; +}; + +/** @internal */ +export const GetActorsLibraryRequest$outboundSchema: z.ZodType< + GetActorsLibraryRequest$Outbound, + z.ZodTypeDef, + GetActorsLibraryRequest +> = z.object({ + sectionKey: z.number().int(), + type: GetActorsLibraryQueryParamType$outboundSchema, +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetActorsLibraryRequest$ { + /** @deprecated use `GetActorsLibraryRequest$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryRequest$inboundSchema; + /** @deprecated use `GetActorsLibraryRequest$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryRequest$outboundSchema; + /** @deprecated use `GetActorsLibraryRequest$Outbound` instead. */ + export type Outbound = GetActorsLibraryRequest$Outbound; +} + +export function getActorsLibraryRequestToJSON( + getActorsLibraryRequest: GetActorsLibraryRequest, +): string { + return JSON.stringify( + GetActorsLibraryRequest$outboundSchema.parse(getActorsLibraryRequest), + ); +} + +export function getActorsLibraryRequestFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryRequest$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryRequest' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryDirectory$inboundSchema: z.ZodType< + GetActorsLibraryDirectory, + z.ZodTypeDef, + unknown +> = z.object({ + fastKey: z.string(), + thumb: z.string(), + key: z.string(), + title: z.string(), +}); + +/** @internal */ +export type GetActorsLibraryDirectory$Outbound = { + fastKey: string; + thumb: string; + key: string; + title: string; +}; + +/** @internal */ +export const GetActorsLibraryDirectory$outboundSchema: z.ZodType< + GetActorsLibraryDirectory$Outbound, + z.ZodTypeDef, + GetActorsLibraryDirectory +> = z.object({ + fastKey: z.string(), + thumb: z.string(), + key: z.string(), + title: 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 GetActorsLibraryDirectory$ { + /** @deprecated use `GetActorsLibraryDirectory$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryDirectory$inboundSchema; + /** @deprecated use `GetActorsLibraryDirectory$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryDirectory$outboundSchema; + /** @deprecated use `GetActorsLibraryDirectory$Outbound` instead. */ + export type Outbound = GetActorsLibraryDirectory$Outbound; +} + +export function getActorsLibraryDirectoryToJSON( + getActorsLibraryDirectory: GetActorsLibraryDirectory, +): string { + return JSON.stringify( + GetActorsLibraryDirectory$outboundSchema.parse(getActorsLibraryDirectory), + ); +} + +export function getActorsLibraryDirectoryFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryDirectory$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryDirectory' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryMediaContainer$inboundSchema: z.ZodType< + GetActorsLibraryMediaContainer, + z.ZodTypeDef, + unknown +> = z.object({ + size: z.number(), + allowSync: z.boolean(), + art: z.string(), + identifier: z.string(), + mediaTagPrefix: z.string(), + mediaTagVersion: z.number().int(), + nocache: z.boolean(), + thumb: z.string(), + title1: z.string(), + title2: z.string(), + viewGroup: z.string(), + viewMode: z.string(), + Directory: z.array(z.lazy(() => GetActorsLibraryDirectory$inboundSchema)) + .optional(), +}).transform((v) => { + return remap$(v, { + "Directory": "directory", + }); +}); + +/** @internal */ +export type GetActorsLibraryMediaContainer$Outbound = { + size: number; + allowSync: boolean; + art: string; + identifier: string; + mediaTagPrefix: string; + mediaTagVersion: number; + nocache: boolean; + thumb: string; + title1: string; + title2: string; + viewGroup: string; + viewMode: string; + Directory?: Array | undefined; +}; + +/** @internal */ +export const GetActorsLibraryMediaContainer$outboundSchema: z.ZodType< + GetActorsLibraryMediaContainer$Outbound, + z.ZodTypeDef, + GetActorsLibraryMediaContainer +> = z.object({ + size: z.number(), + allowSync: z.boolean(), + art: z.string(), + identifier: z.string(), + mediaTagPrefix: z.string(), + mediaTagVersion: z.number().int(), + nocache: z.boolean(), + thumb: z.string(), + title1: z.string(), + title2: z.string(), + viewGroup: z.string(), + viewMode: z.string(), + directory: z.array(z.lazy(() => GetActorsLibraryDirectory$outboundSchema)) + .optional(), +}).transform((v) => { + return remap$(v, { + directory: "Directory", + }); +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetActorsLibraryMediaContainer$ { + /** @deprecated use `GetActorsLibraryMediaContainer$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryMediaContainer$inboundSchema; + /** @deprecated use `GetActorsLibraryMediaContainer$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryMediaContainer$outboundSchema; + /** @deprecated use `GetActorsLibraryMediaContainer$Outbound` instead. */ + export type Outbound = GetActorsLibraryMediaContainer$Outbound; +} + +export function getActorsLibraryMediaContainerToJSON( + getActorsLibraryMediaContainer: GetActorsLibraryMediaContainer, +): string { + return JSON.stringify( + GetActorsLibraryMediaContainer$outboundSchema.parse( + getActorsLibraryMediaContainer, + ), + ); +} + +export function getActorsLibraryMediaContainerFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryMediaContainer$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryMediaContainer' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryResponseBody$inboundSchema: z.ZodType< + GetActorsLibraryResponseBody, + z.ZodTypeDef, + unknown +> = z.object({ + MediaContainer: z.lazy(() => GetActorsLibraryMediaContainer$inboundSchema) + .optional(), +}).transform((v) => { + return remap$(v, { + "MediaContainer": "mediaContainer", + }); +}); + +/** @internal */ +export type GetActorsLibraryResponseBody$Outbound = { + MediaContainer?: GetActorsLibraryMediaContainer$Outbound | undefined; +}; + +/** @internal */ +export const GetActorsLibraryResponseBody$outboundSchema: z.ZodType< + GetActorsLibraryResponseBody$Outbound, + z.ZodTypeDef, + GetActorsLibraryResponseBody +> = z.object({ + mediaContainer: z.lazy(() => GetActorsLibraryMediaContainer$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 GetActorsLibraryResponseBody$ { + /** @deprecated use `GetActorsLibraryResponseBody$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryResponseBody$inboundSchema; + /** @deprecated use `GetActorsLibraryResponseBody$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryResponseBody$outboundSchema; + /** @deprecated use `GetActorsLibraryResponseBody$Outbound` instead. */ + export type Outbound = GetActorsLibraryResponseBody$Outbound; +} + +export function getActorsLibraryResponseBodyToJSON( + getActorsLibraryResponseBody: GetActorsLibraryResponseBody, +): string { + return JSON.stringify( + GetActorsLibraryResponseBody$outboundSchema.parse( + getActorsLibraryResponseBody, + ), + ); +} + +export function getActorsLibraryResponseBodyFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryResponseBody$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryResponseBody' from JSON`, + ); +} + +/** @internal */ +export const GetActorsLibraryResponse$inboundSchema: z.ZodType< + GetActorsLibraryResponse, + z.ZodTypeDef, + unknown +> = z.object({ + ContentType: z.string(), + StatusCode: z.number().int(), + RawResponse: z.instanceof(Response), + object: z.lazy(() => GetActorsLibraryResponseBody$inboundSchema).optional(), +}).transform((v) => { + return remap$(v, { + "ContentType": "contentType", + "StatusCode": "statusCode", + "RawResponse": "rawResponse", + }); +}); + +/** @internal */ +export type GetActorsLibraryResponse$Outbound = { + ContentType: string; + StatusCode: number; + RawResponse: never; + object?: GetActorsLibraryResponseBody$Outbound | undefined; +}; + +/** @internal */ +export const GetActorsLibraryResponse$outboundSchema: z.ZodType< + GetActorsLibraryResponse$Outbound, + z.ZodTypeDef, + GetActorsLibraryResponse +> = z.object({ + contentType: z.string(), + statusCode: z.number().int(), + rawResponse: z.instanceof(Response).transform(() => { + throw new Error("Response cannot be serialized"); + }), + object: z.lazy(() => GetActorsLibraryResponseBody$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 GetActorsLibraryResponse$ { + /** @deprecated use `GetActorsLibraryResponse$inboundSchema` instead. */ + export const inboundSchema = GetActorsLibraryResponse$inboundSchema; + /** @deprecated use `GetActorsLibraryResponse$outboundSchema` instead. */ + export const outboundSchema = GetActorsLibraryResponse$outboundSchema; + /** @deprecated use `GetActorsLibraryResponse$Outbound` instead. */ + export type Outbound = GetActorsLibraryResponse$Outbound; +} + +export function getActorsLibraryResponseToJSON( + getActorsLibraryResponse: GetActorsLibraryResponse, +): string { + return JSON.stringify( + GetActorsLibraryResponse$outboundSchema.parse(getActorsLibraryResponse), + ); +} + +export function getActorsLibraryResponseFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetActorsLibraryResponse$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetActorsLibraryResponse' from JSON`, + ); +} diff --git a/src/sdk/models/operations/getcountrieslibrary.ts b/src/sdk/models/operations/getcountrieslibrary.ts index 8f363e96..12a408e1 100644 --- a/src/sdk/models/operations/getcountrieslibrary.ts +++ b/src/sdk/models/operations/getcountrieslibrary.ts @@ -8,6 +8,26 @@ import { safeParse } from "../../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; +/** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ +export enum GetCountriesLibraryQueryParamType { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, +} + export type GetCountriesLibraryRequest = { /** * The unique key of the Plex library. @@ -16,6 +36,17 @@ export type GetCountriesLibraryRequest = { * Note: This is unique in the context of the Plex server. */ sectionKey: number; + /** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ + type: GetCountriesLibraryQueryParamType; }; export type GetCountriesLibraryDirectory = { @@ -68,6 +99,28 @@ export type GetCountriesLibraryResponse = { object?: GetCountriesLibraryResponseBody | undefined; }; +/** @internal */ +export const GetCountriesLibraryQueryParamType$inboundSchema: z.ZodNativeEnum< + typeof GetCountriesLibraryQueryParamType +> = z.nativeEnum(GetCountriesLibraryQueryParamType); + +/** @internal */ +export const GetCountriesLibraryQueryParamType$outboundSchema: z.ZodNativeEnum< + typeof GetCountriesLibraryQueryParamType +> = GetCountriesLibraryQueryParamType$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetCountriesLibraryQueryParamType$ { + /** @deprecated use `GetCountriesLibraryQueryParamType$inboundSchema` instead. */ + export const inboundSchema = GetCountriesLibraryQueryParamType$inboundSchema; + /** @deprecated use `GetCountriesLibraryQueryParamType$outboundSchema` instead. */ + export const outboundSchema = + GetCountriesLibraryQueryParamType$outboundSchema; +} + /** @internal */ export const GetCountriesLibraryRequest$inboundSchema: z.ZodType< GetCountriesLibraryRequest, @@ -75,11 +128,13 @@ export const GetCountriesLibraryRequest$inboundSchema: z.ZodType< unknown > = z.object({ sectionKey: z.number().int(), + type: GetCountriesLibraryQueryParamType$inboundSchema, }); /** @internal */ export type GetCountriesLibraryRequest$Outbound = { sectionKey: number; + type: number; }; /** @internal */ @@ -89,6 +144,7 @@ export const GetCountriesLibraryRequest$outboundSchema: z.ZodType< GetCountriesLibraryRequest > = z.object({ sectionKey: z.number().int(), + type: GetCountriesLibraryQueryParamType$outboundSchema, }); /** diff --git a/src/sdk/models/operations/getgenreslibrary.ts b/src/sdk/models/operations/getgenreslibrary.ts index 9db448b2..79cb2de8 100644 --- a/src/sdk/models/operations/getgenreslibrary.ts +++ b/src/sdk/models/operations/getgenreslibrary.ts @@ -8,6 +8,26 @@ import { safeParse } from "../../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; +/** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ +export enum GetGenresLibraryQueryParamType { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, +} + export type GetGenresLibraryRequest = { /** * The unique key of the Plex library. @@ -16,6 +36,17 @@ export type GetGenresLibraryRequest = { * Note: This is unique in the context of the Plex server. */ sectionKey: number; + /** + * The type of media to retrieve or filter by. + * + * @remarks + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + */ + type: GetGenresLibraryQueryParamType; }; export type GetGenresLibraryDirectory = { @@ -69,6 +100,27 @@ export type GetGenresLibraryResponse = { object?: GetGenresLibraryResponseBody | undefined; }; +/** @internal */ +export const GetGenresLibraryQueryParamType$inboundSchema: z.ZodNativeEnum< + typeof GetGenresLibraryQueryParamType +> = z.nativeEnum(GetGenresLibraryQueryParamType); + +/** @internal */ +export const GetGenresLibraryQueryParamType$outboundSchema: z.ZodNativeEnum< + typeof GetGenresLibraryQueryParamType +> = GetGenresLibraryQueryParamType$inboundSchema; + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetGenresLibraryQueryParamType$ { + /** @deprecated use `GetGenresLibraryQueryParamType$inboundSchema` instead. */ + export const inboundSchema = GetGenresLibraryQueryParamType$inboundSchema; + /** @deprecated use `GetGenresLibraryQueryParamType$outboundSchema` instead. */ + export const outboundSchema = GetGenresLibraryQueryParamType$outboundSchema; +} + /** @internal */ export const GetGenresLibraryRequest$inboundSchema: z.ZodType< GetGenresLibraryRequest, @@ -76,11 +128,13 @@ export const GetGenresLibraryRequest$inboundSchema: z.ZodType< unknown > = z.object({ sectionKey: z.number().int(), + type: GetGenresLibraryQueryParamType$inboundSchema, }); /** @internal */ export type GetGenresLibraryRequest$Outbound = { sectionKey: number; + type: number; }; /** @internal */ @@ -90,6 +144,7 @@ export const GetGenresLibraryRequest$outboundSchema: z.ZodType< GetGenresLibraryRequest > = z.object({ sectionKey: z.number().int(), + type: GetGenresLibraryQueryParamType$outboundSchema, }); /** diff --git a/src/sdk/models/operations/getlibraryitems.ts b/src/sdk/models/operations/getlibraryitems.ts index 7ac90100..a23ecd8d 100644 --- a/src/sdk/models/operations/getlibraryitems.ts +++ b/src/sdk/models/operations/getlibraryitems.ts @@ -46,7 +46,7 @@ export enum IncludeGuids { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -87,7 +87,7 @@ export type GetLibraryItemsRequest = { */ includeGuids?: IncludeGuids | undefined; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -96,7 +96,7 @@ export type GetLibraryItemsRequest = { * 4 = episode * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries */ - type?: GetLibraryItemsQueryParamType | undefined; + type: GetLibraryItemsQueryParamType; /** * The unique key of the Plex library. * @@ -921,7 +921,7 @@ export const GetLibraryItemsRequest$inboundSchema: z.ZodType< > = z.object({ tag: Tag$inboundSchema, includeGuids: IncludeGuids$inboundSchema, - type: GetLibraryItemsQueryParamType$inboundSchema.optional(), + type: GetLibraryItemsQueryParamType$inboundSchema, sectionKey: z.number().int(), includeMeta: GetLibraryItemsQueryParamIncludeMeta$inboundSchema, "X-Plex-Container-Start": z.number().int().default(0), @@ -937,7 +937,7 @@ export const GetLibraryItemsRequest$inboundSchema: z.ZodType< export type GetLibraryItemsRequest$Outbound = { tag: string; includeGuids: number; - type?: number | undefined; + type: number; sectionKey: number; includeMeta: number; "X-Plex-Container-Start": number; @@ -952,7 +952,7 @@ export const GetLibraryItemsRequest$outboundSchema: z.ZodType< > = z.object({ tag: Tag$outboundSchema, includeGuids: IncludeGuids$outboundSchema.default(IncludeGuids.Disable), - type: GetLibraryItemsQueryParamType$outboundSchema.optional(), + type: GetLibraryItemsQueryParamType$outboundSchema, sectionKey: z.number().int(), includeMeta: GetLibraryItemsQueryParamIncludeMeta$outboundSchema.default( GetLibraryItemsQueryParamIncludeMeta.Disable, diff --git a/src/sdk/models/operations/getmediametadata.ts b/src/sdk/models/operations/getmediametadata.ts new file mode 100644 index 00000000..5782bf78 --- /dev/null +++ b/src/sdk/models/operations/getmediametadata.ts @@ -0,0 +1,2582 @@ +/* + * 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 { RFCDate } from "../../types/rfcdate.js"; +import { SDKValidationError } from "../errors/sdkvalidationerror.js"; + +export type GetMediaMetaDataRequest = { + /** + * the id of the library item to return the children of. + */ + ratingKey: number; + /** + * Include concerts data if set to true. + */ + includeConcerts?: boolean | undefined; + /** + * Include extra content (e.g. bonus features). + */ + includeExtras?: boolean | undefined; + /** + * Include on-deck items. + */ + includeOnDeck?: boolean | undefined; + /** + * Include popular leaves (episodes/chapters). + */ + includePopularLeaves?: boolean | undefined; + /** + * Include preferences information. + */ + includePreferences?: boolean | undefined; + /** + * Include reviews for the content. + */ + includeReviews?: boolean | undefined; + /** + * Include chapter details. + */ + includeChapters?: boolean | undefined; + /** + * Include station data. + */ + includeStations?: boolean | undefined; + /** + * Include external media data. + */ + includeExternalMedia?: boolean | undefined; + /** + * Trigger asynchronous metadata augmentation. + */ + asyncAugmentMetadata?: boolean | undefined; + /** + * Trigger asynchronous file checking. + */ + asyncCheckFiles?: boolean | undefined; + /** + * Trigger asynchronous refresh of analysis. + */ + asyncRefreshAnalysis?: boolean | undefined; + /** + * Trigger asynchronous refresh of the local media agent. + */ + asyncRefreshLocalMediaAgent?: boolean | undefined; +}; + +export type GetMediaMetaDataStream = { + /** + * 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; + /** + * Language of the stream. + */ + language: string; + /** + * Language tag (e.g., en). + */ + languageTag: string; + /** + * ISO language code. + */ + languageCode: string; + /** + * 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; + /** + * 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; + /** + * 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 GetMediaMetaDataPart = { + /** + * 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; + /** + * File path for the part. + */ + file: string; + /** + * File size in bytes. + */ + size: number; + /** + * Container format of the part. + */ + container: string; + /** + * Video profile for the part. + */ + videoProfile: string; + /** + * An array of streams for this part. + */ + stream: Array; +}; + +export type GetMediaMetaDataMedia = { + /** + * Unique media identifier. + */ + id: number; + /** + * Duration of the media in milliseconds. + */ + duration: number; + /** + * Bitrate in bits per second. + */ + bitrate: number; + /** + * Video width in pixels. + */ + width: number; + /** + * Video height in pixels. + */ + height: number; + /** + * Aspect ratio of the video. + */ + aspectRatio: number; + /** + * Number of audio channels. + */ + audioChannels: number; + /** + * Audio codec used. + */ + audioCodec: string; + /** + * Video codec used. + */ + videoCodec: string; + /** + * Video resolution (e.g., 4k). + */ + videoResolution: string; + /** + * File container type. + */ + container: string; + /** + * Frame rate of the video (e.g., 24p). + */ + videoFrameRate: string; + /** + * Video profile (e.g., main 10). + */ + videoProfile: string; + /** + * Indicates whether voice activity is detected. + */ + hasVoiceActivity: boolean; + /** + * An array of parts for this media item. + */ + part: Array; +}; + +export type GetMediaMetaDataImage = { + /** + * Alternate text for the image. + */ + alt: string; + /** + * The type of image (e.g., coverPoster, background, clearLogo). + */ + type: string; + /** + * The URL of the image. + */ + url: string; +}; + +export type GetMediaMetaDataUltraBlurColors = { + /** + * The top-left color value. + */ + topLeft: string; + /** + * The top-right color value. + */ + topRight: string; + /** + * The bottom-right color value. + */ + bottomRight: string; + /** + * The bottom-left color value. + */ + bottomLeft: string; +}; + +export type GetMediaMetaDataGenre = { + /** + * The unique genre identifier. + */ + id: number; + /** + * The filter string for the genre. + */ + filter: string; + /** + * The genre name. + */ + tag: string; +}; + +export type GetMediaMetaDataCountry = { + /** + * The unique country identifier. + */ + id: number; + /** + * The filter string for the country. + */ + filter: string; + /** + * The country name. + */ + tag: string; +}; + +export type Guids = { + /** + * The GUID value. + */ + id: string; +}; + +export type Rating = { + /** + * The image or reference for the rating. + */ + image: string; + /** + * The rating value. + */ + value: number; + /** + * The type of rating (e.g., audience, critic). + */ + type: string; +}; + +export type GetMediaMetaDataRole = { + /** + * The unique role identifier. + */ + id: number; + /** + * The filter string for the role. + */ + filter: string; + /** + * The actor's name. + */ + tag: string; + /** + * A key associated with the actor tag. + */ + tagKey: string; + /** + * The character name or role. + */ + role?: string | undefined; + /** + * URL for the role thumbnail image. + */ + thumb?: string | undefined; +}; + +export type GetMediaMetaDataDirector = { + /** + * The unique role identifier. + */ + id: number; + /** + * The filter string for the role. + */ + filter: string; + /** + * The actor's name. + */ + tag: string; + /** + * A key associated with the actor tag. + */ + tagKey: string; + /** + * The character name or role. + */ + role?: string | undefined; + /** + * URL for the role thumbnail image. + */ + thumb?: string | undefined; +}; + +export type GetMediaMetaDataWriter = { + /** + * The unique role identifier. + */ + id: number; + /** + * The filter string for the role. + */ + filter: string; + /** + * The actor's name. + */ + tag: string; + /** + * A key associated with the actor tag. + */ + tagKey: string; + /** + * The character name or role. + */ + role?: string | undefined; + /** + * URL for the role thumbnail image. + */ + thumb?: string | undefined; +}; + +export type Producer = { + /** + * The unique role identifier. + */ + id: number; + /** + * The filter string for the role. + */ + filter: string; + /** + * The actor's name. + */ + tag: string; + /** + * A key associated with the actor tag. + */ + tagKey: string; + /** + * The character name or role. + */ + role?: string | undefined; + /** + * URL for the role thumbnail image. + */ + thumb?: string | undefined; +}; + +export type Similar = { + /** + * The unique similar item identifier. + */ + id: number; + /** + * The filter string for similar items. + */ + filter: string; + /** + * The tag or title of the similar content. + */ + tag: string; +}; + +export type GetMediaMetaDataLocation = { + /** + * The file path for the location. + */ + path: string; +}; + +export type GetMediaMetaDataMetadata = { + /** + * The rating key of the metadata item. + */ + ratingKey: string; + /** + * The rating key of the parent of this metadata item. + */ + parentRatingKey?: string | undefined; + /** + * The rating key of the grandparent of this metadata item. + */ + grandparentRatingKey?: string | undefined; + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + parentGuid?: string | undefined; + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + grandparentGuid?: string | undefined; + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + grandparentSlug?: string | undefined; + /** + * A key identifying the grandparent metadata in the library. + */ + grandparentKey?: string | undefined; + /** + * A key identifying the parent metadata in the library. + */ + parentKey?: string | undefined; + /** + * The API key to access metadata details. + */ + key: string; + /** + * The globally unique identifier for the item. + */ + guid: string; + /** + * A URL-friendly identifier for the item. + */ + slug?: string | undefined; + /** + * The studio that produced the content. + */ + studio?: string | undefined; + /** + * The type of content (e.g., show, movie). + */ + type: string; + /** + * The title of the content. + */ + title: string; + /** + * The original title of the content. + */ + originalTitle?: string | undefined; + /** + * The title of the library section. + */ + librarySectionTitle: string; + /** + * The ID of the library section. + */ + librarySectionID: number; + /** + * The key of the library section. + */ + librarySectionKey: string; + /** + * The content rating (e.g., TV-MA). + */ + contentRating: string; + /** + * A summary of the content. + */ + summary: string; + /** + * The index or order of the item. + */ + index?: number | undefined; + /** + * The title of the grandparent entity (typically the show's title). + */ + grandparentTitle?: string | undefined; + /** + * The title of the parent entity (typically the season's title). + */ + parentTitle?: string | undefined; + /** + * The audience rating for the content. + */ + audienceRating: number; + /** + * The number of times the item has been viewed. + */ + viewCount?: number | undefined; + /** + * The number of times the item has been skipped. + */ + skipCount?: number | undefined; + /** + * Unix timestamp of when the item was last viewed. + */ + lastViewedAt?: number | undefined; + /** + * The release year. + */ + year: number; + /** + * The tagline of the content. + */ + tagline?: string | undefined; + chapterSource?: string | undefined; + primaryExtraKey?: string | undefined; + /** + * URL of the thumbnail image. + */ + thumb: string; + /** + * URL of the art image. + */ + art: string; + /** + * URL of the theme image. + */ + theme?: string | undefined; + /** + * Duration of the content in milliseconds. + */ + duration: number; + /** + * The original release date. + */ + originallyAvailableAt: RFCDate; + /** + * The total number of episodes (or leaves). + */ + leafCount?: number | undefined; + /** + * The number of episodes that have been viewed. + */ + viewedLeafCount?: number | undefined; + /** + * The number of child items. + */ + childCount?: number | undefined; + /** + * Unix timestamp when the item was added. + */ + addedAt: number; + /** + * Unix timestamp when the item was last updated. + */ + updatedAt: number; + /** + * The URL for the audience rating image. + */ + audienceRatingImage: string; + /** + * The index number of the parent entity, which could indicate its order or position. + */ + parentIndex?: number | undefined; + /** + * The URL of the parent's thumbnail image. + */ + parentThumb?: string | undefined; + /** + * The URL of the grandparent's thumbnail image. + */ + grandparentThumb?: string | undefined; + /** + * The URL of the grandparent's art image. + */ + grandparentArt?: string | undefined; + media?: Array | undefined; + /** + * An array of image objects. + */ + image: Array; + ultraBlurColors: GetMediaMetaDataUltraBlurColors; + /** + * An array of genre tags. + */ + genre?: Array | undefined; + /** + * An array of country tags. + */ + country?: Array | undefined; + /** + * An array of GUID objects. + */ + guids: Array; + /** + * An array of rating objects. + */ + rating: Array; + /** + * An array of Actor roles. + */ + role?: Array | undefined; + /** + * An array of Director roles. + */ + director?: Array | undefined; + /** + * An array of Writer roles. + */ + writer?: Array | undefined; + /** + * An array of Writer roles. + */ + producer?: Array | undefined; + /** + * An array of similar content objects. + */ + similar?: Array | undefined; + /** + * An array of location objects. + */ + location?: Array | undefined; +}; + +export type GetMediaMetaDataMediaContainer = { + size: number; + /** + * Indicates whether syncing is allowed. + */ + allowSync: boolean; + /** + * An plugin identifier for the media container. + */ + identifier: string; + /** + * The unique identifier for the library section. + */ + librarySectionID: number; + /** + * The title of the library section. + */ + librarySectionTitle: string; + /** + * The universally unique identifier for the library section. + */ + librarySectionUUID?: string | undefined; + /** + * The prefix used for media tag resource paths. + */ + mediaTagPrefix: string; + /** + * The version number for media tags. + */ + mediaTagVersion: number; + /** + * An array of metadata items. + */ + metadata: Array; +}; + +/** + * The metadata of the library item. + */ +export type GetMediaMetaDataResponseBody = { + mediaContainer?: GetMediaMetaDataMediaContainer | undefined; +}; + +export type GetMediaMetaDataResponse = { + /** + * 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 metadata of the library item. + */ + object?: GetMediaMetaDataResponseBody | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataRequest$inboundSchema: z.ZodType< + GetMediaMetaDataRequest, + z.ZodTypeDef, + unknown +> = z.object({ + ratingKey: z.number().int(), + includeConcerts: z.boolean().optional(), + includeExtras: z.boolean().optional(), + includeOnDeck: z.boolean().optional(), + includePopularLeaves: z.boolean().optional(), + includePreferences: z.boolean().optional(), + includeReviews: z.boolean().optional(), + includeChapters: z.boolean().optional(), + includeStations: z.boolean().optional(), + includeExternalMedia: z.boolean().optional(), + asyncAugmentMetadata: z.boolean().optional(), + asyncCheckFiles: z.boolean().optional(), + asyncRefreshAnalysis: z.boolean().optional(), + asyncRefreshLocalMediaAgent: z.boolean().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataRequest$Outbound = { + ratingKey: number; + includeConcerts?: boolean | undefined; + includeExtras?: boolean | undefined; + includeOnDeck?: boolean | undefined; + includePopularLeaves?: boolean | undefined; + includePreferences?: boolean | undefined; + includeReviews?: boolean | undefined; + includeChapters?: boolean | undefined; + includeStations?: boolean | undefined; + includeExternalMedia?: boolean | undefined; + asyncAugmentMetadata?: boolean | undefined; + asyncCheckFiles?: boolean | undefined; + asyncRefreshAnalysis?: boolean | undefined; + asyncRefreshLocalMediaAgent?: boolean | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataRequest$outboundSchema: z.ZodType< + GetMediaMetaDataRequest$Outbound, + z.ZodTypeDef, + GetMediaMetaDataRequest +> = z.object({ + ratingKey: z.number().int(), + includeConcerts: z.boolean().optional(), + includeExtras: z.boolean().optional(), + includeOnDeck: z.boolean().optional(), + includePopularLeaves: z.boolean().optional(), + includePreferences: z.boolean().optional(), + includeReviews: z.boolean().optional(), + includeChapters: z.boolean().optional(), + includeStations: z.boolean().optional(), + includeExternalMedia: z.boolean().optional(), + asyncAugmentMetadata: z.boolean().optional(), + asyncCheckFiles: z.boolean().optional(), + asyncRefreshAnalysis: z.boolean().optional(), + asyncRefreshLocalMediaAgent: 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 GetMediaMetaDataRequest$ { + /** @deprecated use `GetMediaMetaDataRequest$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataRequest$inboundSchema; + /** @deprecated use `GetMediaMetaDataRequest$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataRequest$outboundSchema; + /** @deprecated use `GetMediaMetaDataRequest$Outbound` instead. */ + export type Outbound = GetMediaMetaDataRequest$Outbound; +} + +export function getMediaMetaDataRequestToJSON( + getMediaMetaDataRequest: GetMediaMetaDataRequest, +): string { + return JSON.stringify( + GetMediaMetaDataRequest$outboundSchema.parse(getMediaMetaDataRequest), + ); +} + +export function getMediaMetaDataRequestFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataRequest$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataRequest' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataStream$inboundSchema: z.ZodType< + GetMediaMetaDataStream, + z.ZodTypeDef, + unknown +> = 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(), + language: z.string(), + languageTag: z.string(), + languageCode: z.string(), + 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(), + 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(), + 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 GetMediaMetaDataStream$Outbound = { + id: number; + streamType: number; + default?: boolean | undefined; + codec: string; + index: number; + bitrate: number; + language: string; + languageTag: string; + languageCode: string; + 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; + 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; + 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 GetMediaMetaDataStream$outboundSchema: z.ZodType< + GetMediaMetaDataStream$Outbound, + z.ZodTypeDef, + GetMediaMetaDataStream +> = 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(), + language: z.string(), + languageTag: z.string(), + languageCode: z.string(), + 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(), + 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(), + 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 GetMediaMetaDataStream$ { + /** @deprecated use `GetMediaMetaDataStream$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataStream$inboundSchema; + /** @deprecated use `GetMediaMetaDataStream$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataStream$outboundSchema; + /** @deprecated use `GetMediaMetaDataStream$Outbound` instead. */ + export type Outbound = GetMediaMetaDataStream$Outbound; +} + +export function getMediaMetaDataStreamToJSON( + getMediaMetaDataStream: GetMediaMetaDataStream, +): string { + return JSON.stringify( + GetMediaMetaDataStream$outboundSchema.parse(getMediaMetaDataStream), + ); +} + +export function getMediaMetaDataStreamFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataStream$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataStream' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataPart$inboundSchema: z.ZodType< + GetMediaMetaDataPart, + z.ZodTypeDef, + unknown +> = 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(), + file: z.string(), + size: z.number().int(), + container: z.string(), + videoProfile: z.string(), + Stream: z.array(z.lazy(() => GetMediaMetaDataStream$inboundSchema)), +}).transform((v) => { + return remap$(v, { + "Stream": "stream", + }); +}); + +/** @internal */ +export type GetMediaMetaDataPart$Outbound = { + accessible?: boolean | undefined; + exists?: boolean | undefined; + id: number; + key: string; + indexes?: string | undefined; + duration: number; + file: string; + size: number; + container: string; + videoProfile: string; + Stream: Array; +}; + +/** @internal */ +export const GetMediaMetaDataPart$outboundSchema: z.ZodType< + GetMediaMetaDataPart$Outbound, + z.ZodTypeDef, + GetMediaMetaDataPart +> = 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(), + file: z.string(), + size: z.number().int(), + container: z.string(), + videoProfile: z.string(), + stream: z.array(z.lazy(() => GetMediaMetaDataStream$outboundSchema)), +}).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 GetMediaMetaDataPart$ { + /** @deprecated use `GetMediaMetaDataPart$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataPart$inboundSchema; + /** @deprecated use `GetMediaMetaDataPart$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataPart$outboundSchema; + /** @deprecated use `GetMediaMetaDataPart$Outbound` instead. */ + export type Outbound = GetMediaMetaDataPart$Outbound; +} + +export function getMediaMetaDataPartToJSON( + getMediaMetaDataPart: GetMediaMetaDataPart, +): string { + return JSON.stringify( + GetMediaMetaDataPart$outboundSchema.parse(getMediaMetaDataPart), + ); +} + +export function getMediaMetaDataPartFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataPart$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataPart' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataMedia$inboundSchema: z.ZodType< + GetMediaMetaDataMedia, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + duration: z.number().int(), + bitrate: z.number().int(), + width: z.number().int(), + height: z.number().int(), + aspectRatio: z.number(), + audioChannels: z.number().int(), + audioCodec: z.string(), + videoCodec: z.string(), + videoResolution: z.string(), + container: z.string(), + videoFrameRate: z.string(), + videoProfile: z.string(), + hasVoiceActivity: z.boolean(), + Part: z.array(z.lazy(() => GetMediaMetaDataPart$inboundSchema)), +}).transform((v) => { + return remap$(v, { + "Part": "part", + }); +}); + +/** @internal */ +export type GetMediaMetaDataMedia$Outbound = { + id: number; + duration: number; + bitrate: number; + width: number; + height: number; + aspectRatio: number; + audioChannels: number; + audioCodec: string; + videoCodec: string; + videoResolution: string; + container: string; + videoFrameRate: string; + videoProfile: string; + hasVoiceActivity: boolean; + Part: Array; +}; + +/** @internal */ +export const GetMediaMetaDataMedia$outboundSchema: z.ZodType< + GetMediaMetaDataMedia$Outbound, + z.ZodTypeDef, + GetMediaMetaDataMedia +> = z.object({ + id: z.number().int(), + duration: z.number().int(), + bitrate: z.number().int(), + width: z.number().int(), + height: z.number().int(), + aspectRatio: z.number(), + audioChannels: z.number().int(), + audioCodec: z.string(), + videoCodec: z.string(), + videoResolution: z.string(), + container: z.string(), + videoFrameRate: z.string(), + videoProfile: z.string(), + hasVoiceActivity: z.boolean(), + part: z.array(z.lazy(() => GetMediaMetaDataPart$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 GetMediaMetaDataMedia$ { + /** @deprecated use `GetMediaMetaDataMedia$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataMedia$inboundSchema; + /** @deprecated use `GetMediaMetaDataMedia$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataMedia$outboundSchema; + /** @deprecated use `GetMediaMetaDataMedia$Outbound` instead. */ + export type Outbound = GetMediaMetaDataMedia$Outbound; +} + +export function getMediaMetaDataMediaToJSON( + getMediaMetaDataMedia: GetMediaMetaDataMedia, +): string { + return JSON.stringify( + GetMediaMetaDataMedia$outboundSchema.parse(getMediaMetaDataMedia), + ); +} + +export function getMediaMetaDataMediaFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataMedia$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataMedia' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataImage$inboundSchema: z.ZodType< + GetMediaMetaDataImage, + z.ZodTypeDef, + unknown +> = z.object({ + alt: z.string(), + type: z.string(), + url: z.string(), +}); + +/** @internal */ +export type GetMediaMetaDataImage$Outbound = { + alt: string; + type: string; + url: string; +}; + +/** @internal */ +export const GetMediaMetaDataImage$outboundSchema: z.ZodType< + GetMediaMetaDataImage$Outbound, + z.ZodTypeDef, + GetMediaMetaDataImage +> = z.object({ + alt: z.string(), + type: z.string(), + url: 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 GetMediaMetaDataImage$ { + /** @deprecated use `GetMediaMetaDataImage$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataImage$inboundSchema; + /** @deprecated use `GetMediaMetaDataImage$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataImage$outboundSchema; + /** @deprecated use `GetMediaMetaDataImage$Outbound` instead. */ + export type Outbound = GetMediaMetaDataImage$Outbound; +} + +export function getMediaMetaDataImageToJSON( + getMediaMetaDataImage: GetMediaMetaDataImage, +): string { + return JSON.stringify( + GetMediaMetaDataImage$outboundSchema.parse(getMediaMetaDataImage), + ); +} + +export function getMediaMetaDataImageFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataImage$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataImage' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataUltraBlurColors$inboundSchema: z.ZodType< + GetMediaMetaDataUltraBlurColors, + z.ZodTypeDef, + unknown +> = z.object({ + topLeft: z.string(), + topRight: z.string(), + bottomRight: z.string(), + bottomLeft: z.string(), +}); + +/** @internal */ +export type GetMediaMetaDataUltraBlurColors$Outbound = { + topLeft: string; + topRight: string; + bottomRight: string; + bottomLeft: string; +}; + +/** @internal */ +export const GetMediaMetaDataUltraBlurColors$outboundSchema: z.ZodType< + GetMediaMetaDataUltraBlurColors$Outbound, + z.ZodTypeDef, + GetMediaMetaDataUltraBlurColors +> = 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 GetMediaMetaDataUltraBlurColors$ { + /** @deprecated use `GetMediaMetaDataUltraBlurColors$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataUltraBlurColors$inboundSchema; + /** @deprecated use `GetMediaMetaDataUltraBlurColors$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataUltraBlurColors$outboundSchema; + /** @deprecated use `GetMediaMetaDataUltraBlurColors$Outbound` instead. */ + export type Outbound = GetMediaMetaDataUltraBlurColors$Outbound; +} + +export function getMediaMetaDataUltraBlurColorsToJSON( + getMediaMetaDataUltraBlurColors: GetMediaMetaDataUltraBlurColors, +): string { + return JSON.stringify( + GetMediaMetaDataUltraBlurColors$outboundSchema.parse( + getMediaMetaDataUltraBlurColors, + ), + ); +} + +export function getMediaMetaDataUltraBlurColorsFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataUltraBlurColors$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataUltraBlurColors' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataGenre$inboundSchema: z.ZodType< + GetMediaMetaDataGenre, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), +}); + +/** @internal */ +export type GetMediaMetaDataGenre$Outbound = { + id: number; + filter: string; + tag: string; +}; + +/** @internal */ +export const GetMediaMetaDataGenre$outboundSchema: z.ZodType< + GetMediaMetaDataGenre$Outbound, + z.ZodTypeDef, + GetMediaMetaDataGenre +> = 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 GetMediaMetaDataGenre$ { + /** @deprecated use `GetMediaMetaDataGenre$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataGenre$inboundSchema; + /** @deprecated use `GetMediaMetaDataGenre$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataGenre$outboundSchema; + /** @deprecated use `GetMediaMetaDataGenre$Outbound` instead. */ + export type Outbound = GetMediaMetaDataGenre$Outbound; +} + +export function getMediaMetaDataGenreToJSON( + getMediaMetaDataGenre: GetMediaMetaDataGenre, +): string { + return JSON.stringify( + GetMediaMetaDataGenre$outboundSchema.parse(getMediaMetaDataGenre), + ); +} + +export function getMediaMetaDataGenreFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataGenre$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataGenre' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataCountry$inboundSchema: z.ZodType< + GetMediaMetaDataCountry, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), +}); + +/** @internal */ +export type GetMediaMetaDataCountry$Outbound = { + id: number; + filter: string; + tag: string; +}; + +/** @internal */ +export const GetMediaMetaDataCountry$outboundSchema: z.ZodType< + GetMediaMetaDataCountry$Outbound, + z.ZodTypeDef, + GetMediaMetaDataCountry +> = 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 GetMediaMetaDataCountry$ { + /** @deprecated use `GetMediaMetaDataCountry$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataCountry$inboundSchema; + /** @deprecated use `GetMediaMetaDataCountry$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataCountry$outboundSchema; + /** @deprecated use `GetMediaMetaDataCountry$Outbound` instead. */ + export type Outbound = GetMediaMetaDataCountry$Outbound; +} + +export function getMediaMetaDataCountryToJSON( + getMediaMetaDataCountry: GetMediaMetaDataCountry, +): string { + return JSON.stringify( + GetMediaMetaDataCountry$outboundSchema.parse(getMediaMetaDataCountry), + ); +} + +export function getMediaMetaDataCountryFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataCountry$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataCountry' from JSON`, + ); +} + +/** @internal */ +export const Guids$inboundSchema: z.ZodType = z + .object({ + id: z.string(), + }); + +/** @internal */ +export type Guids$Outbound = { + id: string; +}; + +/** @internal */ +export const Guids$outboundSchema: z.ZodType< + Guids$Outbound, + z.ZodTypeDef, + Guids +> = 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 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 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 GetMediaMetaDataRole$inboundSchema: z.ZodType< + GetMediaMetaDataRole, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + role: z.string().optional(), + thumb: z.string().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataRole$Outbound = { + id: number; + filter: string; + tag: string; + tagKey: string; + role?: string | undefined; + thumb?: string | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataRole$outboundSchema: z.ZodType< + GetMediaMetaDataRole$Outbound, + z.ZodTypeDef, + GetMediaMetaDataRole +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + 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 GetMediaMetaDataRole$ { + /** @deprecated use `GetMediaMetaDataRole$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataRole$inboundSchema; + /** @deprecated use `GetMediaMetaDataRole$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataRole$outboundSchema; + /** @deprecated use `GetMediaMetaDataRole$Outbound` instead. */ + export type Outbound = GetMediaMetaDataRole$Outbound; +} + +export function getMediaMetaDataRoleToJSON( + getMediaMetaDataRole: GetMediaMetaDataRole, +): string { + return JSON.stringify( + GetMediaMetaDataRole$outboundSchema.parse(getMediaMetaDataRole), + ); +} + +export function getMediaMetaDataRoleFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataRole$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataRole' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataDirector$inboundSchema: z.ZodType< + GetMediaMetaDataDirector, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + role: z.string().optional(), + thumb: z.string().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataDirector$Outbound = { + id: number; + filter: string; + tag: string; + tagKey: string; + role?: string | undefined; + thumb?: string | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataDirector$outboundSchema: z.ZodType< + GetMediaMetaDataDirector$Outbound, + z.ZodTypeDef, + GetMediaMetaDataDirector +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + 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 GetMediaMetaDataDirector$ { + /** @deprecated use `GetMediaMetaDataDirector$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataDirector$inboundSchema; + /** @deprecated use `GetMediaMetaDataDirector$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataDirector$outboundSchema; + /** @deprecated use `GetMediaMetaDataDirector$Outbound` instead. */ + export type Outbound = GetMediaMetaDataDirector$Outbound; +} + +export function getMediaMetaDataDirectorToJSON( + getMediaMetaDataDirector: GetMediaMetaDataDirector, +): string { + return JSON.stringify( + GetMediaMetaDataDirector$outboundSchema.parse(getMediaMetaDataDirector), + ); +} + +export function getMediaMetaDataDirectorFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataDirector$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataDirector' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataWriter$inboundSchema: z.ZodType< + GetMediaMetaDataWriter, + z.ZodTypeDef, + unknown +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + role: z.string().optional(), + thumb: z.string().optional(), +}); + +/** @internal */ +export type GetMediaMetaDataWriter$Outbound = { + id: number; + filter: string; + tag: string; + tagKey: string; + role?: string | undefined; + thumb?: string | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataWriter$outboundSchema: z.ZodType< + GetMediaMetaDataWriter$Outbound, + z.ZodTypeDef, + GetMediaMetaDataWriter +> = z.object({ + id: z.number().int(), + filter: z.string(), + tag: z.string(), + tagKey: z.string(), + 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 GetMediaMetaDataWriter$ { + /** @deprecated use `GetMediaMetaDataWriter$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataWriter$inboundSchema; + /** @deprecated use `GetMediaMetaDataWriter$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataWriter$outboundSchema; + /** @deprecated use `GetMediaMetaDataWriter$Outbound` instead. */ + export type Outbound = GetMediaMetaDataWriter$Outbound; +} + +export function getMediaMetaDataWriterToJSON( + getMediaMetaDataWriter: GetMediaMetaDataWriter, +): string { + return JSON.stringify( + GetMediaMetaDataWriter$outboundSchema.parse(getMediaMetaDataWriter), + ); +} + +export function getMediaMetaDataWriterFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataWriter$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataWriter' 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(), + role: z.string().optional(), + thumb: z.string().optional(), +}); + +/** @internal */ +export type Producer$Outbound = { + id: number; + filter: string; + tag: string; + tagKey: string; + role?: 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(), + 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 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 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 GetMediaMetaDataLocation$inboundSchema: z.ZodType< + GetMediaMetaDataLocation, + z.ZodTypeDef, + unknown +> = z.object({ + path: z.string(), +}); + +/** @internal */ +export type GetMediaMetaDataLocation$Outbound = { + path: string; +}; + +/** @internal */ +export const GetMediaMetaDataLocation$outboundSchema: z.ZodType< + GetMediaMetaDataLocation$Outbound, + z.ZodTypeDef, + GetMediaMetaDataLocation +> = 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 GetMediaMetaDataLocation$ { + /** @deprecated use `GetMediaMetaDataLocation$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataLocation$inboundSchema; + /** @deprecated use `GetMediaMetaDataLocation$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataLocation$outboundSchema; + /** @deprecated use `GetMediaMetaDataLocation$Outbound` instead. */ + export type Outbound = GetMediaMetaDataLocation$Outbound; +} + +export function getMediaMetaDataLocationToJSON( + getMediaMetaDataLocation: GetMediaMetaDataLocation, +): string { + return JSON.stringify( + GetMediaMetaDataLocation$outboundSchema.parse(getMediaMetaDataLocation), + ); +} + +export function getMediaMetaDataLocationFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataLocation$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataLocation' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataMetadata$inboundSchema: z.ZodType< + GetMediaMetaDataMetadata, + z.ZodTypeDef, + unknown +> = z.object({ + ratingKey: z.string(), + parentRatingKey: z.string().optional(), + grandparentRatingKey: z.string().optional(), + parentGuid: z.string().optional(), + grandparentGuid: z.string().optional(), + grandparentSlug: z.string().optional(), + grandparentKey: z.string().optional(), + parentKey: z.string().optional(), + key: z.string(), + guid: z.string(), + slug: z.string().optional(), + studio: z.string().optional(), + type: z.string(), + title: z.string(), + originalTitle: z.string().optional(), + librarySectionTitle: z.string(), + librarySectionID: z.number().int(), + librarySectionKey: z.string(), + contentRating: z.string(), + summary: z.string(), + index: z.number().int().optional(), + grandparentTitle: z.string().optional(), + parentTitle: z.string().optional(), + audienceRating: z.number(), + viewCount: z.number().int().optional(), + skipCount: z.number().int().optional(), + lastViewedAt: z.number().int().optional(), + year: z.number().int(), + tagline: z.string().optional(), + chapterSource: z.string().optional(), + primaryExtraKey: z.string().optional(), + thumb: z.string(), + art: z.string(), + theme: z.string().optional(), + duration: z.number().int(), + originallyAvailableAt: z.string().transform(v => new RFCDate(v)), + leafCount: z.number().int().optional(), + viewedLeafCount: z.number().int().optional(), + childCount: z.number().int().optional(), + addedAt: z.number().int(), + updatedAt: z.number().int(), + audienceRatingImage: z.string(), + parentIndex: z.number().int().optional(), + parentThumb: z.string().optional(), + grandparentThumb: z.string().optional(), + grandparentArt: z.string().optional(), + Media: z.array(z.lazy(() => GetMediaMetaDataMedia$inboundSchema)).optional(), + Image: z.array(z.lazy(() => GetMediaMetaDataImage$inboundSchema)), + UltraBlurColors: z.lazy(() => GetMediaMetaDataUltraBlurColors$inboundSchema), + Genre: z.array(z.lazy(() => GetMediaMetaDataGenre$inboundSchema)).optional(), + Country: z.array(z.lazy(() => GetMediaMetaDataCountry$inboundSchema)) + .optional(), + Guid: z.array(z.lazy(() => Guids$inboundSchema)), + Rating: z.array(z.lazy(() => Rating$inboundSchema)), + Role: z.array(z.lazy(() => GetMediaMetaDataRole$inboundSchema)).optional(), + Director: z.array(z.lazy(() => GetMediaMetaDataDirector$inboundSchema)) + .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(), + Location: z.array(z.lazy(() => GetMediaMetaDataLocation$inboundSchema)) + .optional(), +}).transform((v) => { + return remap$(v, { + "Media": "media", + "Image": "image", + "UltraBlurColors": "ultraBlurColors", + "Genre": "genre", + "Country": "country", + "Guid": "guids", + "Rating": "rating", + "Role": "role", + "Director": "director", + "Writer": "writer", + "Producer": "producer", + "Similar": "similar", + "Location": "location", + }); +}); + +/** @internal */ +export type GetMediaMetaDataMetadata$Outbound = { + ratingKey: string; + parentRatingKey?: string | undefined; + grandparentRatingKey?: string | undefined; + parentGuid?: string | undefined; + grandparentGuid?: string | undefined; + grandparentSlug?: string | undefined; + grandparentKey?: string | undefined; + parentKey?: string | undefined; + key: string; + guid: string; + slug?: string | undefined; + studio?: string | undefined; + type: string; + title: string; + originalTitle?: string | undefined; + librarySectionTitle: string; + librarySectionID: number; + librarySectionKey: string; + contentRating: string; + summary: string; + index?: number | undefined; + grandparentTitle?: string | undefined; + parentTitle?: string | undefined; + audienceRating: number; + viewCount?: number | undefined; + skipCount?: number | undefined; + lastViewedAt?: number | undefined; + year: number; + tagline?: string | undefined; + chapterSource?: string | undefined; + primaryExtraKey?: string | undefined; + thumb: string; + art: string; + theme?: string | undefined; + duration: number; + originallyAvailableAt: string; + leafCount?: number | undefined; + viewedLeafCount?: number | undefined; + childCount?: number | undefined; + addedAt: number; + updatedAt: number; + audienceRatingImage: string; + parentIndex?: number | undefined; + parentThumb?: string | undefined; + grandparentThumb?: string | undefined; + grandparentArt?: string | undefined; + Media?: Array | undefined; + Image: Array; + UltraBlurColors: GetMediaMetaDataUltraBlurColors$Outbound; + Genre?: Array | undefined; + Country?: Array | undefined; + Guid: Array; + Rating: Array; + Role?: Array | undefined; + Director?: Array | undefined; + Writer?: Array | undefined; + Producer?: Array | undefined; + Similar?: Array | undefined; + Location?: Array | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataMetadata$outboundSchema: z.ZodType< + GetMediaMetaDataMetadata$Outbound, + z.ZodTypeDef, + GetMediaMetaDataMetadata +> = z.object({ + ratingKey: z.string(), + parentRatingKey: z.string().optional(), + grandparentRatingKey: z.string().optional(), + parentGuid: z.string().optional(), + grandparentGuid: z.string().optional(), + grandparentSlug: z.string().optional(), + grandparentKey: z.string().optional(), + parentKey: z.string().optional(), + key: z.string(), + guid: z.string(), + slug: z.string().optional(), + studio: z.string().optional(), + type: z.string(), + title: z.string(), + originalTitle: z.string().optional(), + librarySectionTitle: z.string(), + librarySectionID: z.number().int(), + librarySectionKey: z.string(), + contentRating: z.string(), + summary: z.string(), + index: z.number().int().optional(), + grandparentTitle: z.string().optional(), + parentTitle: z.string().optional(), + audienceRating: z.number(), + viewCount: z.number().int().optional(), + skipCount: z.number().int().optional(), + lastViewedAt: z.number().int().optional(), + year: z.number().int(), + tagline: z.string().optional(), + chapterSource: z.string().optional(), + primaryExtraKey: z.string().optional(), + thumb: z.string(), + art: z.string(), + theme: z.string().optional(), + duration: z.number().int(), + originallyAvailableAt: z.instanceof(RFCDate).transform(v => v.toString()), + leafCount: z.number().int().optional(), + viewedLeafCount: z.number().int().optional(), + childCount: z.number().int().optional(), + addedAt: z.number().int(), + updatedAt: z.number().int(), + audienceRatingImage: z.string(), + parentIndex: z.number().int().optional(), + parentThumb: z.string().optional(), + grandparentThumb: z.string().optional(), + grandparentArt: z.string().optional(), + media: z.array(z.lazy(() => GetMediaMetaDataMedia$outboundSchema)).optional(), + image: z.array(z.lazy(() => GetMediaMetaDataImage$outboundSchema)), + ultraBlurColors: z.lazy(() => GetMediaMetaDataUltraBlurColors$outboundSchema), + genre: z.array(z.lazy(() => GetMediaMetaDataGenre$outboundSchema)).optional(), + country: z.array(z.lazy(() => GetMediaMetaDataCountry$outboundSchema)) + .optional(), + guids: z.array(z.lazy(() => Guids$outboundSchema)), + rating: z.array(z.lazy(() => Rating$outboundSchema)), + role: z.array(z.lazy(() => GetMediaMetaDataRole$outboundSchema)).optional(), + director: z.array(z.lazy(() => GetMediaMetaDataDirector$outboundSchema)) + .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(), + location: z.array(z.lazy(() => GetMediaMetaDataLocation$outboundSchema)) + .optional(), +}).transform((v) => { + return remap$(v, { + media: "Media", + image: "Image", + ultraBlurColors: "UltraBlurColors", + genre: "Genre", + country: "Country", + guids: "Guid", + rating: "Rating", + role: "Role", + director: "Director", + writer: "Writer", + producer: "Producer", + similar: "Similar", + location: "Location", + }); +}); + +/** + * @internal + * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. + */ +export namespace GetMediaMetaDataMetadata$ { + /** @deprecated use `GetMediaMetaDataMetadata$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataMetadata$inboundSchema; + /** @deprecated use `GetMediaMetaDataMetadata$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataMetadata$outboundSchema; + /** @deprecated use `GetMediaMetaDataMetadata$Outbound` instead. */ + export type Outbound = GetMediaMetaDataMetadata$Outbound; +} + +export function getMediaMetaDataMetadataToJSON( + getMediaMetaDataMetadata: GetMediaMetaDataMetadata, +): string { + return JSON.stringify( + GetMediaMetaDataMetadata$outboundSchema.parse(getMediaMetaDataMetadata), + ); +} + +export function getMediaMetaDataMetadataFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataMetadata$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataMetadata' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataMediaContainer$inboundSchema: z.ZodType< + GetMediaMetaDataMediaContainer, + z.ZodTypeDef, + unknown +> = z.object({ + size: z.number(), + allowSync: z.boolean(), + identifier: z.string(), + librarySectionID: z.number().int(), + librarySectionTitle: z.string(), + librarySectionUUID: z.string().optional(), + mediaTagPrefix: z.string(), + mediaTagVersion: z.number().int(), + Metadata: z.array(z.lazy(() => GetMediaMetaDataMetadata$inboundSchema)), +}).transform((v) => { + return remap$(v, { + "Metadata": "metadata", + }); +}); + +/** @internal */ +export type GetMediaMetaDataMediaContainer$Outbound = { + size: number; + allowSync: boolean; + identifier: string; + librarySectionID: number; + librarySectionTitle: string; + librarySectionUUID?: string | undefined; + mediaTagPrefix: string; + mediaTagVersion: number; + Metadata: Array; +}; + +/** @internal */ +export const GetMediaMetaDataMediaContainer$outboundSchema: z.ZodType< + GetMediaMetaDataMediaContainer$Outbound, + z.ZodTypeDef, + GetMediaMetaDataMediaContainer +> = z.object({ + size: z.number(), + allowSync: z.boolean(), + identifier: z.string(), + librarySectionID: z.number().int(), + librarySectionTitle: z.string(), + librarySectionUUID: z.string().optional(), + mediaTagPrefix: z.string(), + mediaTagVersion: z.number().int(), + metadata: z.array(z.lazy(() => GetMediaMetaDataMetadata$outboundSchema)), +}).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 GetMediaMetaDataMediaContainer$ { + /** @deprecated use `GetMediaMetaDataMediaContainer$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataMediaContainer$inboundSchema; + /** @deprecated use `GetMediaMetaDataMediaContainer$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataMediaContainer$outboundSchema; + /** @deprecated use `GetMediaMetaDataMediaContainer$Outbound` instead. */ + export type Outbound = GetMediaMetaDataMediaContainer$Outbound; +} + +export function getMediaMetaDataMediaContainerToJSON( + getMediaMetaDataMediaContainer: GetMediaMetaDataMediaContainer, +): string { + return JSON.stringify( + GetMediaMetaDataMediaContainer$outboundSchema.parse( + getMediaMetaDataMediaContainer, + ), + ); +} + +export function getMediaMetaDataMediaContainerFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataMediaContainer$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataMediaContainer' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataResponseBody$inboundSchema: z.ZodType< + GetMediaMetaDataResponseBody, + z.ZodTypeDef, + unknown +> = z.object({ + MediaContainer: z.lazy(() => GetMediaMetaDataMediaContainer$inboundSchema) + .optional(), +}).transform((v) => { + return remap$(v, { + "MediaContainer": "mediaContainer", + }); +}); + +/** @internal */ +export type GetMediaMetaDataResponseBody$Outbound = { + MediaContainer?: GetMediaMetaDataMediaContainer$Outbound | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataResponseBody$outboundSchema: z.ZodType< + GetMediaMetaDataResponseBody$Outbound, + z.ZodTypeDef, + GetMediaMetaDataResponseBody +> = z.object({ + mediaContainer: z.lazy(() => GetMediaMetaDataMediaContainer$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 GetMediaMetaDataResponseBody$ { + /** @deprecated use `GetMediaMetaDataResponseBody$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataResponseBody$inboundSchema; + /** @deprecated use `GetMediaMetaDataResponseBody$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataResponseBody$outboundSchema; + /** @deprecated use `GetMediaMetaDataResponseBody$Outbound` instead. */ + export type Outbound = GetMediaMetaDataResponseBody$Outbound; +} + +export function getMediaMetaDataResponseBodyToJSON( + getMediaMetaDataResponseBody: GetMediaMetaDataResponseBody, +): string { + return JSON.stringify( + GetMediaMetaDataResponseBody$outboundSchema.parse( + getMediaMetaDataResponseBody, + ), + ); +} + +export function getMediaMetaDataResponseBodyFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataResponseBody$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataResponseBody' from JSON`, + ); +} + +/** @internal */ +export const GetMediaMetaDataResponse$inboundSchema: z.ZodType< + GetMediaMetaDataResponse, + z.ZodTypeDef, + unknown +> = z.object({ + ContentType: z.string(), + StatusCode: z.number().int(), + RawResponse: z.instanceof(Response), + object: z.lazy(() => GetMediaMetaDataResponseBody$inboundSchema).optional(), +}).transform((v) => { + return remap$(v, { + "ContentType": "contentType", + "StatusCode": "statusCode", + "RawResponse": "rawResponse", + }); +}); + +/** @internal */ +export type GetMediaMetaDataResponse$Outbound = { + ContentType: string; + StatusCode: number; + RawResponse: never; + object?: GetMediaMetaDataResponseBody$Outbound | undefined; +}; + +/** @internal */ +export const GetMediaMetaDataResponse$outboundSchema: z.ZodType< + GetMediaMetaDataResponse$Outbound, + z.ZodTypeDef, + GetMediaMetaDataResponse +> = z.object({ + contentType: z.string(), + statusCode: z.number().int(), + rawResponse: z.instanceof(Response).transform(() => { + throw new Error("Response cannot be serialized"); + }), + object: z.lazy(() => GetMediaMetaDataResponseBody$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 GetMediaMetaDataResponse$ { + /** @deprecated use `GetMediaMetaDataResponse$inboundSchema` instead. */ + export const inboundSchema = GetMediaMetaDataResponse$inboundSchema; + /** @deprecated use `GetMediaMetaDataResponse$outboundSchema` instead. */ + export const outboundSchema = GetMediaMetaDataResponse$outboundSchema; + /** @deprecated use `GetMediaMetaDataResponse$Outbound` instead. */ + export type Outbound = GetMediaMetaDataResponse$Outbound; +} + +export function getMediaMetaDataResponseToJSON( + getMediaMetaDataResponse: GetMediaMetaDataResponse, +): string { + return JSON.stringify( + GetMediaMetaDataResponse$outboundSchema.parse(getMediaMetaDataResponse), + ); +} + +export function getMediaMetaDataResponseFromJSON( + jsonString: string, +): SafeParseResult { + return safeParse( + jsonString, + (x) => GetMediaMetaDataResponse$inboundSchema.parse(JSON.parse(x)), + `Failed to parse 'GetMediaMetaDataResponse' from JSON`, + ); +} diff --git a/src/sdk/models/operations/getmetadatabyratingkey.ts b/src/sdk/models/operations/getmetadatabyratingkey.ts deleted file mode 100644 index ecafc8e7..00000000 --- a/src/sdk/models/operations/getmetadatabyratingkey.ts +++ /dev/null @@ -1,1587 +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 { RFCDate } from "../../types/rfcdate.js"; -import { SDKValidationError } from "../errors/sdkvalidationerror.js"; - -export type GetMetaDataByRatingKeyRequest = { - /** - * the id of the library item to return the children of. - */ - ratingKey: number; -}; - -export type GetMetaDataByRatingKeyStream = { - id?: number | undefined; - streamType?: number | undefined; - default?: boolean | undefined; - codec?: string | undefined; - index?: number | undefined; - bitrate?: number | undefined; - bitDepth?: number | undefined; - chromaLocation?: string | undefined; - chromaSubsampling?: string | undefined; - codedHeight?: number | undefined; - codedWidth?: number | undefined; - colorPrimaries?: string | undefined; - colorRange?: string | undefined; - colorSpace?: string | undefined; - colorTrc?: string | undefined; - frameRate?: number | undefined; - hasScalingMatrix?: boolean | undefined; - height?: number | undefined; - level?: number | undefined; - profile?: string | undefined; - refFrames?: number | undefined; - scanType?: string | undefined; - streamIdentifier?: string | undefined; - width?: number | undefined; - displayTitle?: string | undefined; - extendedDisplayTitle?: string | undefined; - selected?: boolean | undefined; - channels?: number | undefined; - language?: string | undefined; - languageTag?: string | undefined; - languageCode?: string | undefined; - samplingRate?: number | undefined; -}; - -export type GetMetaDataByRatingKeyPart = { - id?: number | undefined; - key?: string | undefined; - duration?: number | undefined; - file?: string | undefined; - size?: number | undefined; - audioProfile?: string | undefined; - container?: string | undefined; - has64bitOffsets?: boolean | undefined; - optimizedForStreaming?: boolean | undefined; - videoProfile?: string | undefined; - stream?: Array | undefined; -}; - -export type GetMetaDataByRatingKeyMedia = { - 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; - optimizedForStreaming?: number | undefined; - audioProfile?: string | undefined; - has64bitOffsets?: boolean | undefined; - videoProfile?: string | undefined; - part?: Array | undefined; -}; - -export type GetMetaDataByRatingKeyGenre = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; -}; - -export type GetMetaDataByRatingKeyCountry = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; -}; - -export type Guids = { - id?: string | undefined; -}; - -export type Ratings = { - image?: string | undefined; - value?: number | undefined; - type?: string | undefined; -}; - -export type GetMetaDataByRatingKeyDirector = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -export type GetMetaDataByRatingKeyWriter = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -export type GetMetaDataByRatingKeyRole = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - role?: string | undefined; - thumb?: string | undefined; -}; - -export type Producer = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -export type GetMetaDataByRatingKeyMetadata = { - ratingKey?: string | undefined; - key?: string | undefined; - guid?: string | undefined; - studio?: string | undefined; - type?: string | undefined; - title?: string | undefined; - librarySectionTitle?: string | undefined; - librarySectionID?: number | undefined; - librarySectionKey?: string | undefined; - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - grandparentTitle?: string | undefined; - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - parentTitle?: string | undefined; - /** - * The orginal untranslated name of the media item when non-english. - */ - originalTitle?: string | undefined; - /** - * The index starting from 0 of this media item in the MetaData array. - */ - index?: number | undefined; - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - parentIndex?: number | undefined; - contentRating?: string | undefined; - summary?: string | undefined; - rating?: number | undefined; - audienceRating?: number | undefined; - year?: number | undefined; - tagline?: string | undefined; - thumb?: string | undefined; - art?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: RFCDate | undefined; - addedAt?: number | undefined; - updatedAt?: number | undefined; - audienceRatingImage?: string | undefined; - hasPremiumPrimaryExtra?: string | undefined; - ratingImage?: string | undefined; - media?: Array | undefined; - genre?: Array | undefined; - country?: Array | undefined; - guids?: Array | undefined; - ratings?: Array | undefined; - director?: Array | undefined; - writer?: Array | undefined; - role?: Array | undefined; - producer?: Array | undefined; -}; - -export type GetMetaDataByRatingKeyMediaContainer = { - size?: number | undefined; - allowSync?: boolean | undefined; - identifier?: string | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionUUID?: string | undefined; - mediaTagPrefix?: string | undefined; - mediaTagVersion?: number | undefined; - metadata?: Array | undefined; -}; - -/** - * The metadata of the library item. - */ -export type GetMetaDataByRatingKeyResponseBody = { - mediaContainer?: GetMetaDataByRatingKeyMediaContainer | undefined; -}; - -export type GetMetaDataByRatingKeyResponse = { - /** - * 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 metadata of the library item. - */ - object?: GetMetaDataByRatingKeyResponseBody | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyRequest$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyRequest, - z.ZodTypeDef, - unknown -> = z.object({ - ratingKey: z.number().int(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyRequest$Outbound = { - ratingKey: number; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyRequest$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyRequest$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyRequest -> = z.object({ - ratingKey: z.number().int(), -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetMetaDataByRatingKeyRequest$ { - /** @deprecated use `GetMetaDataByRatingKeyRequest$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyRequest$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyRequest$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyRequest$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyRequest$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyRequest$Outbound; -} - -export function getMetaDataByRatingKeyRequestToJSON( - getMetaDataByRatingKeyRequest: GetMetaDataByRatingKeyRequest, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyRequest$outboundSchema.parse( - getMetaDataByRatingKeyRequest, - ), - ); -} - -export function getMetaDataByRatingKeyRequestFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyRequest$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyRequest' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyStream$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyStream, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - streamType: z.number().int().optional(), - default: z.boolean().optional(), - codec: z.string().optional(), - index: z.number().int().optional(), - bitrate: z.number().int().optional(), - bitDepth: z.number().int().optional(), - chromaLocation: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().int().optional(), - codedWidth: z.number().int().optional(), - colorPrimaries: z.string().optional(), - colorRange: z.string().optional(), - colorSpace: z.string().optional(), - colorTrc: z.string().optional(), - frameRate: z.number().int().optional(), - hasScalingMatrix: z.boolean().optional(), - height: z.number().int().optional(), - level: z.number().int().optional(), - profile: z.string().optional(), - refFrames: z.number().int().optional(), - scanType: z.string().optional(), - streamIdentifier: z.string().optional(), - width: z.number().int().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), - selected: z.boolean().optional(), - channels: z.number().int().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - samplingRate: z.number().int().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyStream$Outbound = { - id?: number | undefined; - streamType?: number | undefined; - default?: boolean | undefined; - codec?: string | undefined; - index?: number | undefined; - bitrate?: number | undefined; - bitDepth?: number | undefined; - chromaLocation?: string | undefined; - chromaSubsampling?: string | undefined; - codedHeight?: number | undefined; - codedWidth?: number | undefined; - colorPrimaries?: string | undefined; - colorRange?: string | undefined; - colorSpace?: string | undefined; - colorTrc?: string | undefined; - frameRate?: number | undefined; - hasScalingMatrix?: boolean | undefined; - height?: number | undefined; - level?: number | undefined; - profile?: string | undefined; - refFrames?: number | undefined; - scanType?: string | undefined; - streamIdentifier?: string | undefined; - width?: number | undefined; - displayTitle?: string | undefined; - extendedDisplayTitle?: string | undefined; - selected?: boolean | undefined; - channels?: number | undefined; - language?: string | undefined; - languageTag?: string | undefined; - languageCode?: string | undefined; - samplingRate?: number | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyStream$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyStream$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyStream -> = z.object({ - id: z.number().int().optional(), - streamType: z.number().int().optional(), - default: z.boolean().optional(), - codec: z.string().optional(), - index: z.number().int().optional(), - bitrate: z.number().int().optional(), - bitDepth: z.number().int().optional(), - chromaLocation: z.string().optional(), - chromaSubsampling: z.string().optional(), - codedHeight: z.number().int().optional(), - codedWidth: z.number().int().optional(), - colorPrimaries: z.string().optional(), - colorRange: z.string().optional(), - colorSpace: z.string().optional(), - colorTrc: z.string().optional(), - frameRate: z.number().int().optional(), - hasScalingMatrix: z.boolean().optional(), - height: z.number().int().optional(), - level: z.number().int().optional(), - profile: z.string().optional(), - refFrames: z.number().int().optional(), - scanType: z.string().optional(), - streamIdentifier: z.string().optional(), - width: z.number().int().optional(), - displayTitle: z.string().optional(), - extendedDisplayTitle: z.string().optional(), - selected: z.boolean().optional(), - channels: z.number().int().optional(), - language: z.string().optional(), - languageTag: z.string().optional(), - languageCode: z.string().optional(), - samplingRate: 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 GetMetaDataByRatingKeyStream$ { - /** @deprecated use `GetMetaDataByRatingKeyStream$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyStream$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyStream$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyStream$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyStream$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyStream$Outbound; -} - -export function getMetaDataByRatingKeyStreamToJSON( - getMetaDataByRatingKeyStream: GetMetaDataByRatingKeyStream, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyStream$outboundSchema.parse( - getMetaDataByRatingKeyStream, - ), - ); -} - -export function getMetaDataByRatingKeyStreamFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyStream$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyStream' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyPart$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyPart, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - key: z.string().optional(), - duration: z.number().int().optional(), - file: z.string().optional(), - size: z.number().int().optional(), - audioProfile: z.string().optional(), - container: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - optimizedForStreaming: z.boolean().optional(), - videoProfile: z.string().optional(), - Stream: z.array(z.lazy(() => GetMetaDataByRatingKeyStream$inboundSchema)) - .optional(), -}).transform((v) => { - return remap$(v, { - "Stream": "stream", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyPart$Outbound = { - id?: number | undefined; - key?: string | undefined; - duration?: number | undefined; - file?: string | undefined; - size?: number | undefined; - audioProfile?: string | undefined; - container?: string | undefined; - has64bitOffsets?: boolean | undefined; - optimizedForStreaming?: boolean | undefined; - videoProfile?: string | undefined; - Stream?: Array | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyPart$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyPart$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyPart -> = z.object({ - id: z.number().int().optional(), - key: z.string().optional(), - duration: z.number().int().optional(), - file: z.string().optional(), - size: z.number().int().optional(), - audioProfile: z.string().optional(), - container: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - optimizedForStreaming: z.boolean().optional(), - videoProfile: z.string().optional(), - stream: z.array(z.lazy(() => GetMetaDataByRatingKeyStream$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 GetMetaDataByRatingKeyPart$ { - /** @deprecated use `GetMetaDataByRatingKeyPart$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyPart$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyPart$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyPart$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyPart$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyPart$Outbound; -} - -export function getMetaDataByRatingKeyPartToJSON( - getMetaDataByRatingKeyPart: GetMetaDataByRatingKeyPart, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyPart$outboundSchema.parse(getMetaDataByRatingKeyPart), - ); -} - -export function getMetaDataByRatingKeyPartFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyPart$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyPart' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyMedia$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyMedia, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - 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(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string().optional(), - videoFrameRate: z.string().optional(), - optimizedForStreaming: z.number().int().optional(), - audioProfile: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - videoProfile: z.string().optional(), - Part: z.array(z.lazy(() => GetMetaDataByRatingKeyPart$inboundSchema)) - .optional(), -}).transform((v) => { - return remap$(v, { - "Part": "part", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyMedia$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; - optimizedForStreaming?: number | undefined; - audioProfile?: string | undefined; - has64bitOffsets?: boolean | undefined; - videoProfile?: string | undefined; - Part?: Array | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyMedia$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyMedia$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyMedia -> = z.object({ - id: z.number().int().optional(), - 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(), - audioCodec: z.string().optional(), - videoCodec: z.string().optional(), - videoResolution: z.string().optional(), - container: z.string().optional(), - videoFrameRate: z.string().optional(), - optimizedForStreaming: z.number().int().optional(), - audioProfile: z.string().optional(), - has64bitOffsets: z.boolean().optional(), - videoProfile: z.string().optional(), - part: z.array(z.lazy(() => GetMetaDataByRatingKeyPart$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 GetMetaDataByRatingKeyMedia$ { - /** @deprecated use `GetMetaDataByRatingKeyMedia$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyMedia$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMedia$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyMedia$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMedia$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyMedia$Outbound; -} - -export function getMetaDataByRatingKeyMediaToJSON( - getMetaDataByRatingKeyMedia: GetMetaDataByRatingKeyMedia, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyMedia$outboundSchema.parse( - getMetaDataByRatingKeyMedia, - ), - ); -} - -export function getMetaDataByRatingKeyMediaFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyMedia$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyMedia' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyGenre$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyGenre, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyGenre$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyGenre$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyGenre$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyGenre -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - 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 GetMetaDataByRatingKeyGenre$ { - /** @deprecated use `GetMetaDataByRatingKeyGenre$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyGenre$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyGenre$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyGenre$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyGenre$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyGenre$Outbound; -} - -export function getMetaDataByRatingKeyGenreToJSON( - getMetaDataByRatingKeyGenre: GetMetaDataByRatingKeyGenre, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyGenre$outboundSchema.parse( - getMetaDataByRatingKeyGenre, - ), - ); -} - -export function getMetaDataByRatingKeyGenreFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyGenre$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyGenre' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyCountry$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyCountry, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyCountry$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyCountry$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyCountry$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyCountry -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - 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 GetMetaDataByRatingKeyCountry$ { - /** @deprecated use `GetMetaDataByRatingKeyCountry$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyCountry$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyCountry$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyCountry$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyCountry$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyCountry$Outbound; -} - -export function getMetaDataByRatingKeyCountryToJSON( - getMetaDataByRatingKeyCountry: GetMetaDataByRatingKeyCountry, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyCountry$outboundSchema.parse( - getMetaDataByRatingKeyCountry, - ), - ); -} - -export function getMetaDataByRatingKeyCountryFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyCountry$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyCountry' 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 Ratings$inboundSchema: z.ZodType = - z.object({ - image: z.string().optional(), - value: z.number().optional(), - type: z.string().optional(), - }); - -/** @internal */ -export type Ratings$Outbound = { - image?: string | undefined; - value?: number | undefined; - type?: string | undefined; -}; - -/** @internal */ -export const Ratings$outboundSchema: z.ZodType< - Ratings$Outbound, - z.ZodTypeDef, - Ratings -> = z.object({ - image: z.string().optional(), - value: z.number().optional(), - type: 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 Ratings$ { - /** @deprecated use `Ratings$inboundSchema` instead. */ - export const inboundSchema = Ratings$inboundSchema; - /** @deprecated use `Ratings$outboundSchema` instead. */ - export const outboundSchema = Ratings$outboundSchema; - /** @deprecated use `Ratings$Outbound` instead. */ - export type Outbound = Ratings$Outbound; -} - -export function ratingsToJSON(ratings: Ratings): string { - return JSON.stringify(Ratings$outboundSchema.parse(ratings)); -} - -export function ratingsFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => Ratings$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'Ratings' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyDirector$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyDirector, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - thumb: z.string().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyDirector$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyDirector$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyDirector$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyDirector -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - 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 GetMetaDataByRatingKeyDirector$ { - /** @deprecated use `GetMetaDataByRatingKeyDirector$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyDirector$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyDirector$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyDirector$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyDirector$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyDirector$Outbound; -} - -export function getMetaDataByRatingKeyDirectorToJSON( - getMetaDataByRatingKeyDirector: GetMetaDataByRatingKeyDirector, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyDirector$outboundSchema.parse( - getMetaDataByRatingKeyDirector, - ), - ); -} - -export function getMetaDataByRatingKeyDirectorFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyDirector$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyDirector' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyWriter$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyWriter, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - thumb: z.string().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyWriter$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyWriter$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyWriter$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyWriter -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - 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 GetMetaDataByRatingKeyWriter$ { - /** @deprecated use `GetMetaDataByRatingKeyWriter$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyWriter$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyWriter$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyWriter$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyWriter$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyWriter$Outbound; -} - -export function getMetaDataByRatingKeyWriterToJSON( - getMetaDataByRatingKeyWriter: GetMetaDataByRatingKeyWriter, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyWriter$outboundSchema.parse( - getMetaDataByRatingKeyWriter, - ), - ); -} - -export function getMetaDataByRatingKeyWriterFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyWriter$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyWriter' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyRole$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyRole, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - role: z.string().optional(), - thumb: z.string().optional(), -}); - -/** @internal */ -export type GetMetaDataByRatingKeyRole$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - role?: string | undefined; - thumb?: string | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyRole$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyRole$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyRole -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - 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 GetMetaDataByRatingKeyRole$ { - /** @deprecated use `GetMetaDataByRatingKeyRole$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyRole$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyRole$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyRole$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyRole$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyRole$Outbound; -} - -export function getMetaDataByRatingKeyRoleToJSON( - getMetaDataByRatingKeyRole: GetMetaDataByRatingKeyRole, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyRole$outboundSchema.parse(getMetaDataByRatingKeyRole), - ); -} - -export function getMetaDataByRatingKeyRoleFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyRole$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyRole' from JSON`, - ); -} - -/** @internal */ -export const Producer$inboundSchema: z.ZodType< - Producer, - z.ZodTypeDef, - unknown -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - tagKey: z.string().optional(), - thumb: z.string().optional(), -}); - -/** @internal */ -export type Producer$Outbound = { - id?: number | undefined; - filter?: string | undefined; - tag?: string | undefined; - tagKey?: string | undefined; - thumb?: string | undefined; -}; - -/** @internal */ -export const Producer$outboundSchema: z.ZodType< - Producer$Outbound, - z.ZodTypeDef, - Producer -> = z.object({ - id: z.number().int().optional(), - filter: z.string().optional(), - tag: z.string().optional(), - 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 GetMetaDataByRatingKeyMetadata$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyMetadata, - z.ZodTypeDef, - unknown -> = z.object({ - ratingKey: z.string().optional(), - key: z.string().optional(), - guid: z.string().optional(), - studio: z.string().optional(), - type: z.string().optional(), - title: z.string().optional(), - librarySectionTitle: z.string().optional(), - librarySectionID: z.number().int().optional(), - librarySectionKey: z.string().optional(), - grandparentTitle: z.string().optional(), - parentTitle: z.string().optional(), - originalTitle: z.string().optional(), - index: z.number().int().optional(), - parentIndex: z.number().int().optional(), - contentRating: z.string().optional(), - summary: z.string().optional(), - rating: z.number().optional(), - audienceRating: z.number().optional(), - year: z.number().int().optional(), - tagline: z.string().optional(), - thumb: z.string().optional(), - art: z.string().optional(), - duration: z.number().int().optional(), - originallyAvailableAt: z.string().transform(v => new RFCDate(v)).optional(), - addedAt: z.number().int().optional(), - updatedAt: z.number().int().optional(), - audienceRatingImage: z.string().optional(), - hasPremiumPrimaryExtra: z.string().optional(), - ratingImage: z.string().optional(), - Media: z.array(z.lazy(() => GetMetaDataByRatingKeyMedia$inboundSchema)) - .optional(), - Genre: z.array(z.lazy(() => GetMetaDataByRatingKeyGenre$inboundSchema)) - .optional(), - Country: z.array(z.lazy(() => GetMetaDataByRatingKeyCountry$inboundSchema)) - .optional(), - Guid: z.array(z.lazy(() => Guids$inboundSchema)).optional(), - Rating: z.array(z.lazy(() => Ratings$inboundSchema)).optional(), - Director: z.array(z.lazy(() => GetMetaDataByRatingKeyDirector$inboundSchema)) - .optional(), - Writer: z.array(z.lazy(() => GetMetaDataByRatingKeyWriter$inboundSchema)) - .optional(), - Role: z.array(z.lazy(() => GetMetaDataByRatingKeyRole$inboundSchema)) - .optional(), - Producer: z.array(z.lazy(() => Producer$inboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - "Media": "media", - "Genre": "genre", - "Country": "country", - "Guid": "guids", - "Rating": "ratings", - "Director": "director", - "Writer": "writer", - "Role": "role", - "Producer": "producer", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyMetadata$Outbound = { - ratingKey?: string | undefined; - key?: string | undefined; - guid?: string | undefined; - studio?: string | undefined; - type?: string | undefined; - title?: string | undefined; - librarySectionTitle?: string | undefined; - librarySectionID?: number | undefined; - librarySectionKey?: string | undefined; - grandparentTitle?: string | undefined; - parentTitle?: string | undefined; - originalTitle?: string | undefined; - index?: number | undefined; - parentIndex?: number | undefined; - contentRating?: string | undefined; - summary?: string | undefined; - rating?: number | undefined; - audienceRating?: number | undefined; - year?: number | undefined; - tagline?: string | undefined; - thumb?: string | undefined; - art?: string | undefined; - duration?: number | undefined; - originallyAvailableAt?: string | undefined; - addedAt?: number | undefined; - updatedAt?: number | undefined; - audienceRatingImage?: string | undefined; - hasPremiumPrimaryExtra?: string | undefined; - ratingImage?: string | undefined; - Media?: Array | undefined; - Genre?: Array | undefined; - Country?: Array | undefined; - Guid?: Array | undefined; - Rating?: Array | undefined; - Director?: Array | undefined; - Writer?: Array | undefined; - Role?: Array | undefined; - Producer?: Array | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyMetadata$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyMetadata$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyMetadata -> = z.object({ - ratingKey: z.string().optional(), - key: z.string().optional(), - guid: z.string().optional(), - studio: z.string().optional(), - type: z.string().optional(), - title: z.string().optional(), - librarySectionTitle: z.string().optional(), - librarySectionID: z.number().int().optional(), - librarySectionKey: z.string().optional(), - grandparentTitle: z.string().optional(), - parentTitle: z.string().optional(), - originalTitle: z.string().optional(), - index: z.number().int().optional(), - parentIndex: z.number().int().optional(), - contentRating: z.string().optional(), - summary: z.string().optional(), - rating: z.number().optional(), - audienceRating: z.number().optional(), - year: z.number().int().optional(), - tagline: z.string().optional(), - thumb: z.string().optional(), - art: z.string().optional(), - duration: z.number().int().optional(), - originallyAvailableAt: z.instanceof(RFCDate).transform(v => v.toString()) - .optional(), - addedAt: z.number().int().optional(), - updatedAt: z.number().int().optional(), - audienceRatingImage: z.string().optional(), - hasPremiumPrimaryExtra: z.string().optional(), - ratingImage: z.string().optional(), - media: z.array(z.lazy(() => GetMetaDataByRatingKeyMedia$outboundSchema)) - .optional(), - genre: z.array(z.lazy(() => GetMetaDataByRatingKeyGenre$outboundSchema)) - .optional(), - country: z.array(z.lazy(() => GetMetaDataByRatingKeyCountry$outboundSchema)) - .optional(), - guids: z.array(z.lazy(() => Guids$outboundSchema)).optional(), - ratings: z.array(z.lazy(() => Ratings$outboundSchema)).optional(), - director: z.array(z.lazy(() => GetMetaDataByRatingKeyDirector$outboundSchema)) - .optional(), - writer: z.array(z.lazy(() => GetMetaDataByRatingKeyWriter$outboundSchema)) - .optional(), - role: z.array(z.lazy(() => GetMetaDataByRatingKeyRole$outboundSchema)) - .optional(), - producer: z.array(z.lazy(() => Producer$outboundSchema)).optional(), -}).transform((v) => { - return remap$(v, { - media: "Media", - genre: "Genre", - country: "Country", - guids: "Guid", - ratings: "Rating", - director: "Director", - writer: "Writer", - role: "Role", - producer: "Producer", - }); -}); - -/** - * @internal - * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. - */ -export namespace GetMetaDataByRatingKeyMetadata$ { - /** @deprecated use `GetMetaDataByRatingKeyMetadata$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyMetadata$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMetadata$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyMetadata$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMetadata$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyMetadata$Outbound; -} - -export function getMetaDataByRatingKeyMetadataToJSON( - getMetaDataByRatingKeyMetadata: GetMetaDataByRatingKeyMetadata, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyMetadata$outboundSchema.parse( - getMetaDataByRatingKeyMetadata, - ), - ); -} - -export function getMetaDataByRatingKeyMetadataFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyMetadata$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyMetadata' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyMediaContainer$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyMediaContainer, - z.ZodTypeDef, - unknown -> = z.object({ - size: z.number().int().optional(), - allowSync: z.boolean().optional(), - identifier: z.string().optional(), - librarySectionID: z.number().int().optional(), - librarySectionTitle: z.string().optional(), - librarySectionUUID: z.string().optional(), - mediaTagPrefix: z.string().optional(), - mediaTagVersion: z.number().int().optional(), - Metadata: z.array(z.lazy(() => GetMetaDataByRatingKeyMetadata$inboundSchema)) - .optional(), -}).transform((v) => { - return remap$(v, { - "Metadata": "metadata", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyMediaContainer$Outbound = { - size?: number | undefined; - allowSync?: boolean | undefined; - identifier?: string | undefined; - librarySectionID?: number | undefined; - librarySectionTitle?: string | undefined; - librarySectionUUID?: string | undefined; - mediaTagPrefix?: string | undefined; - mediaTagVersion?: number | undefined; - Metadata?: Array | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyMediaContainer$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyMediaContainer$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyMediaContainer -> = z.object({ - size: z.number().int().optional(), - allowSync: z.boolean().optional(), - identifier: z.string().optional(), - librarySectionID: z.number().int().optional(), - librarySectionTitle: z.string().optional(), - librarySectionUUID: z.string().optional(), - mediaTagPrefix: z.string().optional(), - mediaTagVersion: z.number().int().optional(), - metadata: z.array(z.lazy(() => GetMetaDataByRatingKeyMetadata$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 GetMetaDataByRatingKeyMediaContainer$ { - /** @deprecated use `GetMetaDataByRatingKeyMediaContainer$inboundSchema` instead. */ - export const inboundSchema = - GetMetaDataByRatingKeyMediaContainer$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMediaContainer$outboundSchema` instead. */ - export const outboundSchema = - GetMetaDataByRatingKeyMediaContainer$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyMediaContainer$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyMediaContainer$Outbound; -} - -export function getMetaDataByRatingKeyMediaContainerToJSON( - getMetaDataByRatingKeyMediaContainer: GetMetaDataByRatingKeyMediaContainer, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyMediaContainer$outboundSchema.parse( - getMetaDataByRatingKeyMediaContainer, - ), - ); -} - -export function getMetaDataByRatingKeyMediaContainerFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => - GetMetaDataByRatingKeyMediaContainer$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyMediaContainer' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyResponseBody$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyResponseBody, - z.ZodTypeDef, - unknown -> = z.object({ - MediaContainer: z.lazy(() => - GetMetaDataByRatingKeyMediaContainer$inboundSchema - ).optional(), -}).transform((v) => { - return remap$(v, { - "MediaContainer": "mediaContainer", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyResponseBody$Outbound = { - MediaContainer?: GetMetaDataByRatingKeyMediaContainer$Outbound | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyResponseBody$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyResponseBody$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyResponseBody -> = z.object({ - mediaContainer: z.lazy(() => - GetMetaDataByRatingKeyMediaContainer$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 GetMetaDataByRatingKeyResponseBody$ { - /** @deprecated use `GetMetaDataByRatingKeyResponseBody$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyResponseBody$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyResponseBody$outboundSchema` instead. */ - export const outboundSchema = - GetMetaDataByRatingKeyResponseBody$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyResponseBody$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyResponseBody$Outbound; -} - -export function getMetaDataByRatingKeyResponseBodyToJSON( - getMetaDataByRatingKeyResponseBody: GetMetaDataByRatingKeyResponseBody, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyResponseBody$outboundSchema.parse( - getMetaDataByRatingKeyResponseBody, - ), - ); -} - -export function getMetaDataByRatingKeyResponseBodyFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => - GetMetaDataByRatingKeyResponseBody$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyResponseBody' from JSON`, - ); -} - -/** @internal */ -export const GetMetaDataByRatingKeyResponse$inboundSchema: z.ZodType< - GetMetaDataByRatingKeyResponse, - z.ZodTypeDef, - unknown -> = z.object({ - ContentType: z.string(), - StatusCode: z.number().int(), - RawResponse: z.instanceof(Response), - object: z.lazy(() => GetMetaDataByRatingKeyResponseBody$inboundSchema) - .optional(), -}).transform((v) => { - return remap$(v, { - "ContentType": "contentType", - "StatusCode": "statusCode", - "RawResponse": "rawResponse", - }); -}); - -/** @internal */ -export type GetMetaDataByRatingKeyResponse$Outbound = { - ContentType: string; - StatusCode: number; - RawResponse: never; - object?: GetMetaDataByRatingKeyResponseBody$Outbound | undefined; -}; - -/** @internal */ -export const GetMetaDataByRatingKeyResponse$outboundSchema: z.ZodType< - GetMetaDataByRatingKeyResponse$Outbound, - z.ZodTypeDef, - GetMetaDataByRatingKeyResponse -> = z.object({ - contentType: z.string(), - statusCode: z.number().int(), - rawResponse: z.instanceof(Response).transform(() => { - throw new Error("Response cannot be serialized"); - }), - object: z.lazy(() => GetMetaDataByRatingKeyResponseBody$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 GetMetaDataByRatingKeyResponse$ { - /** @deprecated use `GetMetaDataByRatingKeyResponse$inboundSchema` instead. */ - export const inboundSchema = GetMetaDataByRatingKeyResponse$inboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyResponse$outboundSchema` instead. */ - export const outboundSchema = GetMetaDataByRatingKeyResponse$outboundSchema; - /** @deprecated use `GetMetaDataByRatingKeyResponse$Outbound` instead. */ - export type Outbound = GetMetaDataByRatingKeyResponse$Outbound; -} - -export function getMetaDataByRatingKeyResponseToJSON( - getMetaDataByRatingKeyResponse: GetMetaDataByRatingKeyResponse, -): string { - return JSON.stringify( - GetMetaDataByRatingKeyResponse$outboundSchema.parse( - getMetaDataByRatingKeyResponse, - ), - ); -} - -export function getMetaDataByRatingKeyResponseFromJSON( - jsonString: string, -): SafeParseResult { - return safeParse( - jsonString, - (x) => GetMetaDataByRatingKeyResponse$inboundSchema.parse(JSON.parse(x)), - `Failed to parse 'GetMetaDataByRatingKeyResponse' from JSON`, - ); -} diff --git a/src/sdk/models/operations/getplaylistcontents.ts b/src/sdk/models/operations/getplaylistcontents.ts index 050aa798..610b59e8 100644 --- a/src/sdk/models/operations/getplaylistcontents.ts +++ b/src/sdk/models/operations/getplaylistcontents.ts @@ -10,7 +10,7 @@ import { RFCDate } from "../../types/rfcdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -35,7 +35,7 @@ export type GetPlaylistContentsRequest = { */ playlistID: number; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie diff --git a/src/sdk/models/operations/getrecentlyadded.ts b/src/sdk/models/operations/getrecentlyadded.ts index c017db85..a1ee7149 100644 --- a/src/sdk/models/operations/getrecentlyadded.ts +++ b/src/sdk/models/operations/getrecentlyadded.ts @@ -10,7 +10,7 @@ import { RFCDate } from "../../types/rfcdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -53,7 +53,7 @@ export type GetRecentlyAddedRequest = { */ sectionID?: number | undefined; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie diff --git a/src/sdk/models/operations/getrecentlyaddedlibrary.ts b/src/sdk/models/operations/getrecentlyaddedlibrary.ts index 2102abfc..49e8039d 100644 --- a/src/sdk/models/operations/getrecentlyaddedlibrary.ts +++ b/src/sdk/models/operations/getrecentlyaddedlibrary.ts @@ -9,7 +9,7 @@ import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -46,7 +46,7 @@ export type GetRecentlyAddedLibraryRequest = { */ sectionID?: number | undefined; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie diff --git a/src/sdk/models/operations/getsearchlibrary.ts b/src/sdk/models/operations/getsearchlibrary.ts index 3156a6c0..14b6c6ce 100644 --- a/src/sdk/models/operations/getsearchlibrary.ts +++ b/src/sdk/models/operations/getsearchlibrary.ts @@ -9,7 +9,7 @@ import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -37,7 +37,7 @@ export type GetSearchLibraryRequest = { */ sectionKey: number; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie diff --git a/src/sdk/models/operations/gettopwatchedcontent.ts b/src/sdk/models/operations/gettopwatchedcontent.ts index 57f3cd10..0fd9e6a4 100644 --- a/src/sdk/models/operations/gettopwatchedcontent.ts +++ b/src/sdk/models/operations/gettopwatchedcontent.ts @@ -10,7 +10,7 @@ import { RFCDate } from "../../types/rfcdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie @@ -37,7 +37,7 @@ export type GetTopWatchedContentRequest = { */ includeGuids?: number | undefined; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * @remarks * 1 = movie diff --git a/src/sdk/models/operations/index.ts b/src/sdk/models/operations/index.ts index 074e821c..01d01046 100644 --- a/src/sdk/models/operations/index.ts +++ b/src/sdk/models/operations/index.ts @@ -11,6 +11,7 @@ export * from "./createplaylist.js"; export * from "./deletelibrary.js"; export * from "./deleteplaylist.js"; export * from "./enablepapertrail.js"; +export * from "./getactorslibrary.js"; export * from "./getalllibraries.js"; export * from "./getavailableclients.js"; export * from "./getbandwidthstatistics.js"; @@ -27,8 +28,8 @@ export * from "./gethomedata.js"; export * from "./getlibrarydetails.js"; export * from "./getlibraryhubs.js"; export * from "./getlibraryitems.js"; +export * from "./getmediametadata.js"; export * from "./getmediaproviders.js"; -export * from "./getmetadatabyratingkey.js"; export * from "./getmetadatachildren.js"; export * from "./getmyplexaccount.js"; export * from "./getondeck.js";