diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 76e56982..fb687d79 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: 25cb9a6c3c7e2e859211c588b8281b5b
+ docChecksum: 25fd5807db652903ccf5955fa06cf3ac
docVersion: 0.0.3
- speakeasyVersion: 1.526.6
- generationVersion: 2.563.1
- releaseVersion: 0.35.4
- configChecksum: bab7ec3c43c4ac8db5b96c3e16ff5569
+ speakeasyVersion: 1.528.1
+ generationVersion: 2.565.1
+ releaseVersion: 0.36.0
+ configChecksum: 22f00b600e146350a70b9857438cc1be
repoURL: https://github.com/LukeHagar/plexjs.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexjs
@@ -35,6 +35,7 @@ features:
retries: 2.83.0
sdkHooks: 0.2.0
unions: 2.85.8
+ uploadStreams: 0.1.0
generatedFiles:
- .gitattributes
- .npmignore
@@ -562,6 +563,11 @@ generatedFiles:
- docs/sdk/models/operations/getlibraryitemstype.md
- docs/sdk/models/operations/getlibraryitemsultrablurcolors.md
- docs/sdk/models/operations/getlibraryitemswriter.md
+ - docs/sdk/models/operations/getmediaartsmediacontainer.md
+ - docs/sdk/models/operations/getmediaartsmetadata.md
+ - docs/sdk/models/operations/getmediaartsrequest.md
+ - docs/sdk/models/operations/getmediaartsresponse.md
+ - docs/sdk/models/operations/getmediaartsresponsebody.md
- docs/sdk/models/operations/getmediametadatacountry.md
- docs/sdk/models/operations/getmediametadatadirector.md
- docs/sdk/models/operations/getmediametadatagenre.md
@@ -586,6 +592,11 @@ generatedFiles:
- docs/sdk/models/operations/getmediametadatastream.md
- docs/sdk/models/operations/getmediametadataultrablurcolors.md
- docs/sdk/models/operations/getmediametadatawriter.md
+ - docs/sdk/models/operations/getmediapostersmediacontainer.md
+ - docs/sdk/models/operations/getmediapostersmetadata.md
+ - docs/sdk/models/operations/getmediapostersrequest.md
+ - docs/sdk/models/operations/getmediapostersresponse.md
+ - docs/sdk/models/operations/getmediapostersresponsebody.md
- docs/sdk/models/operations/getmediaprovidersdirectory.md
- docs/sdk/models/operations/getmediaprovidersmediacontainer.md
- docs/sdk/models/operations/getmediaprovidersrequest.md
@@ -846,6 +857,10 @@ generatedFiles:
- docs/sdk/models/operations/player.md
- docs/sdk/models/operations/playlisttype.md
- docs/sdk/models/operations/plexdevice.md
+ - docs/sdk/models/operations/postmediaartsrequest.md
+ - docs/sdk/models/operations/postmediaartsresponse.md
+ - docs/sdk/models/operations/postmediaposterrequest.md
+ - docs/sdk/models/operations/postmediaposterresponse.md
- docs/sdk/models/operations/postuserssignindataauthenticationresponsestatus.md
- docs/sdk/models/operations/postuserssignindataauthenticationstatus.md
- docs/sdk/models/operations/postuserssignindataauthenticationsubscription.md
@@ -979,13 +994,17 @@ generatedFiles:
- src/funcs/libraryGetGenresLibrary.ts
- src/funcs/libraryGetLibraryDetails.ts
- src/funcs/libraryGetLibraryItems.ts
+ - src/funcs/libraryGetMediaArts.ts
- src/funcs/libraryGetMediaMetaData.ts
+ - src/funcs/libraryGetMediaPosters.ts
- src/funcs/libraryGetMetadataChildren.ts
- src/funcs/libraryGetRecentlyAddedLibrary.ts
- src/funcs/libraryGetRefreshLibraryMetadata.ts
- src/funcs/libraryGetSearchAllLibraries.ts
- src/funcs/libraryGetSearchLibrary.ts
- src/funcs/libraryGetTopWatchedContent.ts
+ - src/funcs/libraryPostMediaArts.ts
+ - src/funcs/libraryPostMediaPoster.ts
- src/funcs/logEnablePaperTrail.ts
- src/funcs/logLogLine.ts
- src/funcs/logLogMultiLine.ts
@@ -1173,7 +1192,9 @@ generatedFiles:
- src/sdk/models/operations/getlibrarydetails.ts
- src/sdk/models/operations/getlibraryhubs.ts
- src/sdk/models/operations/getlibraryitems.ts
+ - src/sdk/models/operations/getmediaarts.ts
- src/sdk/models/operations/getmediametadata.ts
+ - src/sdk/models/operations/getmediaposters.ts
- src/sdk/models/operations/getmediaproviders.ts
- src/sdk/models/operations/getmetadatachildren.ts
- src/sdk/models/operations/getmyplexaccount.ts
@@ -1217,6 +1238,8 @@ generatedFiles:
- src/sdk/models/operations/markunplayed.ts
- src/sdk/models/operations/performsearch.ts
- src/sdk/models/operations/performvoicesearch.ts
+ - src/sdk/models/operations/postmediaarts.ts
+ - src/sdk/models/operations/postmediaposter.ts
- src/sdk/models/operations/postuserssignindata.ts
- src/sdk/models/operations/startalltasks.ts
- src/sdk/models/operations/starttask.ts
@@ -2349,5 +2372,35 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]}
+ get-media-arts:
+ speakeasy-default-get-media-arts:
+ parameters:
+ path:
+ ratingKey: 16099
+ responses:
+ "200":
+ application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}]}}
+ post-media-arts:
+ speakeasy-default-post-media-arts:
+ parameters:
+ path:
+ ratingKey: 2268
+ query:
+ url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"
+ get-media-posters:
+ speakeasy-default-get-media-posters:
+ parameters:
+ path:
+ ratingKey: 16099
+ responses:
+ "200":
+ application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}]}}
+ post-media-poster:
+ speakeasy-default-post-media-poster:
+ parameters:
+ path:
+ ratingKey: 2268
+ query:
+ url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"
examplesVersion: 1.0.0
generatedTests: {}
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index fcd9c91c..5a912dff 100755
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
typescript:
- version: 0.35.4
+ version: 0.36.0
additionalDependencies:
dependencies: {}
devDependencies: {}
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index d63af6f3..20d0f90f 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,4 +1,4 @@
-speakeasyVersion: 1.526.6
+speakeasyVersion: 1.528.1
sources:
my-source:
sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:6c0205c8a839cc77b987174c66dde7f7304e15e2b1c99d565ff86711d7d7998a
- sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
+ sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
+ sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
tags:
- latest
- - speakeasy-sdk-regen-1743450163
+ - speakeasy-sdk-regen-1743639051
- 0.0.3
targets:
plexjs:
source: plexapi
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:6c0205c8a839cc77b987174c66dde7f7304e15e2b1c99d565ff86711d7d7998a
- sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
+ sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
+ sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
codeSamplesNamespace: code-samples-typescript-plexjs
- codeSamplesRevisionDigest: sha256:3929f5f1f37157fffc47c423c6f361958bf1c9665d3d6f6774aea3b745b59f13
+ codeSamplesRevisionDigest: sha256:1d984798d2ba05ff7dfba1649556f6ece8cbfabbf9260f6a2678748f02977d47
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README.md b/README.md
index 74ac5b84..32fef372 100644
--- a/README.md
+++ b/README.md
@@ -54,6 +54,7 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
* [Authentication](#authentication)
* [Requirements](#requirements)
* [Standalone functions](#standalone-functions)
+ * [File uploads](#file-uploads)
* [Retries](#retries)
* [Debugging](#debugging)
* [Development](#development)
@@ -167,6 +168,10 @@ run();
* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
+* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
+* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
+* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
+* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
* [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
@@ -543,13 +548,17 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`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
+- [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
- [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
+- [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
- [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
- [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
- [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
- [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
- [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library
- [`libraryGetTopWatchedContent`](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
+- [`libraryPostMediaArts`](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
+- [`libraryPostMediaPoster`](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
- [`logEnablePaperTrail`](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
- [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message.
- [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
@@ -604,6 +613,42 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
+
+## File uploads
+
+Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
+
+> [!TIP]
+>
+> Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
+>
+> - **Node.js v20+:** Since v20, Node.js comes with a native `openAsBlob` function in [`node:fs`](https://nodejs.org/docs/latest-v20.x/api/fs.html#fsopenasblobpath-options).
+> - **Bun:** The native [`Bun.file`](https://bun.sh/docs/api/file-io#reading-files-bun-file) function produces a file handle that can be used for streaming file uploads.
+> - **Browsers:** All supported browsers return an instance to a [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) when reading the value from an `` element.
+> - **Node.js v18:** A file stream can be created using the `fileFrom` helper from [`fetch-blob/from.js`](https://www.npmjs.com/package/fetch-blob).
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+const plexAPI = new PlexAPI({
+ accessToken: "",
+});
+
+async function run() {
+ const result = await plexAPI.library.postMediaArts(
+ 2268,
+ "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
+ );
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+
+```
+
+
## Retries
diff --git a/RELEASES.md b/RELEASES.md
index 941720bd..94deef0d 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1278,4 +1278,14 @@ Based on:
### Generated
- [typescript v0.35.4] .
### Releases
-- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
\ No newline at end of file
+- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
+
+## 2025-04-03 00:10:29
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [typescript v0.36.0] .
+### Releases
+- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .
\ No newline at end of file
diff --git a/codeSamples.yaml b/codeSamples.yaml
index 26cc3845..30153d57 100644
--- a/codeSamples.yaml
+++ b/codeSamples.yaml
@@ -593,6 +593,46 @@ actions:
console.log(result);
}
+ run();
+ - target: $["paths"]["/library/metadata/{ratingKey}/arts"]["get"]
+ update:
+ x-codeSamples:
+ - lang: typescript
+ label: PlexJS
+ source: |-
+ import { PlexAPI } from "@lukehagar/plexjs";
+
+ const plexAPI = new PlexAPI({
+ accessToken: "",
+ });
+
+ async function run() {
+ const result = await plexAPI.library.getMediaArts(16099);
+
+ // Handle the result
+ console.log(result);
+ }
+
+ run();
+ - target: $["paths"]["/library/metadata/{ratingKey}/arts"]["post"]
+ update:
+ x-codeSamples:
+ - lang: typescript
+ label: PlexJS
+ source: |-
+ import { PlexAPI } from "@lukehagar/plexjs";
+
+ const plexAPI = new PlexAPI({
+ accessToken: "",
+ });
+
+ async function run() {
+ const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ // Handle the result
+ console.log(result);
+ }
+
run();
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
update:
@@ -640,6 +680,46 @@ actions:
console.log(result);
}
+ run();
+ - target: $["paths"]["/library/metadata/{ratingKey}/posters"]["get"]
+ update:
+ x-codeSamples:
+ - lang: typescript
+ label: PlexJS
+ source: |-
+ import { PlexAPI } from "@lukehagar/plexjs";
+
+ const plexAPI = new PlexAPI({
+ accessToken: "",
+ });
+
+ async function run() {
+ const result = await plexAPI.library.getMediaPosters(16099);
+
+ // Handle the result
+ console.log(result);
+ }
+
+ run();
+ - target: $["paths"]["/library/metadata/{ratingKey}/posters"]["post"]
+ update:
+ x-codeSamples:
+ - lang: typescript
+ label: PlexJS
+ source: |-
+ import { PlexAPI } from "@lukehagar/plexjs";
+
+ const plexAPI = new PlexAPI({
+ accessToken: "",
+ });
+
+ async function run() {
+ const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ // Handle the result
+ console.log(result);
+ }
+
run();
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
update:
diff --git a/docs/sdk/models/operations/addplaylistcontentsrequest.md b/docs/sdk/models/operations/addplaylistcontentsrequest.md
index a53d057f..35840738 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: 2776.28,
+ playlistID: 5654.21,
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 14e917eb..99b57f91 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: 307,
+ statusCode: 100,
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 74151c59..a92aea1c 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: 208,
+ statusCode: 305,
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 82cbc00f..e64f46db 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: 903720,
+ paymentMethodId: 16429,
};
```
diff --git a/docs/sdk/models/operations/checkforupdatesresponse.md b/docs/sdk/models/operations/checkforupdatesresponse.md
index cc6c6efe..67f16826 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: 428,
+ statusCode: 505,
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 463498e7..400130ff 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: 4246.85,
+ playlistID: 1320.68,
};
```
diff --git a/docs/sdk/models/operations/clearplaylistcontentsresponse.md b/docs/sdk/models/operations/clearplaylistcontentsresponse.md
index 530686d5..85ad4cf2 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: 204,
+ statusCode: 411,
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 127e01de..f039f9e5 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.Photo;
+let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Video;
```
## Values
diff --git a/docs/sdk/models/operations/createplaylistrequest.md b/docs/sdk/models/operations/createplaylistrequest.md
index 69e3adb3..11478b84 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.Photo,
smart: Smart.One,
- uri: "https://ajar-reward.biz/",
+ uri: "https://firsthand-section.biz",
};
```
diff --git a/docs/sdk/models/operations/createplaylistresponse.md b/docs/sdk/models/operations/createplaylistresponse.md
index 03270f8a..ecf9748d 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: 205,
+ statusCode: 507,
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 b114c820..cad6a610 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: 6874.88,
+ playlistID: 2074.7,
};
```
diff --git a/docs/sdk/models/operations/deleteplaylistresponse.md b/docs/sdk/models/operations/deleteplaylistresponse.md
index 5e4b4195..66cf5d7a 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: 226,
+ statusCode: 303,
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 d710fbcf..11c7b9e9 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: 304,
+ statusCode: 409,
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 472f5a48..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.Released;
+let value: Filter = Filter.Available;
```
## Values
diff --git a/docs/sdk/models/operations/getbandwidthstatisticsresponse.md b/docs/sdk/models/operations/getbandwidthstatisticsresponse.md
index 1fbd5c9f..d6cf553a 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: 205,
+ statusCode: 226,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/getmediaartsmediacontainer.md b/docs/sdk/models/operations/getmediaartsmediacontainer.md
new file mode 100644
index 00000000..104ea496
--- /dev/null
+++ b/docs/sdk/models/operations/getmediaartsmediacontainer.md
@@ -0,0 +1,36 @@
+# GetMediaArtsMediaContainer
+
+## Example Usage
+
+```typescript
+import { GetMediaArtsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaArtsMediaContainer = {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg",
+ },
+ ],
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
+| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
+| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
+| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
+| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
+| `metadata` | [operations.GetMediaArtsMetadata](../../../sdk/models/operations/getmediaartsmetadata.md)[] | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediaartsmetadata.md b/docs/sdk/models/operations/getmediaartsmetadata.md
new file mode 100644
index 00000000..ff9fdb67
--- /dev/null
+++ b/docs/sdk/models/operations/getmediaartsmetadata.md
@@ -0,0 +1,27 @@
+# GetMediaArtsMetadata
+
+## Example Usage
+
+```typescript
+import { GetMediaArtsMetadata } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaArtsMetadata = {
+ key: "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg",
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `key` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg |
+| `provider` | *string* | :heavy_minus_sign: | The provider of the artwork. | tmdb |
+| `ratingKey` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg |
+| `selected` | *boolean* | :heavy_check_mark: | Whether this is the selected artwork. | true |
+| `thumb` | *string* | :heavy_check_mark: | The URL of the artwork thumbnail. | https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediaartsrequest.md b/docs/sdk/models/operations/getmediaartsrequest.md
new file mode 100644
index 00000000..98a5390f
--- /dev/null
+++ b/docs/sdk/models/operations/getmediaartsrequest.md
@@ -0,0 +1,17 @@
+# GetMediaArtsRequest
+
+## Example Usage
+
+```typescript
+import { GetMediaArtsRequest } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaArtsRequest = {
+ ratingKey: 16099,
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the artwork of. | 16099 |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediaartsresponse.md b/docs/sdk/models/operations/getmediaartsresponse.md
new file mode 100644
index 00000000..5c9c47ac
--- /dev/null
+++ b/docs/sdk/models/operations/getmediaartsresponse.md
@@ -0,0 +1,44 @@
+# GetMediaArtsResponse
+
+## Example Usage
+
+```typescript
+import { GetMediaArtsResponse } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaArtsResponse = {
+ contentType: "",
+ statusCode: 203,
+ rawResponse: new Response("{\"message\": \"hello world\"}", {
+ headers: { "Content-Type": "application/json" },
+ }),
+ object: {
+ mediaContainer: {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg",
+ },
+ ],
+ },
+ },
+};
+```
+
+## 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.GetMediaArtsResponseBody](../../../sdk/models/operations/getmediaartsresponsebody.md) | :heavy_minus_sign: | The available background artwork for the library item. |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediaartsresponsebody.md b/docs/sdk/models/operations/getmediaartsresponsebody.md
new file mode 100644
index 00000000..085b7383
--- /dev/null
+++ b/docs/sdk/models/operations/getmediaartsresponsebody.md
@@ -0,0 +1,36 @@
+# GetMediaArtsResponseBody
+
+The available background artwork for the library item.
+
+## Example Usage
+
+```typescript
+import { GetMediaArtsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaArtsResponseBody = {
+ mediaContainer: {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg",
+ },
+ ],
+ },
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
+| `mediaContainer` | [operations.GetMediaArtsMediaContainer](../../../sdk/models/operations/getmediaartsmediacontainer.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediapostersmediacontainer.md b/docs/sdk/models/operations/getmediapostersmediacontainer.md
new file mode 100644
index 00000000..0c0cef5c
--- /dev/null
+++ b/docs/sdk/models/operations/getmediapostersmediacontainer.md
@@ -0,0 +1,36 @@
+# GetMediaPostersMediaContainer
+
+## Example Usage
+
+```typescript
+import { GetMediaPostersMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaPostersMediaContainer = {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg",
+ },
+ ],
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
+| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
+| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
+| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
+| `metadata` | [operations.GetMediaPostersMetadata](../../../sdk/models/operations/getmediapostersmetadata.md)[] | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediapostersmetadata.md b/docs/sdk/models/operations/getmediapostersmetadata.md
new file mode 100644
index 00000000..d577eeef
--- /dev/null
+++ b/docs/sdk/models/operations/getmediapostersmetadata.md
@@ -0,0 +1,27 @@
+# GetMediaPostersMetadata
+
+## Example Usage
+
+```typescript
+import { GetMediaPostersMetadata } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaPostersMetadata = {
+ key: "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg",
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `key` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg |
+| `provider` | *string* | :heavy_minus_sign: | The provider of the poster. | tmdb |
+| `ratingKey` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg |
+| `selected` | *boolean* | :heavy_check_mark: | Whether this is the selected poster. | true |
+| `thumb` | *string* | :heavy_check_mark: | The URL of the poster thumbnail. | https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediapostersrequest.md b/docs/sdk/models/operations/getmediapostersrequest.md
new file mode 100644
index 00000000..81c39b16
--- /dev/null
+++ b/docs/sdk/models/operations/getmediapostersrequest.md
@@ -0,0 +1,17 @@
+# GetMediaPostersRequest
+
+## Example Usage
+
+```typescript
+import { GetMediaPostersRequest } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaPostersRequest = {
+ ratingKey: 16099,
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters of. | 16099 |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediapostersresponse.md b/docs/sdk/models/operations/getmediapostersresponse.md
new file mode 100644
index 00000000..95aaeee4
--- /dev/null
+++ b/docs/sdk/models/operations/getmediapostersresponse.md
@@ -0,0 +1,44 @@
+# GetMediaPostersResponse
+
+## Example Usage
+
+```typescript
+import { GetMediaPostersResponse } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaPostersResponse = {
+ contentType: "",
+ statusCode: 508,
+ rawResponse: new Response("{\"message\": \"hello world\"}", {
+ headers: { "Content-Type": "application/json" },
+ }),
+ object: {
+ mediaContainer: {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg",
+ },
+ ],
+ },
+ },
+};
+```
+
+## 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.GetMediaPostersResponseBody](../../../sdk/models/operations/getmediapostersresponsebody.md) | :heavy_minus_sign: | The available posters for the library item. |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmediapostersresponsebody.md b/docs/sdk/models/operations/getmediapostersresponsebody.md
new file mode 100644
index 00000000..b386b890
--- /dev/null
+++ b/docs/sdk/models/operations/getmediapostersresponsebody.md
@@ -0,0 +1,36 @@
+# GetMediaPostersResponseBody
+
+The available posters for the library item.
+
+## Example Usage
+
+```typescript
+import { GetMediaPostersResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: GetMediaPostersResponseBody = {
+ mediaContainer: {
+ size: 50,
+ mediaTagVersion: 1734362201,
+ mediaTagPrefix: "/system/bundle/media/flags/",
+ identifier: "com.plexapp.plugins.library",
+ metadata: [
+ {
+ key:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ provider: "tmdb",
+ ratingKey:
+ "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg",
+ selected: true,
+ thumb:
+ "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg",
+ },
+ ],
+ },
+};
+```
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
+| `mediaContainer` | [operations.GetMediaPostersMediaContainer](../../../sdk/models/operations/getmediapostersmediacontainer.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/getmetadatachildrenrequest.md b/docs/sdk/models/operations/getmetadatachildrenrequest.md
index a22a6f91..66b11231 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: 3119.45,
+ ratingKey: 2543.56,
};
```
diff --git a/docs/sdk/models/operations/getmetadatachildrenresponse.md b/docs/sdk/models/operations/getmetadatachildrenresponse.md
index 85c60e3a..c96b2e39 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: 202,
+ statusCode: 101,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/getplaylistcontentsrequest.md b/docs/sdk/models/operations/getplaylistcontentsrequest.md
index 059746ab..fe6f1892 100644
--- a/docs/sdk/models/operations/getplaylistcontentsrequest.md
+++ b/docs/sdk/models/operations/getplaylistcontentsrequest.md
@@ -6,7 +6,7 @@
import { GetPlaylistContentsQueryParamType, GetPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetPlaylistContentsRequest = {
- playlistID: 5182.01,
+ playlistID: 8638.56,
type: GetPlaylistContentsQueryParamType.TvShow,
};
```
diff --git a/docs/sdk/models/operations/getplaylistcontentsresponse.md b/docs/sdk/models/operations/getplaylistcontentsresponse.md
index 4b056ae4..318ee214 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: 100,
+ statusCode: 102,
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 f70ec653..ada26106 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: 7980.47,
+ playlistID: 2133.12,
};
```
diff --git a/docs/sdk/models/operations/getplaylistresponse.md b/docs/sdk/models/operations/getplaylistresponse.md
index 02a995f3..629d64a8 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: 103,
+ statusCode: 300,
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 a8b93631..52703b3c 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: 503,
+ statusCode: 407,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/getresourcesstatisticsresponse.md b/docs/sdk/models/operations/getresourcesstatisticsresponse.md
index f64ca67d..4e9d5f41 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: 424,
+ statusCode: 226,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/getsessionhistoryresponse.md b/docs/sdk/models/operations/getsessionhistoryresponse.md
index 83604169..d8bf52e6 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: 510,
+ statusCode: 428,
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 63a65810..121d2e7c 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: 101,
+ statusCode: 508,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/getsourceconnectioninformationresponse.md b/docs/sdk/models/operations/getsourceconnectioninformationresponse.md
index 3288e0d0..d8793b36 100644
--- a/docs/sdk/models/operations/getsourceconnectioninformationresponse.md
+++ b/docs/sdk/models/operations/getsourceconnectioninformationresponse.md
@@ -7,7 +7,7 @@ import { GetSourceConnectionInformationResponse } from "@lukehagar/plexjs/sdk/mo
let value: GetSourceConnectionInformationResponse = {
contentType: "",
- statusCode: 101,
+ 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 c937e45c..82f7d994 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: 103,
+ statusCode: 510,
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 7ea32d4d..360b43f0 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: 508,
+ statusCode: 202,
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: "pl",
+ 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 33961c4c..9e736090 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: "el",
mailingListStatus: MailingListStatus.Active,
maxHomeSize: 15,
profile: {
diff --git a/docs/sdk/models/operations/gettopwatchedcontentresponse.md b/docs/sdk/models/operations/gettopwatchedcontentresponse.md
index 9afa8744..f8acd5b3 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: 103,
+ statusCode: 206,
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 75b913c0..163e496c 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: 226,
+ statusCode: 208,
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..52ea3ecf 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: 429,
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 1451f267..a12dab1a 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: 508,
+ statusCode: 201,
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 af29f462..a9204929 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: 400,
+ statusCode: 201,
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 9e9c7015..66cb4ff4 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.All,
+ filter: Filter.Released,
xPlexToken: "CV5xoxjTpFKUzBTShsaf",
};
```
diff --git a/docs/sdk/models/operations/getwatchlistresponse.md b/docs/sdk/models/operations/getwatchlistresponse.md
index abf190db..05499e7d 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: 302,
+ statusCode: 304,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/level.md b/docs/sdk/models/operations/level.md
index bab6f656..52a894ce 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.Three;
+let value: Level = Level.Four;
```
## Values
diff --git a/docs/sdk/models/operations/loglinerequest.md b/docs/sdk/models/operations/loglinerequest.md
index 7a663ca7..85f02ac5 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.One,
+ level: Level.Four,
message: "Test log message",
source: "Postman",
};
diff --git a/docs/sdk/models/operations/loglineresponse.md b/docs/sdk/models/operations/loglineresponse.md
index f782ec34..7c5a053f 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: 100,
+ statusCode: 206,
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 29c013f1..54926a57 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: 102,
+ statusCode: 200,
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 cbf337af..cb1af0aa 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: 83422,
+ paymentMethodId: 929530,
},
};
```
diff --git a/docs/sdk/models/operations/playlisttype.md b/docs/sdk/models/operations/playlisttype.md
index a8fea26c..70ecd107 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.Photo;
+let value: PlaylistType = PlaylistType.Audio;
```
## Values
diff --git a/docs/sdk/models/operations/postmediaartsrequest.md b/docs/sdk/models/operations/postmediaartsrequest.md
new file mode 100644
index 00000000..935bf701
--- /dev/null
+++ b/docs/sdk/models/operations/postmediaartsrequest.md
@@ -0,0 +1,17 @@
+# PostMediaArtsRequest
+
+## Example Usage
+
+```typescript
+import { PostMediaArtsRequest } from "@lukehagar/plexjs/sdk/models/operations";
+
+// No examples available for this model
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
+| `url` | *string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
+| `requestBody` | *ReadableStream* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/postmediaartsresponse.md b/docs/sdk/models/operations/postmediaartsresponse.md
new file mode 100644
index 00000000..3e446888
--- /dev/null
+++ b/docs/sdk/models/operations/postmediaartsresponse.md
@@ -0,0 +1,23 @@
+# PostMediaArtsResponse
+
+## Example Usage
+
+```typescript
+import { PostMediaArtsResponse } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: PostMediaArtsResponse = {
+ contentType: "",
+ statusCode: 201,
+ rawResponse: new Response("{\"message\": \"hello world\"}", {
+ headers: { "Content-Type": "application/json" },
+ }),
+};
+```
+
+## 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 |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/postmediaposterrequest.md b/docs/sdk/models/operations/postmediaposterrequest.md
new file mode 100644
index 00000000..e256f858
--- /dev/null
+++ b/docs/sdk/models/operations/postmediaposterrequest.md
@@ -0,0 +1,17 @@
+# PostMediaPosterRequest
+
+## Example Usage
+
+```typescript
+import { PostMediaPosterRequest } from "@lukehagar/plexjs/sdk/models/operations";
+
+// No examples available for this model
+```
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
+| `url` | *string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
+| `requestBody` | *ReadableStream* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/postmediaposterresponse.md b/docs/sdk/models/operations/postmediaposterresponse.md
new file mode 100644
index 00000000..7d39cac5
--- /dev/null
+++ b/docs/sdk/models/operations/postmediaposterresponse.md
@@ -0,0 +1,23 @@
+# PostMediaPosterResponse
+
+## Example Usage
+
+```typescript
+import { PostMediaPosterResponse } from "@lukehagar/plexjs/sdk/models/operations";
+
+let value: PostMediaPosterResponse = {
+ contentType: "",
+ statusCode: 302,
+ rawResponse: new Response("{\"message\": \"hello world\"}", {
+ headers: { "Content-Type": "application/json" },
+ }),
+};
+```
+
+## 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 |
\ No newline at end of file
diff --git a/docs/sdk/models/operations/postuserssignindataresponse.md b/docs/sdk/models/operations/postuserssignindataresponse.md
index 6c001cc6..d3ea9310 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: 503,
+ statusCode: 205,
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: "it",
+ locale: "es",
mailingListStatus: PostUsersSignInDataMailingListStatus.Active,
maxHomeSize: 15,
profile: {
@@ -79,7 +79,7 @@ let value: PostUsersSignInDataResponse = {
state: PostUsersSignInDataState.Ended,
billing: {
internalPaymentMethod: {},
- paymentMethodId: 100294,
+ paymentMethodId: 485628,
},
},
],
diff --git a/docs/sdk/models/operations/postuserssignindatauserplexaccount.md b/docs/sdk/models/operations/postuserssignindatauserplexaccount.md
index 88735f56..5931b70f 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: "hi",
+ locale: "sv",
mailingListStatus: PostUsersSignInDataMailingListStatus.Active,
maxHomeSize: 15,
profile: {
@@ -75,7 +75,7 @@ let value: PostUsersSignInDataUserPlexAccount = {
state: PostUsersSignInDataState.Ended,
billing: {
internalPaymentMethod: {},
- paymentMethodId: 584476,
+ paymentMethodId: 785153,
},
},
],
diff --git a/docs/sdk/models/operations/stoptranscodesessionresponse.md b/docs/sdk/models/operations/stoptranscodesessionresponse.md
index 62b0b6be..fdc32796 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: 226,
+ statusCode: 400,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
diff --git a/docs/sdk/models/operations/updateplaylistrequest.md b/docs/sdk/models/operations/updateplaylistrequest.md
index 53b75739..773f7d0c 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: 7308.56,
+ playlistID: 4635.75,
};
```
diff --git a/docs/sdk/models/operations/updateplaylistresponse.md b/docs/sdk/models/operations/updateplaylistresponse.md
index 3ec1d4eb..2b44b25c 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: 202,
+ statusCode: 205,
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 fb724bb7..a82d04f0 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: 102,
+ statusCode: 508,
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 a1c8ff40..e054957c 100644
--- a/docs/sdks/library/README.md
+++ b/docs/sdks/library/README.md
@@ -22,6 +22,10 @@ API Calls interacting with Plex Media Server Libraries
* [getActorsLibrary](#getactorslibrary) - Get Actors of library media
* [getSearchAllLibraries](#getsearchalllibraries) - Search All Libraries
* [getMediaMetaData](#getmediametadata) - Get Media Metadata
+* [getMediaArts](#getmediaarts) - Get Media Background Artwork
+* [postMediaArts](#postmediaarts) - Upload Media Background Artwork
+* [getMediaPosters](#getmediaposters) - Get Media Posters
+* [postMediaPoster](#postmediaposter) - Upload Media Poster
* [getMetadataChildren](#getmetadatachildren) - Get Items Children
* [getTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content
@@ -1269,6 +1273,298 @@ run();
| errors.GetMediaMetaDataUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* |
+## getMediaArts
+
+Returns the background artwork for a library item.
+
+### Example Usage
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+const plexAPI = new PlexAPI({
+ accessToken: "",
+});
+
+async function run() {
+ const result = await plexAPI.library.getMediaArts(16099);
+
+ // 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 { libraryGetMediaArts } from "@lukehagar/plexjs/funcs/libraryGetMediaArts.js";
+
+// Use `PlexAPICore` for best tree-shaking performance.
+// You can create one instance of it to use across an application.
+const plexAPI = new PlexAPICore({
+ accessToken: "",
+});
+
+async function run() {
+ const res = await libraryGetMediaArts(plexAPI, 16099);
+
+ if (!res.ok) {
+ throw res.error;
+ }
+
+ const { value: result } = res;
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the artwork 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. | |
+
+### Response
+
+**Promise\<[operations.GetMediaArtsResponse](../../sdk/models/operations/getmediaartsresponse.md)\>**
+
+### Errors
+
+| Error Type | Status Code | Content Type |
+| --------------- | --------------- | --------------- |
+| errors.SDKError | 4XX, 5XX | \*/\* |
+
+## postMediaArts
+
+Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL
+
+### Example Usage
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+const plexAPI = new PlexAPI({
+ accessToken: "",
+});
+
+async function run() {
+ const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ // 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 { libraryPostMediaArts } from "@lukehagar/plexjs/funcs/libraryPostMediaArts.js";
+
+// Use `PlexAPICore` for best tree-shaking performance.
+// You can create one instance of it to use across an application.
+const plexAPI = new PlexAPICore({
+ accessToken: "",
+});
+
+async function run() {
+ const res = await libraryPostMediaArts(plexAPI, 2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ if (!res.ok) {
+ throw res.error;
+ }
+
+ const { value: result } = res;
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters of. | [object Object] |
+| `url` | *string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | [object Object] |
+| `requestBody` | *ReadableStream* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
+| `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.PostMediaArtsResponse](../../sdk/models/operations/postmediaartsresponse.md)\>**
+
+### Errors
+
+| Error Type | Status Code | Content Type |
+| --------------- | --------------- | --------------- |
+| errors.SDKError | 4XX, 5XX | \*/\* |
+
+## getMediaPosters
+
+Returns the available posters for a library item.
+
+### Example Usage
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+const plexAPI = new PlexAPI({
+ accessToken: "",
+});
+
+async function run() {
+ const result = await plexAPI.library.getMediaPosters(16099);
+
+ // 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 { libraryGetMediaPosters } from "@lukehagar/plexjs/funcs/libraryGetMediaPosters.js";
+
+// Use `PlexAPICore` for best tree-shaking performance.
+// You can create one instance of it to use across an application.
+const plexAPI = new PlexAPICore({
+ accessToken: "",
+});
+
+async function run() {
+ const res = await libraryGetMediaPosters(plexAPI, 16099);
+
+ if (!res.ok) {
+ throw res.error;
+ }
+
+ const { value: result } = res;
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters 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. | |
+
+### Response
+
+**Promise\<[operations.GetMediaPostersResponse](../../sdk/models/operations/getmediapostersresponse.md)\>**
+
+### Errors
+
+| Error Type | Status Code | Content Type |
+| --------------- | --------------- | --------------- |
+| errors.SDKError | 4XX, 5XX | \*/\* |
+
+## postMediaPoster
+
+Uploads a poster to a library item, either from a local file or a remote URL
+
+### Example Usage
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+const plexAPI = new PlexAPI({
+ accessToken: "",
+});
+
+async function run() {
+ const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ // 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 { libraryPostMediaPoster } from "@lukehagar/plexjs/funcs/libraryPostMediaPoster.js";
+
+// Use `PlexAPICore` for best tree-shaking performance.
+// You can create one instance of it to use across an application.
+const plexAPI = new PlexAPICore({
+ accessToken: "",
+});
+
+async function run() {
+ const res = await libraryPostMediaPoster(plexAPI, 2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
+
+ if (!res.ok) {
+ throw res.error;
+ }
+
+ const { value: result } = res;
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ratingKey` | *number* | :heavy_check_mark: | the id of the library item to return the posters of. | [object Object] |
+| `url` | *string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | [object Object] |
+| `requestBody` | *ReadableStream* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
+| `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.PostMediaPosterResponse](../../sdk/models/operations/postmediaposterresponse.md)\>**
+
+### Errors
+
+| Error Type | Status Code | Content Type |
+| --------------- | --------------- | --------------- |
+| errors.SDKError | 4XX, 5XX | \*/\* |
+
## getMetadataChildren
This endpoint will return the children of of a library item specified with the ratingKey.
diff --git a/jsr.json b/jsr.json
index 78ec10de..bb470590 100644
--- a/jsr.json
+++ b/jsr.json
@@ -2,7 +2,7 @@
{
"name": "@lukehagar/plexjs",
- "version": "0.35.4",
+ "version": "0.36.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 b45634b6..f4efc9b0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@lukehagar/plexjs",
- "version": "0.35.4",
+ "version": "0.36.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@lukehagar/plexjs",
- "version": "0.35.4",
+ "version": "0.36.0",
"devDependencies": {
"@eslint/js": "^9.19.0",
"eslint": "^9.19.0",
diff --git a/package.json b/package.json
index 855b9058..a2c9d2f1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@lukehagar/plexjs",
- "version": "0.35.4",
+ "version": "0.36.0",
"author": "LukeHagar",
"main": "./index.js",
"sideEffects": false,
diff --git a/src/funcs/libraryGetMediaArts.ts b/src/funcs/libraryGetMediaArts.ts
new file mode 100644
index 00000000..56ea2e8d
--- /dev/null
+++ b/src/funcs/libraryGetMediaArts.ts
@@ -0,0 +1,174 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import { PlexAPICore } from "../core.js";
+import { 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 { SDKError } from "../sdk/models/errors/sdkerror.js";
+import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js";
+import * as operations from "../sdk/models/operations/index.js";
+import { APICall, APIPromise } from "../sdk/types/async.js";
+import { Result } from "../sdk/types/fp.js";
+
+/**
+ * Get Media Background Artwork
+ *
+ * @remarks
+ * Returns the background artwork for a library item.
+ */
+export function libraryGetMediaArts(
+ client: PlexAPICore,
+ ratingKey: number,
+ options?: RequestOptions,
+): APIPromise<
+ Result<
+ operations.GetMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >
+> {
+ return new APIPromise($do(
+ client,
+ ratingKey,
+ options,
+ ));
+}
+
+async function $do(
+ client: PlexAPICore,
+ ratingKey: number,
+ options?: RequestOptions,
+): Promise<
+ [
+ Result<
+ operations.GetMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >,
+ APICall,
+ ]
+> {
+ const input: operations.GetMediaArtsRequest = {
+ ratingKey: ratingKey,
+ };
+
+ const parsed = safeParse(
+ input,
+ (value) => operations.GetMediaArtsRequest$outboundSchema.parse(value),
+ "Input validation failed",
+ );
+ if (!parsed.ok) {
+ return [parsed, { status: "invalid" }];
+ }
+ const payload = parsed.value;
+ const body = null;
+
+ const pathParams = {
+ ratingKey: encodeSimple("ratingKey", payload.ratingKey, {
+ explode: false,
+ charEncoding: "percent",
+ }),
+ };
+
+ const path = pathToFunc("/library/metadata/{ratingKey}/arts")(pathParams);
+
+ const headers = new Headers(compactMap({
+ Accept: "application/json",
+ }));
+
+ const secConfig = await extractSecurity(client._options.accessToken);
+ const securityInput = secConfig == null ? {} : { accessToken: secConfig };
+ const requestSecurity = resolveGlobalSecurity(securityInput);
+
+ const context = {
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
+ operationID: "get-media-arts",
+ 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,
+ body: body,
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
+ }, options);
+ if (!requestRes.ok) {
+ return [requestRes, { status: "invalid" }];
+ }
+ const req = requestRes.value;
+
+ const doResult = await client._do(req, {
+ context,
+ errorCodes: ["404", "4XX", "5XX"],
+ retryConfig: context.retryConfig,
+ retryCodes: context.retryCodes,
+ });
+ if (!doResult.ok) {
+ return [doResult, { status: "request-error", request: req }];
+ }
+ const response = doResult.value;
+
+ const responseFields = {
+ ContentType: response.headers.get("content-type")
+ ?? "application/octet-stream",
+ StatusCode: response.status,
+ RawResponse: response,
+ Headers: {},
+ };
+
+ const [result] = await M.match<
+ operations.GetMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >(
+ M.json(200, operations.GetMediaArtsResponse$inboundSchema, {
+ key: "object",
+ }),
+ M.fail([404, "4XX"]),
+ M.fail("5XX"),
+ )(response, { extraFields: responseFields });
+ if (!result.ok) {
+ return [result, { status: "complete", request: req, response }];
+ }
+
+ return [result, { status: "complete", request: req, response }];
+}
diff --git a/src/funcs/libraryGetMediaPosters.ts b/src/funcs/libraryGetMediaPosters.ts
new file mode 100644
index 00000000..24d9dd0f
--- /dev/null
+++ b/src/funcs/libraryGetMediaPosters.ts
@@ -0,0 +1,174 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import { PlexAPICore } from "../core.js";
+import { 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 { SDKError } from "../sdk/models/errors/sdkerror.js";
+import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js";
+import * as operations from "../sdk/models/operations/index.js";
+import { APICall, APIPromise } from "../sdk/types/async.js";
+import { Result } from "../sdk/types/fp.js";
+
+/**
+ * Get Media Posters
+ *
+ * @remarks
+ * Returns the available posters for a library item.
+ */
+export function libraryGetMediaPosters(
+ client: PlexAPICore,
+ ratingKey: number,
+ options?: RequestOptions,
+): APIPromise<
+ Result<
+ operations.GetMediaPostersResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >
+> {
+ return new APIPromise($do(
+ client,
+ ratingKey,
+ options,
+ ));
+}
+
+async function $do(
+ client: PlexAPICore,
+ ratingKey: number,
+ options?: RequestOptions,
+): Promise<
+ [
+ Result<
+ operations.GetMediaPostersResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >,
+ APICall,
+ ]
+> {
+ const input: operations.GetMediaPostersRequest = {
+ ratingKey: ratingKey,
+ };
+
+ const parsed = safeParse(
+ input,
+ (value) => operations.GetMediaPostersRequest$outboundSchema.parse(value),
+ "Input validation failed",
+ );
+ if (!parsed.ok) {
+ return [parsed, { status: "invalid" }];
+ }
+ const payload = parsed.value;
+ const body = null;
+
+ const pathParams = {
+ ratingKey: encodeSimple("ratingKey", payload.ratingKey, {
+ explode: false,
+ charEncoding: "percent",
+ }),
+ };
+
+ const path = pathToFunc("/library/metadata/{ratingKey}/posters")(pathParams);
+
+ const headers = new Headers(compactMap({
+ Accept: "application/json",
+ }));
+
+ const secConfig = await extractSecurity(client._options.accessToken);
+ const securityInput = secConfig == null ? {} : { accessToken: secConfig };
+ const requestSecurity = resolveGlobalSecurity(securityInput);
+
+ const context = {
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
+ operationID: "get-media-posters",
+ 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,
+ body: body,
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
+ }, options);
+ if (!requestRes.ok) {
+ return [requestRes, { status: "invalid" }];
+ }
+ const req = requestRes.value;
+
+ const doResult = await client._do(req, {
+ context,
+ errorCodes: ["404", "4XX", "5XX"],
+ retryConfig: context.retryConfig,
+ retryCodes: context.retryCodes,
+ });
+ if (!doResult.ok) {
+ return [doResult, { status: "request-error", request: req }];
+ }
+ const response = doResult.value;
+
+ const responseFields = {
+ ContentType: response.headers.get("content-type")
+ ?? "application/octet-stream",
+ StatusCode: response.status,
+ RawResponse: response,
+ Headers: {},
+ };
+
+ const [result] = await M.match<
+ operations.GetMediaPostersResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >(
+ M.json(200, operations.GetMediaPostersResponse$inboundSchema, {
+ key: "object",
+ }),
+ M.fail([404, "4XX"]),
+ M.fail("5XX"),
+ )(response, { extraFields: responseFields });
+ if (!result.ok) {
+ return [result, { status: "complete", request: req, response }];
+ }
+
+ return [result, { status: "complete", request: req, response }];
+}
diff --git a/src/funcs/libraryPostMediaArts.ts b/src/funcs/libraryPostMediaArts.ts
new file mode 100644
index 00000000..445f2123
--- /dev/null
+++ b/src/funcs/libraryPostMediaArts.ts
@@ -0,0 +1,196 @@
+/*
+ * 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 { SDKError } from "../sdk/models/errors/sdkerror.js";
+import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js";
+import * as operations from "../sdk/models/operations/index.js";
+import { APICall, APIPromise } from "../sdk/types/async.js";
+import { Result } from "../sdk/types/fp.js";
+
+/**
+ * Upload Media Background Artwork
+ *
+ * @remarks
+ * Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL
+ */
+export function libraryPostMediaArts(
+ client: PlexAPICore,
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+): APIPromise<
+ Result<
+ operations.PostMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >
+> {
+ return new APIPromise($do(
+ client,
+ ratingKey,
+ requestBody,
+ url,
+ options,
+ ));
+}
+
+async function $do(
+ client: PlexAPICore,
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+): Promise<
+ [
+ Result<
+ operations.PostMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >,
+ APICall,
+ ]
+> {
+ const input: operations.PostMediaArtsRequest = {
+ ratingKey: ratingKey,
+ requestBody: requestBody,
+ url: url,
+ };
+
+ const parsed = safeParse(
+ input,
+ (value) => operations.PostMediaArtsRequest$outboundSchema.parse(value),
+ "Input validation failed",
+ );
+ if (!parsed.ok) {
+ return [parsed, { status: "invalid" }];
+ }
+ const payload = parsed.value;
+ const body = payload.RequestBody;
+
+ const pathParams = {
+ ratingKey: encodeSimple("ratingKey", payload.ratingKey, {
+ explode: false,
+ charEncoding: "percent",
+ }),
+ };
+
+ const path = pathToFunc("/library/metadata/{ratingKey}/arts")(pathParams);
+
+ const query = encodeFormQuery({
+ "url": payload.url,
+ });
+
+ const headers = new Headers(compactMap({
+ "Content-Type": "image/*",
+ Accept: "*/*",
+ }));
+
+ const secConfig = await extractSecurity(client._options.accessToken);
+ const securityInput = secConfig == null ? {} : { accessToken: secConfig };
+ const requestSecurity = resolveGlobalSecurity(securityInput);
+
+ const context = {
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
+ operationID: "post-media-arts",
+ 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: "POST",
+ baseURL: options?.serverURL,
+ path: path,
+ headers: headers,
+ query: query,
+ body: body,
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
+ }, options);
+ if (!requestRes.ok) {
+ return [requestRes, { status: "invalid" }];
+ }
+ const req = requestRes.value;
+
+ const doResult = await client._do(req, {
+ context,
+ errorCodes: ["404", "4XX", "5XX"],
+ retryConfig: context.retryConfig,
+ retryCodes: context.retryCodes,
+ });
+ if (!doResult.ok) {
+ return [doResult, { status: "request-error", request: req }];
+ }
+ const response = doResult.value;
+
+ const responseFields = {
+ ContentType: response.headers.get("content-type")
+ ?? "application/octet-stream",
+ StatusCode: response.status,
+ RawResponse: response,
+ Headers: {},
+ };
+
+ const [result] = await M.match<
+ operations.PostMediaArtsResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >(
+ M.nil(200, operations.PostMediaArtsResponse$inboundSchema),
+ M.fail([404, "4XX"]),
+ M.fail("5XX"),
+ )(response, { extraFields: responseFields });
+ if (!result.ok) {
+ return [result, { status: "complete", request: req, response }];
+ }
+
+ return [result, { status: "complete", request: req, response }];
+}
diff --git a/src/funcs/libraryPostMediaPoster.ts b/src/funcs/libraryPostMediaPoster.ts
new file mode 100644
index 00000000..ff9f4d09
--- /dev/null
+++ b/src/funcs/libraryPostMediaPoster.ts
@@ -0,0 +1,196 @@
+/*
+ * 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 { SDKError } from "../sdk/models/errors/sdkerror.js";
+import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js";
+import * as operations from "../sdk/models/operations/index.js";
+import { APICall, APIPromise } from "../sdk/types/async.js";
+import { Result } from "../sdk/types/fp.js";
+
+/**
+ * Upload Media Poster
+ *
+ * @remarks
+ * Uploads a poster to a library item, either from a local file or a remote URL
+ */
+export function libraryPostMediaPoster(
+ client: PlexAPICore,
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+): APIPromise<
+ Result<
+ operations.PostMediaPosterResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >
+> {
+ return new APIPromise($do(
+ client,
+ ratingKey,
+ requestBody,
+ url,
+ options,
+ ));
+}
+
+async function $do(
+ client: PlexAPICore,
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+): Promise<
+ [
+ Result<
+ operations.PostMediaPosterResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >,
+ APICall,
+ ]
+> {
+ const input: operations.PostMediaPosterRequest = {
+ ratingKey: ratingKey,
+ requestBody: requestBody,
+ url: url,
+ };
+
+ const parsed = safeParse(
+ input,
+ (value) => operations.PostMediaPosterRequest$outboundSchema.parse(value),
+ "Input validation failed",
+ );
+ if (!parsed.ok) {
+ return [parsed, { status: "invalid" }];
+ }
+ const payload = parsed.value;
+ const body = payload.RequestBody;
+
+ const pathParams = {
+ ratingKey: encodeSimple("ratingKey", payload.ratingKey, {
+ explode: false,
+ charEncoding: "percent",
+ }),
+ };
+
+ const path = pathToFunc("/library/metadata/{ratingKey}/posters")(pathParams);
+
+ const query = encodeFormQuery({
+ "url": payload.url,
+ });
+
+ const headers = new Headers(compactMap({
+ "Content-Type": "image/*",
+ Accept: "*/*",
+ }));
+
+ const secConfig = await extractSecurity(client._options.accessToken);
+ const securityInput = secConfig == null ? {} : { accessToken: secConfig };
+ const requestSecurity = resolveGlobalSecurity(securityInput);
+
+ const context = {
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
+ operationID: "post-media-poster",
+ 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: "POST",
+ baseURL: options?.serverURL,
+ path: path,
+ headers: headers,
+ query: query,
+ body: body,
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
+ }, options);
+ if (!requestRes.ok) {
+ return [requestRes, { status: "invalid" }];
+ }
+ const req = requestRes.value;
+
+ const doResult = await client._do(req, {
+ context,
+ errorCodes: ["404", "4XX", "5XX"],
+ retryConfig: context.retryConfig,
+ retryCodes: context.retryCodes,
+ });
+ if (!doResult.ok) {
+ return [doResult, { status: "request-error", request: req }];
+ }
+ const response = doResult.value;
+
+ const responseFields = {
+ ContentType: response.headers.get("content-type")
+ ?? "application/octet-stream",
+ StatusCode: response.status,
+ RawResponse: response,
+ Headers: {},
+ };
+
+ const [result] = await M.match<
+ operations.PostMediaPosterResponse,
+ | SDKError
+ | SDKValidationError
+ | UnexpectedClientError
+ | InvalidRequestError
+ | RequestAbortedError
+ | RequestTimeoutError
+ | ConnectionError
+ >(
+ M.nil(200, operations.PostMediaPosterResponse$inboundSchema),
+ M.fail([404, "4XX"]),
+ M.fail("5XX"),
+ )(response, { extraFields: responseFields });
+ if (!result.ok) {
+ return [result, { status: "complete", request: req, response }];
+ }
+
+ return [result, { status: "complete", request: req, response }];
+}
diff --git a/src/lib/config.ts b/src/lib/config.ts
index f44622ac..4ade6b53 100644
--- a/src/lib/config.ts
+++ b/src/lib/config.ts
@@ -90,7 +90,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "0.0.3",
- sdkVersion: "0.35.4",
- genVersion: "2.563.1",
- userAgent: "speakeasy-sdk/typescript 0.35.4 2.563.1 0.0.3 @lukehagar/plexjs",
+ sdkVersion: "0.36.0",
+ genVersion: "2.565.1",
+ userAgent: "speakeasy-sdk/typescript 0.36.0 2.565.1 0.0.3 @lukehagar/plexjs",
} as const;
diff --git a/src/sdk/library.ts b/src/sdk/library.ts
index 27d1244b..8fdbe4cf 100644
--- a/src/sdk/library.ts
+++ b/src/sdk/library.ts
@@ -11,13 +11,17 @@ 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 { libraryGetMediaArts } from "../funcs/libraryGetMediaArts.js";
import { libraryGetMediaMetaData } from "../funcs/libraryGetMediaMetaData.js";
+import { libraryGetMediaPosters } from "../funcs/libraryGetMediaPosters.js";
import { libraryGetMetadataChildren } from "../funcs/libraryGetMetadataChildren.js";
import { libraryGetRecentlyAddedLibrary } from "../funcs/libraryGetRecentlyAddedLibrary.js";
import { libraryGetRefreshLibraryMetadata } from "../funcs/libraryGetRefreshLibraryMetadata.js";
import { libraryGetSearchAllLibraries } from "../funcs/libraryGetSearchAllLibraries.js";
import { libraryGetSearchLibrary } from "../funcs/libraryGetSearchLibrary.js";
import { libraryGetTopWatchedContent } from "../funcs/libraryGetTopWatchedContent.js";
+import { libraryPostMediaArts } from "../funcs/libraryPostMediaArts.js";
+import { libraryPostMediaPoster } from "../funcs/libraryPostMediaPoster.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as operations from "./models/operations/index.js";
import { unwrapAsync } from "./types/fp.js";
@@ -353,6 +357,92 @@ export class Library extends ClientSDK {
));
}
+ /**
+ * Get Media Background Artwork
+ *
+ * @remarks
+ * Returns the background artwork for a library item.
+ */
+ async getMediaArts(
+ ratingKey: number,
+ options?: RequestOptions,
+ ): Promise {
+ return unwrapAsync(libraryGetMediaArts(
+ this,
+ ratingKey,
+ options,
+ ));
+ }
+
+ /**
+ * Upload Media Background Artwork
+ *
+ * @remarks
+ * Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL
+ */
+ async postMediaArts(
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+ ): Promise {
+ return unwrapAsync(libraryPostMediaArts(
+ this,
+ ratingKey,
+ requestBody,
+ url,
+ options,
+ ));
+ }
+
+ /**
+ * Get Media Posters
+ *
+ * @remarks
+ * Returns the available posters for a library item.
+ */
+ async getMediaPosters(
+ ratingKey: number,
+ options?: RequestOptions,
+ ): Promise {
+ return unwrapAsync(libraryGetMediaPosters(
+ this,
+ ratingKey,
+ options,
+ ));
+ }
+
+ /**
+ * Upload Media Poster
+ *
+ * @remarks
+ * Uploads a poster to a library item, either from a local file or a remote URL
+ */
+ async postMediaPoster(
+ ratingKey: number,
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined,
+ url?: string | undefined,
+ options?: RequestOptions,
+ ): Promise {
+ return unwrapAsync(libraryPostMediaPoster(
+ this,
+ ratingKey,
+ requestBody,
+ url,
+ options,
+ ));
+ }
+
/**
* Get Items Children
*
diff --git a/src/sdk/models/operations/getmediaarts.ts b/src/sdk/models/operations/getmediaarts.ts
new file mode 100644
index 00000000..63f785d1
--- /dev/null
+++ b/src/sdk/models/operations/getmediaarts.ts
@@ -0,0 +1,420 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import * as z from "zod";
+import { remap as remap$ } from "../../../lib/primitives.js";
+import { safeParse } from "../../../lib/schemas.js";
+import { Result as SafeParseResult } from "../../types/fp.js";
+import { SDKValidationError } from "../errors/sdkvalidationerror.js";
+
+export type GetMediaArtsRequest = {
+ /**
+ * the id of the library item to return the artwork of.
+ */
+ ratingKey: number;
+};
+
+export type GetMediaArtsMetadata = {
+ /**
+ * The URL of the artwork.
+ */
+ key: string;
+ /**
+ * The provider of the artwork.
+ */
+ provider?: string | undefined;
+ /**
+ * The URL of the artwork.
+ */
+ ratingKey: string;
+ /**
+ * Whether this is the selected artwork.
+ */
+ selected: boolean;
+ /**
+ * The URL of the artwork thumbnail.
+ */
+ thumb: string;
+};
+
+export type GetMediaArtsMediaContainer = {
+ /**
+ * Number of media items returned in this response.
+ */
+ size: number;
+ /**
+ * The version number for media tags.
+ */
+ mediaTagVersion: number;
+ /**
+ * The prefix used for media tag resource paths.
+ */
+ mediaTagPrefix: string;
+ /**
+ * An plugin identifier for the media container.
+ */
+ identifier: string;
+ metadata: Array;
+};
+
+/**
+ * The available background artwork for the library item.
+ */
+export type GetMediaArtsResponseBody = {
+ mediaContainer?: GetMediaArtsMediaContainer | undefined;
+};
+
+export type GetMediaArtsResponse = {
+ /**
+ * 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 available background artwork for the library item.
+ */
+ object?: GetMediaArtsResponseBody | undefined;
+};
+
+/** @internal */
+export const GetMediaArtsRequest$inboundSchema: z.ZodType<
+ GetMediaArtsRequest,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ratingKey: z.number().int(),
+});
+
+/** @internal */
+export type GetMediaArtsRequest$Outbound = {
+ ratingKey: number;
+};
+
+/** @internal */
+export const GetMediaArtsRequest$outboundSchema: z.ZodType<
+ GetMediaArtsRequest$Outbound,
+ z.ZodTypeDef,
+ GetMediaArtsRequest
+> = 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 GetMediaArtsRequest$ {
+ /** @deprecated use `GetMediaArtsRequest$inboundSchema` instead. */
+ export const inboundSchema = GetMediaArtsRequest$inboundSchema;
+ /** @deprecated use `GetMediaArtsRequest$outboundSchema` instead. */
+ export const outboundSchema = GetMediaArtsRequest$outboundSchema;
+ /** @deprecated use `GetMediaArtsRequest$Outbound` instead. */
+ export type Outbound = GetMediaArtsRequest$Outbound;
+}
+
+export function getMediaArtsRequestToJSON(
+ getMediaArtsRequest: GetMediaArtsRequest,
+): string {
+ return JSON.stringify(
+ GetMediaArtsRequest$outboundSchema.parse(getMediaArtsRequest),
+ );
+}
+
+export function getMediaArtsRequestFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaArtsRequest$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaArtsRequest' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaArtsMetadata$inboundSchema: z.ZodType<
+ GetMediaArtsMetadata,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ key: z.string(),
+ provider: z.string().optional(),
+ ratingKey: z.string(),
+ selected: z.boolean(),
+ thumb: z.string(),
+});
+
+/** @internal */
+export type GetMediaArtsMetadata$Outbound = {
+ key: string;
+ provider?: string | undefined;
+ ratingKey: string;
+ selected: boolean;
+ thumb: string;
+};
+
+/** @internal */
+export const GetMediaArtsMetadata$outboundSchema: z.ZodType<
+ GetMediaArtsMetadata$Outbound,
+ z.ZodTypeDef,
+ GetMediaArtsMetadata
+> = z.object({
+ key: z.string(),
+ provider: z.string().optional(),
+ ratingKey: z.string(),
+ selected: z.boolean(),
+ thumb: 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 GetMediaArtsMetadata$ {
+ /** @deprecated use `GetMediaArtsMetadata$inboundSchema` instead. */
+ export const inboundSchema = GetMediaArtsMetadata$inboundSchema;
+ /** @deprecated use `GetMediaArtsMetadata$outboundSchema` instead. */
+ export const outboundSchema = GetMediaArtsMetadata$outboundSchema;
+ /** @deprecated use `GetMediaArtsMetadata$Outbound` instead. */
+ export type Outbound = GetMediaArtsMetadata$Outbound;
+}
+
+export function getMediaArtsMetadataToJSON(
+ getMediaArtsMetadata: GetMediaArtsMetadata,
+): string {
+ return JSON.stringify(
+ GetMediaArtsMetadata$outboundSchema.parse(getMediaArtsMetadata),
+ );
+}
+
+export function getMediaArtsMetadataFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaArtsMetadata$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaArtsMetadata' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaArtsMediaContainer$inboundSchema: z.ZodType<
+ GetMediaArtsMediaContainer,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ size: z.number().int(),
+ mediaTagVersion: z.number().int(),
+ mediaTagPrefix: z.string(),
+ identifier: z.string(),
+ Metadata: z.array(z.lazy(() => GetMediaArtsMetadata$inboundSchema)),
+}).transform((v) => {
+ return remap$(v, {
+ "Metadata": "metadata",
+ });
+});
+
+/** @internal */
+export type GetMediaArtsMediaContainer$Outbound = {
+ size: number;
+ mediaTagVersion: number;
+ mediaTagPrefix: string;
+ identifier: string;
+ Metadata: Array;
+};
+
+/** @internal */
+export const GetMediaArtsMediaContainer$outboundSchema: z.ZodType<
+ GetMediaArtsMediaContainer$Outbound,
+ z.ZodTypeDef,
+ GetMediaArtsMediaContainer
+> = z.object({
+ size: z.number().int(),
+ mediaTagVersion: z.number().int(),
+ mediaTagPrefix: z.string(),
+ identifier: z.string(),
+ metadata: z.array(z.lazy(() => GetMediaArtsMetadata$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 GetMediaArtsMediaContainer$ {
+ /** @deprecated use `GetMediaArtsMediaContainer$inboundSchema` instead. */
+ export const inboundSchema = GetMediaArtsMediaContainer$inboundSchema;
+ /** @deprecated use `GetMediaArtsMediaContainer$outboundSchema` instead. */
+ export const outboundSchema = GetMediaArtsMediaContainer$outboundSchema;
+ /** @deprecated use `GetMediaArtsMediaContainer$Outbound` instead. */
+ export type Outbound = GetMediaArtsMediaContainer$Outbound;
+}
+
+export function getMediaArtsMediaContainerToJSON(
+ getMediaArtsMediaContainer: GetMediaArtsMediaContainer,
+): string {
+ return JSON.stringify(
+ GetMediaArtsMediaContainer$outboundSchema.parse(getMediaArtsMediaContainer),
+ );
+}
+
+export function getMediaArtsMediaContainerFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaArtsMediaContainer$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaArtsMediaContainer' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaArtsResponseBody$inboundSchema: z.ZodType<
+ GetMediaArtsResponseBody,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ MediaContainer: z.lazy(() => GetMediaArtsMediaContainer$inboundSchema)
+ .optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "MediaContainer": "mediaContainer",
+ });
+});
+
+/** @internal */
+export type GetMediaArtsResponseBody$Outbound = {
+ MediaContainer?: GetMediaArtsMediaContainer$Outbound | undefined;
+};
+
+/** @internal */
+export const GetMediaArtsResponseBody$outboundSchema: z.ZodType<
+ GetMediaArtsResponseBody$Outbound,
+ z.ZodTypeDef,
+ GetMediaArtsResponseBody
+> = z.object({
+ mediaContainer: z.lazy(() => GetMediaArtsMediaContainer$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 GetMediaArtsResponseBody$ {
+ /** @deprecated use `GetMediaArtsResponseBody$inboundSchema` instead. */
+ export const inboundSchema = GetMediaArtsResponseBody$inboundSchema;
+ /** @deprecated use `GetMediaArtsResponseBody$outboundSchema` instead. */
+ export const outboundSchema = GetMediaArtsResponseBody$outboundSchema;
+ /** @deprecated use `GetMediaArtsResponseBody$Outbound` instead. */
+ export type Outbound = GetMediaArtsResponseBody$Outbound;
+}
+
+export function getMediaArtsResponseBodyToJSON(
+ getMediaArtsResponseBody: GetMediaArtsResponseBody,
+): string {
+ return JSON.stringify(
+ GetMediaArtsResponseBody$outboundSchema.parse(getMediaArtsResponseBody),
+ );
+}
+
+export function getMediaArtsResponseBodyFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaArtsResponseBody$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaArtsResponseBody' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaArtsResponse$inboundSchema: z.ZodType<
+ GetMediaArtsResponse,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ContentType: z.string(),
+ StatusCode: z.number().int(),
+ RawResponse: z.instanceof(Response),
+ object: z.lazy(() => GetMediaArtsResponseBody$inboundSchema).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "ContentType": "contentType",
+ "StatusCode": "statusCode",
+ "RawResponse": "rawResponse",
+ });
+});
+
+/** @internal */
+export type GetMediaArtsResponse$Outbound = {
+ ContentType: string;
+ StatusCode: number;
+ RawResponse: never;
+ object?: GetMediaArtsResponseBody$Outbound | undefined;
+};
+
+/** @internal */
+export const GetMediaArtsResponse$outboundSchema: z.ZodType<
+ GetMediaArtsResponse$Outbound,
+ z.ZodTypeDef,
+ GetMediaArtsResponse
+> = z.object({
+ contentType: z.string(),
+ statusCode: z.number().int(),
+ rawResponse: z.instanceof(Response).transform(() => {
+ throw new Error("Response cannot be serialized");
+ }),
+ object: z.lazy(() => GetMediaArtsResponseBody$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 GetMediaArtsResponse$ {
+ /** @deprecated use `GetMediaArtsResponse$inboundSchema` instead. */
+ export const inboundSchema = GetMediaArtsResponse$inboundSchema;
+ /** @deprecated use `GetMediaArtsResponse$outboundSchema` instead. */
+ export const outboundSchema = GetMediaArtsResponse$outboundSchema;
+ /** @deprecated use `GetMediaArtsResponse$Outbound` instead. */
+ export type Outbound = GetMediaArtsResponse$Outbound;
+}
+
+export function getMediaArtsResponseToJSON(
+ getMediaArtsResponse: GetMediaArtsResponse,
+): string {
+ return JSON.stringify(
+ GetMediaArtsResponse$outboundSchema.parse(getMediaArtsResponse),
+ );
+}
+
+export function getMediaArtsResponseFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaArtsResponse$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaArtsResponse' from JSON`,
+ );
+}
diff --git a/src/sdk/models/operations/getmediaposters.ts b/src/sdk/models/operations/getmediaposters.ts
new file mode 100644
index 00000000..9c0f3e79
--- /dev/null
+++ b/src/sdk/models/operations/getmediaposters.ts
@@ -0,0 +1,424 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import * as z from "zod";
+import { remap as remap$ } from "../../../lib/primitives.js";
+import { safeParse } from "../../../lib/schemas.js";
+import { Result as SafeParseResult } from "../../types/fp.js";
+import { SDKValidationError } from "../errors/sdkvalidationerror.js";
+
+export type GetMediaPostersRequest = {
+ /**
+ * the id of the library item to return the posters of.
+ */
+ ratingKey: number;
+};
+
+export type GetMediaPostersMetadata = {
+ /**
+ * The URL of the poster.
+ */
+ key: string;
+ /**
+ * The provider of the poster.
+ */
+ provider?: string | undefined;
+ /**
+ * The URL of the poster.
+ */
+ ratingKey: string;
+ /**
+ * Whether this is the selected poster.
+ */
+ selected: boolean;
+ /**
+ * The URL of the poster thumbnail.
+ */
+ thumb: string;
+};
+
+export type GetMediaPostersMediaContainer = {
+ /**
+ * Number of media items returned in this response.
+ */
+ size: number;
+ /**
+ * The version number for media tags.
+ */
+ mediaTagVersion: number;
+ /**
+ * The prefix used for media tag resource paths.
+ */
+ mediaTagPrefix: string;
+ /**
+ * An plugin identifier for the media container.
+ */
+ identifier: string;
+ metadata: Array;
+};
+
+/**
+ * The available posters for the library item.
+ */
+export type GetMediaPostersResponseBody = {
+ mediaContainer?: GetMediaPostersMediaContainer | undefined;
+};
+
+export type GetMediaPostersResponse = {
+ /**
+ * 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 available posters for the library item.
+ */
+ object?: GetMediaPostersResponseBody | undefined;
+};
+
+/** @internal */
+export const GetMediaPostersRequest$inboundSchema: z.ZodType<
+ GetMediaPostersRequest,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ratingKey: z.number().int(),
+});
+
+/** @internal */
+export type GetMediaPostersRequest$Outbound = {
+ ratingKey: number;
+};
+
+/** @internal */
+export const GetMediaPostersRequest$outboundSchema: z.ZodType<
+ GetMediaPostersRequest$Outbound,
+ z.ZodTypeDef,
+ GetMediaPostersRequest
+> = 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 GetMediaPostersRequest$ {
+ /** @deprecated use `GetMediaPostersRequest$inboundSchema` instead. */
+ export const inboundSchema = GetMediaPostersRequest$inboundSchema;
+ /** @deprecated use `GetMediaPostersRequest$outboundSchema` instead. */
+ export const outboundSchema = GetMediaPostersRequest$outboundSchema;
+ /** @deprecated use `GetMediaPostersRequest$Outbound` instead. */
+ export type Outbound = GetMediaPostersRequest$Outbound;
+}
+
+export function getMediaPostersRequestToJSON(
+ getMediaPostersRequest: GetMediaPostersRequest,
+): string {
+ return JSON.stringify(
+ GetMediaPostersRequest$outboundSchema.parse(getMediaPostersRequest),
+ );
+}
+
+export function getMediaPostersRequestFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaPostersRequest$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaPostersRequest' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaPostersMetadata$inboundSchema: z.ZodType<
+ GetMediaPostersMetadata,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ key: z.string(),
+ provider: z.string().optional(),
+ ratingKey: z.string(),
+ selected: z.boolean(),
+ thumb: z.string(),
+});
+
+/** @internal */
+export type GetMediaPostersMetadata$Outbound = {
+ key: string;
+ provider?: string | undefined;
+ ratingKey: string;
+ selected: boolean;
+ thumb: string;
+};
+
+/** @internal */
+export const GetMediaPostersMetadata$outboundSchema: z.ZodType<
+ GetMediaPostersMetadata$Outbound,
+ z.ZodTypeDef,
+ GetMediaPostersMetadata
+> = z.object({
+ key: z.string(),
+ provider: z.string().optional(),
+ ratingKey: z.string(),
+ selected: z.boolean(),
+ thumb: 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 GetMediaPostersMetadata$ {
+ /** @deprecated use `GetMediaPostersMetadata$inboundSchema` instead. */
+ export const inboundSchema = GetMediaPostersMetadata$inboundSchema;
+ /** @deprecated use `GetMediaPostersMetadata$outboundSchema` instead. */
+ export const outboundSchema = GetMediaPostersMetadata$outboundSchema;
+ /** @deprecated use `GetMediaPostersMetadata$Outbound` instead. */
+ export type Outbound = GetMediaPostersMetadata$Outbound;
+}
+
+export function getMediaPostersMetadataToJSON(
+ getMediaPostersMetadata: GetMediaPostersMetadata,
+): string {
+ return JSON.stringify(
+ GetMediaPostersMetadata$outboundSchema.parse(getMediaPostersMetadata),
+ );
+}
+
+export function getMediaPostersMetadataFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaPostersMetadata$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaPostersMetadata' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaPostersMediaContainer$inboundSchema: z.ZodType<
+ GetMediaPostersMediaContainer,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ size: z.number().int(),
+ mediaTagVersion: z.number().int(),
+ mediaTagPrefix: z.string(),
+ identifier: z.string(),
+ Metadata: z.array(z.lazy(() => GetMediaPostersMetadata$inboundSchema)),
+}).transform((v) => {
+ return remap$(v, {
+ "Metadata": "metadata",
+ });
+});
+
+/** @internal */
+export type GetMediaPostersMediaContainer$Outbound = {
+ size: number;
+ mediaTagVersion: number;
+ mediaTagPrefix: string;
+ identifier: string;
+ Metadata: Array;
+};
+
+/** @internal */
+export const GetMediaPostersMediaContainer$outboundSchema: z.ZodType<
+ GetMediaPostersMediaContainer$Outbound,
+ z.ZodTypeDef,
+ GetMediaPostersMediaContainer
+> = z.object({
+ size: z.number().int(),
+ mediaTagVersion: z.number().int(),
+ mediaTagPrefix: z.string(),
+ identifier: z.string(),
+ metadata: z.array(z.lazy(() => GetMediaPostersMetadata$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 GetMediaPostersMediaContainer$ {
+ /** @deprecated use `GetMediaPostersMediaContainer$inboundSchema` instead. */
+ export const inboundSchema = GetMediaPostersMediaContainer$inboundSchema;
+ /** @deprecated use `GetMediaPostersMediaContainer$outboundSchema` instead. */
+ export const outboundSchema = GetMediaPostersMediaContainer$outboundSchema;
+ /** @deprecated use `GetMediaPostersMediaContainer$Outbound` instead. */
+ export type Outbound = GetMediaPostersMediaContainer$Outbound;
+}
+
+export function getMediaPostersMediaContainerToJSON(
+ getMediaPostersMediaContainer: GetMediaPostersMediaContainer,
+): string {
+ return JSON.stringify(
+ GetMediaPostersMediaContainer$outboundSchema.parse(
+ getMediaPostersMediaContainer,
+ ),
+ );
+}
+
+export function getMediaPostersMediaContainerFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaPostersMediaContainer$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaPostersMediaContainer' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaPostersResponseBody$inboundSchema: z.ZodType<
+ GetMediaPostersResponseBody,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ MediaContainer: z.lazy(() => GetMediaPostersMediaContainer$inboundSchema)
+ .optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "MediaContainer": "mediaContainer",
+ });
+});
+
+/** @internal */
+export type GetMediaPostersResponseBody$Outbound = {
+ MediaContainer?: GetMediaPostersMediaContainer$Outbound | undefined;
+};
+
+/** @internal */
+export const GetMediaPostersResponseBody$outboundSchema: z.ZodType<
+ GetMediaPostersResponseBody$Outbound,
+ z.ZodTypeDef,
+ GetMediaPostersResponseBody
+> = z.object({
+ mediaContainer: z.lazy(() => GetMediaPostersMediaContainer$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 GetMediaPostersResponseBody$ {
+ /** @deprecated use `GetMediaPostersResponseBody$inboundSchema` instead. */
+ export const inboundSchema = GetMediaPostersResponseBody$inboundSchema;
+ /** @deprecated use `GetMediaPostersResponseBody$outboundSchema` instead. */
+ export const outboundSchema = GetMediaPostersResponseBody$outboundSchema;
+ /** @deprecated use `GetMediaPostersResponseBody$Outbound` instead. */
+ export type Outbound = GetMediaPostersResponseBody$Outbound;
+}
+
+export function getMediaPostersResponseBodyToJSON(
+ getMediaPostersResponseBody: GetMediaPostersResponseBody,
+): string {
+ return JSON.stringify(
+ GetMediaPostersResponseBody$outboundSchema.parse(
+ getMediaPostersResponseBody,
+ ),
+ );
+}
+
+export function getMediaPostersResponseBodyFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaPostersResponseBody$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaPostersResponseBody' from JSON`,
+ );
+}
+
+/** @internal */
+export const GetMediaPostersResponse$inboundSchema: z.ZodType<
+ GetMediaPostersResponse,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ContentType: z.string(),
+ StatusCode: z.number().int(),
+ RawResponse: z.instanceof(Response),
+ object: z.lazy(() => GetMediaPostersResponseBody$inboundSchema).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "ContentType": "contentType",
+ "StatusCode": "statusCode",
+ "RawResponse": "rawResponse",
+ });
+});
+
+/** @internal */
+export type GetMediaPostersResponse$Outbound = {
+ ContentType: string;
+ StatusCode: number;
+ RawResponse: never;
+ object?: GetMediaPostersResponseBody$Outbound | undefined;
+};
+
+/** @internal */
+export const GetMediaPostersResponse$outboundSchema: z.ZodType<
+ GetMediaPostersResponse$Outbound,
+ z.ZodTypeDef,
+ GetMediaPostersResponse
+> = z.object({
+ contentType: z.string(),
+ statusCode: z.number().int(),
+ rawResponse: z.instanceof(Response).transform(() => {
+ throw new Error("Response cannot be serialized");
+ }),
+ object: z.lazy(() => GetMediaPostersResponseBody$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 GetMediaPostersResponse$ {
+ /** @deprecated use `GetMediaPostersResponse$inboundSchema` instead. */
+ export const inboundSchema = GetMediaPostersResponse$inboundSchema;
+ /** @deprecated use `GetMediaPostersResponse$outboundSchema` instead. */
+ export const outboundSchema = GetMediaPostersResponse$outboundSchema;
+ /** @deprecated use `GetMediaPostersResponse$Outbound` instead. */
+ export type Outbound = GetMediaPostersResponse$Outbound;
+}
+
+export function getMediaPostersResponseToJSON(
+ getMediaPostersResponse: GetMediaPostersResponse,
+): string {
+ return JSON.stringify(
+ GetMediaPostersResponse$outboundSchema.parse(getMediaPostersResponse),
+ );
+}
+
+export function getMediaPostersResponseFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => GetMediaPostersResponse$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'GetMediaPostersResponse' from JSON`,
+ );
+}
diff --git a/src/sdk/models/operations/index.ts b/src/sdk/models/operations/index.ts
index 43796afb..76f219b9 100644
--- a/src/sdk/models/operations/index.ts
+++ b/src/sdk/models/operations/index.ts
@@ -29,7 +29,9 @@ export * from "./gethomedata.js";
export * from "./getlibrarydetails.js";
export * from "./getlibraryhubs.js";
export * from "./getlibraryitems.js";
+export * from "./getmediaarts.js";
export * from "./getmediametadata.js";
+export * from "./getmediaposters.js";
export * from "./getmediaproviders.js";
export * from "./getmetadatachildren.js";
export * from "./getmyplexaccount.js";
@@ -72,6 +74,8 @@ export * from "./markplayed.js";
export * from "./markunplayed.js";
export * from "./performsearch.js";
export * from "./performvoicesearch.js";
+export * from "./postmediaarts.js";
+export * from "./postmediaposter.js";
export * from "./postuserssignindata.js";
export * from "./startalltasks.js";
export * from "./starttask.js";
diff --git a/src/sdk/models/operations/postmediaarts.ts b/src/sdk/models/operations/postmediaarts.ts
new file mode 100644
index 00000000..76a4dc7b
--- /dev/null
+++ b/src/sdk/models/operations/postmediaarts.ts
@@ -0,0 +1,201 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import * as z from "zod";
+import { remap as remap$ } from "../../../lib/primitives.js";
+import { safeParse } from "../../../lib/schemas.js";
+import { Result as SafeParseResult } from "../../types/fp.js";
+import { SDKValidationError } from "../errors/sdkvalidationerror.js";
+
+export type PostMediaArtsRequest = {
+ /**
+ * the id of the library item to return the posters of.
+ */
+ ratingKey: number;
+ /**
+ * The URL of the image, if uploading a remote image
+ */
+ url?: string | undefined;
+ /**
+ * The contents of the image, if uploading a local file
+ */
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined;
+};
+
+export type PostMediaArtsResponse = {
+ /**
+ * 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;
+};
+
+/** @internal */
+export const PostMediaArtsRequest$inboundSchema: z.ZodType<
+ PostMediaArtsRequest,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ratingKey: z.number().int(),
+ url: z.string().optional(),
+ RequestBody: z.union([
+ z.instanceof(ReadableStream),
+ z.instanceof(Blob),
+ z.instanceof(ArrayBuffer),
+ z.instanceof(Uint8Array),
+ ]).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "RequestBody": "requestBody",
+ });
+});
+
+/** @internal */
+export type PostMediaArtsRequest$Outbound = {
+ ratingKey: number;
+ url?: string | undefined;
+ RequestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined;
+};
+
+/** @internal */
+export const PostMediaArtsRequest$outboundSchema: z.ZodType<
+ PostMediaArtsRequest$Outbound,
+ z.ZodTypeDef,
+ PostMediaArtsRequest
+> = z.object({
+ ratingKey: z.number().int(),
+ url: z.string().optional(),
+ requestBody: z.union([
+ z.instanceof(ReadableStream),
+ z.instanceof(Blob),
+ z.instanceof(ArrayBuffer),
+ z.instanceof(Uint8Array),
+ ]).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ requestBody: "RequestBody",
+ });
+});
+
+/**
+ * @internal
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
+ */
+export namespace PostMediaArtsRequest$ {
+ /** @deprecated use `PostMediaArtsRequest$inboundSchema` instead. */
+ export const inboundSchema = PostMediaArtsRequest$inboundSchema;
+ /** @deprecated use `PostMediaArtsRequest$outboundSchema` instead. */
+ export const outboundSchema = PostMediaArtsRequest$outboundSchema;
+ /** @deprecated use `PostMediaArtsRequest$Outbound` instead. */
+ export type Outbound = PostMediaArtsRequest$Outbound;
+}
+
+export function postMediaArtsRequestToJSON(
+ postMediaArtsRequest: PostMediaArtsRequest,
+): string {
+ return JSON.stringify(
+ PostMediaArtsRequest$outboundSchema.parse(postMediaArtsRequest),
+ );
+}
+
+export function postMediaArtsRequestFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => PostMediaArtsRequest$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'PostMediaArtsRequest' from JSON`,
+ );
+}
+
+/** @internal */
+export const PostMediaArtsResponse$inboundSchema: z.ZodType<
+ PostMediaArtsResponse,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ContentType: z.string(),
+ StatusCode: z.number().int(),
+ RawResponse: z.instanceof(Response),
+}).transform((v) => {
+ return remap$(v, {
+ "ContentType": "contentType",
+ "StatusCode": "statusCode",
+ "RawResponse": "rawResponse",
+ });
+});
+
+/** @internal */
+export type PostMediaArtsResponse$Outbound = {
+ ContentType: string;
+ StatusCode: number;
+ RawResponse: never;
+};
+
+/** @internal */
+export const PostMediaArtsResponse$outboundSchema: z.ZodType<
+ PostMediaArtsResponse$Outbound,
+ z.ZodTypeDef,
+ PostMediaArtsResponse
+> = z.object({
+ contentType: z.string(),
+ statusCode: z.number().int(),
+ rawResponse: z.instanceof(Response).transform(() => {
+ throw new Error("Response cannot be serialized");
+ }),
+}).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 PostMediaArtsResponse$ {
+ /** @deprecated use `PostMediaArtsResponse$inboundSchema` instead. */
+ export const inboundSchema = PostMediaArtsResponse$inboundSchema;
+ /** @deprecated use `PostMediaArtsResponse$outboundSchema` instead. */
+ export const outboundSchema = PostMediaArtsResponse$outboundSchema;
+ /** @deprecated use `PostMediaArtsResponse$Outbound` instead. */
+ export type Outbound = PostMediaArtsResponse$Outbound;
+}
+
+export function postMediaArtsResponseToJSON(
+ postMediaArtsResponse: PostMediaArtsResponse,
+): string {
+ return JSON.stringify(
+ PostMediaArtsResponse$outboundSchema.parse(postMediaArtsResponse),
+ );
+}
+
+export function postMediaArtsResponseFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => PostMediaArtsResponse$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'PostMediaArtsResponse' from JSON`,
+ );
+}
diff --git a/src/sdk/models/operations/postmediaposter.ts b/src/sdk/models/operations/postmediaposter.ts
new file mode 100644
index 00000000..1debf711
--- /dev/null
+++ b/src/sdk/models/operations/postmediaposter.ts
@@ -0,0 +1,201 @@
+/*
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
+ */
+
+import * as z from "zod";
+import { remap as remap$ } from "../../../lib/primitives.js";
+import { safeParse } from "../../../lib/schemas.js";
+import { Result as SafeParseResult } from "../../types/fp.js";
+import { SDKValidationError } from "../errors/sdkvalidationerror.js";
+
+export type PostMediaPosterRequest = {
+ /**
+ * the id of the library item to return the posters of.
+ */
+ ratingKey: number;
+ /**
+ * The URL of the image, if uploading a remote image
+ */
+ url?: string | undefined;
+ /**
+ * The contents of the image, if uploading a local file
+ */
+ requestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined;
+};
+
+export type PostMediaPosterResponse = {
+ /**
+ * 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;
+};
+
+/** @internal */
+export const PostMediaPosterRequest$inboundSchema: z.ZodType<
+ PostMediaPosterRequest,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ratingKey: z.number().int(),
+ url: z.string().optional(),
+ RequestBody: z.union([
+ z.instanceof(ReadableStream),
+ z.instanceof(Blob),
+ z.instanceof(ArrayBuffer),
+ z.instanceof(Uint8Array),
+ ]).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ "RequestBody": "requestBody",
+ });
+});
+
+/** @internal */
+export type PostMediaPosterRequest$Outbound = {
+ ratingKey: number;
+ url?: string | undefined;
+ RequestBody?:
+ | ReadableStream
+ | Blob
+ | ArrayBuffer
+ | Uint8Array
+ | undefined;
+};
+
+/** @internal */
+export const PostMediaPosterRequest$outboundSchema: z.ZodType<
+ PostMediaPosterRequest$Outbound,
+ z.ZodTypeDef,
+ PostMediaPosterRequest
+> = z.object({
+ ratingKey: z.number().int(),
+ url: z.string().optional(),
+ requestBody: z.union([
+ z.instanceof(ReadableStream),
+ z.instanceof(Blob),
+ z.instanceof(ArrayBuffer),
+ z.instanceof(Uint8Array),
+ ]).optional(),
+}).transform((v) => {
+ return remap$(v, {
+ requestBody: "RequestBody",
+ });
+});
+
+/**
+ * @internal
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
+ */
+export namespace PostMediaPosterRequest$ {
+ /** @deprecated use `PostMediaPosterRequest$inboundSchema` instead. */
+ export const inboundSchema = PostMediaPosterRequest$inboundSchema;
+ /** @deprecated use `PostMediaPosterRequest$outboundSchema` instead. */
+ export const outboundSchema = PostMediaPosterRequest$outboundSchema;
+ /** @deprecated use `PostMediaPosterRequest$Outbound` instead. */
+ export type Outbound = PostMediaPosterRequest$Outbound;
+}
+
+export function postMediaPosterRequestToJSON(
+ postMediaPosterRequest: PostMediaPosterRequest,
+): string {
+ return JSON.stringify(
+ PostMediaPosterRequest$outboundSchema.parse(postMediaPosterRequest),
+ );
+}
+
+export function postMediaPosterRequestFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => PostMediaPosterRequest$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'PostMediaPosterRequest' from JSON`,
+ );
+}
+
+/** @internal */
+export const PostMediaPosterResponse$inboundSchema: z.ZodType<
+ PostMediaPosterResponse,
+ z.ZodTypeDef,
+ unknown
+> = z.object({
+ ContentType: z.string(),
+ StatusCode: z.number().int(),
+ RawResponse: z.instanceof(Response),
+}).transform((v) => {
+ return remap$(v, {
+ "ContentType": "contentType",
+ "StatusCode": "statusCode",
+ "RawResponse": "rawResponse",
+ });
+});
+
+/** @internal */
+export type PostMediaPosterResponse$Outbound = {
+ ContentType: string;
+ StatusCode: number;
+ RawResponse: never;
+};
+
+/** @internal */
+export const PostMediaPosterResponse$outboundSchema: z.ZodType<
+ PostMediaPosterResponse$Outbound,
+ z.ZodTypeDef,
+ PostMediaPosterResponse
+> = z.object({
+ contentType: z.string(),
+ statusCode: z.number().int(),
+ rawResponse: z.instanceof(Response).transform(() => {
+ throw new Error("Response cannot be serialized");
+ }),
+}).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 PostMediaPosterResponse$ {
+ /** @deprecated use `PostMediaPosterResponse$inboundSchema` instead. */
+ export const inboundSchema = PostMediaPosterResponse$inboundSchema;
+ /** @deprecated use `PostMediaPosterResponse$outboundSchema` instead. */
+ export const outboundSchema = PostMediaPosterResponse$outboundSchema;
+ /** @deprecated use `PostMediaPosterResponse$Outbound` instead. */
+ export type Outbound = PostMediaPosterResponse$Outbound;
+}
+
+export function postMediaPosterResponseToJSON(
+ postMediaPosterResponse: PostMediaPosterResponse,
+): string {
+ return JSON.stringify(
+ PostMediaPosterResponse$outboundSchema.parse(postMediaPosterResponse),
+ );
+}
+
+export function postMediaPosterResponseFromJSON(
+ jsonString: string,
+): SafeParseResult {
+ return safeParse(
+ jsonString,
+ (x) => PostMediaPosterResponse$inboundSchema.parse(JSON.parse(x)),
+ `Failed to parse 'PostMediaPosterResponse' from JSON`,
+ );
+}