mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-07 12:37:45 +00:00
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
162b3b3d13 | ||
|
|
3dff2b9225 | ||
|
|
d6d9c46f51 | ||
|
|
f79b24ee0e | ||
|
|
78c540ebf4 | ||
|
|
3fc9856c81 | ||
|
|
bc1fa68557 | ||
|
|
182d88f7f1 | ||
|
|
300cbb21cd | ||
|
|
53f3bfd615 | ||
|
|
92b22220f1 | ||
|
|
a42f887042 | ||
|
|
8b9c5c6e41 | ||
|
|
eab41f5f41 | ||
|
|
e038f1fdcf | ||
|
|
835f4244ec | ||
|
|
287c5cb9ad | ||
|
|
521174faf5 | ||
|
|
6fe948fa1e | ||
|
|
4abb238f51 | ||
|
|
c10b6af7de | ||
|
|
6bec4430ff | ||
|
|
3fe4aee2ea | ||
|
|
5b4a51bee7 | ||
|
|
b0cc884d46 | ||
|
|
a1dc07ae78 | ||
|
|
d100297e1d | ||
|
|
14f7d530ec | ||
|
|
622219b018 | ||
|
|
c4dd496e24 | ||
|
|
cdda7f840f | ||
|
|
2c04752d88 | ||
|
|
242d7d78f2 | ||
|
|
779aa2dc9e | ||
|
|
0d73a769fb | ||
|
|
eeadc8c329 | ||
|
|
dbe2e37bba |
23
.github/workflows/codesee-arch-diagram.yml
vendored
23
.github/workflows/codesee-arch-diagram.yml
vendored
@@ -1,23 +0,0 @@
|
|||||||
# This workflow was added by CodeSee. Learn more at https://codesee.io/
|
|
||||||
# This is v2.0 of this workflow file
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request_target:
|
|
||||||
types: [opened, synchronize, reopened]
|
|
||||||
|
|
||||||
name: CodeSee
|
|
||||||
|
|
||||||
permissions: read-all
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
codesee:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
continue-on-error: true
|
|
||||||
name: Analyze the repo with CodeSee
|
|
||||||
steps:
|
|
||||||
- uses: Codesee-io/codesee-action@v2
|
|
||||||
with:
|
|
||||||
codesee-token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
|
|
||||||
codesee-url: https://app.codesee.io
|
|
||||||
33
.github/workflows/publish-jsr.yaml
vendored
Normal file
33
.github/workflows/publish-jsr.yaml
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Publish to JSR
|
||||||
|
permissions:
|
||||||
|
checks: write
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
statuses: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm install
|
||||||
|
|
||||||
|
- name: Publish package
|
||||||
|
run: npx jsr publish
|
||||||
48
.github/workflows/speakeasy_sdk_generation.yml
vendored
48
.github/workflows/speakeasy_sdk_generation.yml
vendored
@@ -1,26 +1,28 @@
|
|||||||
name: Generate
|
name: Generate
|
||||||
permissions:
|
permissions:
|
||||||
checks: write
|
checks: write
|
||||||
contents: write
|
contents: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
statuses: write
|
statuses: write
|
||||||
"on":
|
|
||||||
workflow_dispatch:
|
on:
|
||||||
inputs:
|
workflow_dispatch:
|
||||||
force:
|
inputs:
|
||||||
description: Force generation of SDKs
|
force:
|
||||||
type: boolean
|
description: Force generation of SDKs
|
||||||
default: false
|
type: boolean
|
||||||
schedule:
|
default: false
|
||||||
- cron: 0 0 * * *
|
schedule:
|
||||||
|
- cron: 0 0 * * *
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
generate:
|
generate:
|
||||||
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
|
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
|
||||||
with:
|
with:
|
||||||
force: ${{ github.event.inputs.force }}
|
force: ${{ github.event.inputs.force }}
|
||||||
mode: direct
|
mode: direct
|
||||||
speakeasy_version: latest
|
speakeasy_version: latest
|
||||||
secrets:
|
secrets:
|
||||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
npm_token: ${{ secrets.NPM_TOKEN }}
|
npm_token: ${{ secrets.NPM_TOKEN }}
|
||||||
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
/*
|
**/*
|
||||||
/docs/**/*.md
|
|
||||||
!/**/*.ts
|
!/**/*.ts
|
||||||
!/**/*.js
|
!/**/*.js
|
||||||
!/**/*.map
|
!/**/*.map
|
||||||
|
|||||||
@@ -1,26 +1,32 @@
|
|||||||
lockVersion: 2.0.0
|
lockVersion: 2.0.0
|
||||||
id: 16f22cbf-f23f-4419-8924-3a4b06381947
|
id: 16f22cbf-f23f-4419-8924-3a4b06381947
|
||||||
management:
|
management:
|
||||||
docChecksum: e34dac84738ebf2d447ea2b9055a6eeb
|
docChecksum: 543cb95355401d2e3c2ba11a50d9dd94
|
||||||
docVersion: 0.0.3
|
docVersion: 0.0.3
|
||||||
speakeasyVersion: 1.213.0
|
speakeasyVersion: 1.285.0
|
||||||
generationVersion: 2.283.1
|
generationVersion: 2.326.3
|
||||||
releaseVersion: 0.10.4
|
releaseVersion: 0.15.0
|
||||||
configChecksum: 79121d7caddd1a69343bca5df91689af
|
configChecksum: 128cbd9ff9106ca973e497a43ea70dc4
|
||||||
repoURL: https://github.com/LukeHagar/plexjs.git
|
repoURL: https://github.com/LukeHagar/plexjs.git
|
||||||
repoSubDirectory: .
|
repoSubDirectory: .
|
||||||
installationURL: https://github.com/LukeHagar/plexjs
|
installationURL: https://github.com/LukeHagar/plexjs
|
||||||
published: true
|
published: true
|
||||||
features:
|
features:
|
||||||
typescript:
|
typescript:
|
||||||
|
additionalDependencies: 0.1.0
|
||||||
constsAndDefaults: 0.1.5
|
constsAndDefaults: 0.1.5
|
||||||
core: 3.6.3
|
core: 3.9.3
|
||||||
flattening: 2.81.1
|
flattening: 2.81.1
|
||||||
globalSecurity: 2.82.8
|
globalSecurity: 2.82.9
|
||||||
|
globalSecurityCallbacks: 0.1.0
|
||||||
|
globalSecurityFlattening: 0.1.0
|
||||||
globalServerURLs: 2.82.4
|
globalServerURLs: 2.82.4
|
||||||
|
globals: 2.82.1
|
||||||
methodServerURLs: 2.82.1
|
methodServerURLs: 2.82.1
|
||||||
nameOverrides: 2.81.1
|
nameOverrides: 2.81.2
|
||||||
responseFormat: 0.2.2
|
responseFormat: 0.2.3
|
||||||
|
sdkHooks: 0.1.0
|
||||||
|
unions: 2.85.4
|
||||||
generatedFiles:
|
generatedFiles:
|
||||||
- src/sdk/server.ts
|
- src/sdk/server.ts
|
||||||
- src/sdk/media.ts
|
- src/sdk/media.ts
|
||||||
@@ -41,6 +47,7 @@ generatedFiles:
|
|||||||
- .eslintrc.js
|
- .eslintrc.js
|
||||||
- .npmignore
|
- .npmignore
|
||||||
- RUNTIMES.md
|
- RUNTIMES.md
|
||||||
|
- jsr.json
|
||||||
- package.json
|
- package.json
|
||||||
- src/index.ts
|
- src/index.ts
|
||||||
- src/lib/base64.ts
|
- src/lib/base64.ts
|
||||||
@@ -90,7 +97,6 @@ generatedFiles:
|
|||||||
- src/models/operations/getlibraries.ts
|
- src/models/operations/getlibraries.ts
|
||||||
- src/models/operations/getlibrary.ts
|
- src/models/operations/getlibrary.ts
|
||||||
- src/models/operations/deletelibrary.ts
|
- src/models/operations/deletelibrary.ts
|
||||||
- src/models/operations/getlibraryitems.ts
|
|
||||||
- src/models/operations/refreshlibrary.ts
|
- src/models/operations/refreshlibrary.ts
|
||||||
- src/models/operations/searchlibrary.ts
|
- src/models/operations/searchlibrary.ts
|
||||||
- src/models/operations/getmetadata.ts
|
- src/models/operations/getmetadata.ts
|
||||||
@@ -313,19 +319,6 @@ generatedFiles:
|
|||||||
- docs/models/operations/getlibraryresponse.md
|
- docs/models/operations/getlibraryresponse.md
|
||||||
- docs/models/operations/deletelibraryrequest.md
|
- docs/models/operations/deletelibraryrequest.md
|
||||||
- docs/models/operations/deletelibraryresponse.md
|
- docs/models/operations/deletelibraryresponse.md
|
||||||
- docs/models/operations/tag.md
|
|
||||||
- docs/models/operations/getlibraryitemsrequest.md
|
|
||||||
- docs/models/operations/getlibraryitemspart.md
|
|
||||||
- docs/models/operations/getlibraryitemsmedia.md
|
|
||||||
- docs/models/operations/getlibraryitemsgenre.md
|
|
||||||
- docs/models/operations/getlibraryitemscountry.md
|
|
||||||
- docs/models/operations/getlibraryitemsdirector.md
|
|
||||||
- docs/models/operations/getlibraryitemswriter.md
|
|
||||||
- docs/models/operations/getlibraryitemsrole.md
|
|
||||||
- docs/models/operations/getlibraryitemsmetadata.md
|
|
||||||
- docs/models/operations/getlibraryitemsmediacontainer.md
|
|
||||||
- docs/models/operations/getlibraryitemsresponsebody.md
|
|
||||||
- docs/models/operations/getlibraryitemsresponse.md
|
|
||||||
- docs/models/operations/refreshlibraryrequest.md
|
- docs/models/operations/refreshlibraryrequest.md
|
||||||
- docs/models/operations/refreshlibraryresponse.md
|
- docs/models/operations/refreshlibraryresponse.md
|
||||||
- docs/models/operations/type.md
|
- docs/models/operations/type.md
|
||||||
|
|||||||
@@ -12,13 +12,15 @@ generation:
|
|||||||
auth:
|
auth:
|
||||||
oAuth2ClientCredentialsEnabled: false
|
oAuth2ClientCredentialsEnabled: false
|
||||||
typescript:
|
typescript:
|
||||||
version: 0.10.4
|
version: 0.15.0
|
||||||
additionalDependencies:
|
additionalDependencies:
|
||||||
dependencies: {}
|
dependencies: {}
|
||||||
devDependencies: {}
|
devDependencies: {}
|
||||||
peerDependencies: {}
|
peerDependencies: {}
|
||||||
|
additionalPackageJSON: {}
|
||||||
author: LukeHagar
|
author: LukeHagar
|
||||||
clientServerStatusCodesAsErrors: true
|
clientServerStatusCodesAsErrors: true
|
||||||
|
enumFormat: enum
|
||||||
flattenGlobalSecurity: true
|
flattenGlobalSecurity: true
|
||||||
imports:
|
imports:
|
||||||
option: openapi
|
option: openapi
|
||||||
@@ -30,6 +32,7 @@ typescript:
|
|||||||
webhooks: models/webhooks
|
webhooks: models/webhooks
|
||||||
inputModelSuffix: input
|
inputModelSuffix: input
|
||||||
maxMethodParams: 4
|
maxMethodParams: 4
|
||||||
|
methodArguments: require-security-and-request
|
||||||
outputModelSuffix: output
|
outputModelSuffix: output
|
||||||
packageName: '@lukehagar/plexjs'
|
packageName: '@lukehagar/plexjs'
|
||||||
responseFormat: envelope
|
responseFormat: envelope
|
||||||
23
.speakeasy/workflow.lock
Normal file
23
.speakeasy/workflow.lock
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
speakeasyVersion: 1.285.0
|
||||||
|
sources:
|
||||||
|
my-source: {}
|
||||||
|
targets:
|
||||||
|
plexjs:
|
||||||
|
source: my-source
|
||||||
|
outLocation: /github/workspace/repo
|
||||||
|
workflow:
|
||||||
|
workflowVersion: 1.0.0
|
||||||
|
speakeasyVersion: latest
|
||||||
|
sources:
|
||||||
|
my-source:
|
||||||
|
inputs:
|
||||||
|
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||||
|
targets:
|
||||||
|
plexjs:
|
||||||
|
target: typescript
|
||||||
|
source: my-source
|
||||||
|
publish:
|
||||||
|
npm:
|
||||||
|
token: $NPM_TOKEN
|
||||||
|
codeSamples:
|
||||||
|
output: codeSamples.yaml
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
workflowVersion: 1.0.0
|
workflowVersion: 1.0.0
|
||||||
|
speakeasyVersion: latest
|
||||||
sources:
|
sources:
|
||||||
my-source:
|
my-source:
|
||||||
inputs:
|
inputs:
|
||||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||||
targets:
|
targets:
|
||||||
plexjs:
|
plexjs:
|
||||||
target: typescript
|
target: typescript
|
||||||
source: my-source
|
source: my-source
|
||||||
publish:
|
codeSamples:
|
||||||
npm:
|
output: codeSamples.yaml
|
||||||
token: $NPM_TOKEN
|
publish:
|
||||||
|
npm:
|
||||||
|
token: $NPM_TOKEN
|
||||||
|
|||||||
26
Makefile
26
Makefile
@@ -1,26 +0,0 @@
|
|||||||
.PHONY: *
|
|
||||||
|
|
||||||
all: speakeasy
|
|
||||||
|
|
||||||
|
|
||||||
speakeasy: check-speakeasy
|
|
||||||
speakeasy generate sdk --lang typescript -o . -s ./openapi.yaml
|
|
||||||
|
|
||||||
speakeasy-validate: check-speakeasy
|
|
||||||
speakeasy validate openapi -s ./openapi.yaml
|
|
||||||
|
|
||||||
openapi:
|
|
||||||
curl https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml > ./openapi.yaml
|
|
||||||
|
|
||||||
# This will replace the generation source in your workflow file with your local schema path
|
|
||||||
generate-from-local:
|
|
||||||
@if ! which sed >/dev/null; then \
|
|
||||||
echo "sed is not installed. Please install it using the following command:"; \
|
|
||||||
echo "For Ubuntu/Debian: apt-get install sed"; \
|
|
||||||
echo "For macOS: sed is pre-installed"; \
|
|
||||||
exit 1; \
|
|
||||||
fi
|
|
||||||
@sed -i '' '/openapi_docs: |/{n;s|-.*|- ./openapi.yaml|;}' ./.github/workflows/speakeasy_sdk_generation.yml
|
|
||||||
|
|
||||||
check-speakeasy:
|
|
||||||
@command -v speakeasy >/dev/null 2>&1 || { echo >&2 "speakeasy CLI is not installed. Please install before continuing."; exit 1; }
|
|
||||||
114
README.md
114
README.md
@@ -31,12 +31,13 @@ yarn add @lukehagar/plexjs
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result);
|
console.log(result);
|
||||||
@@ -103,7 +104,6 @@ run();
|
|||||||
* [getLibraries](docs/sdks/library/README.md#getlibraries) - Get All Libraries
|
* [getLibraries](docs/sdks/library/README.md#getlibraries) - Get All Libraries
|
||||||
* [getLibrary](docs/sdks/library/README.md#getlibrary) - Get Library Details
|
* [getLibrary](docs/sdks/library/README.md#getlibrary) - Get Library Details
|
||||||
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
||||||
* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
|
|
||||||
* [refreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library
|
* [refreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library
|
||||||
* [searchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
* [searchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
||||||
* [getMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
* [getMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
||||||
@@ -173,14 +173,15 @@ Validation errors can also occur when either method arguments or data returned f
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import * as errors from "@lukehagar/plexjs/models/errors";
|
import * as errors from "@lukehagar/plexjs/models/errors";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
async function run() {
|
||||||
let result;
|
let result;
|
||||||
try {
|
try {
|
||||||
result = await sdk.server.getServerCapabilities();
|
result = await plexAPI.server.getServerCapabilities();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
switch (true) {
|
switch (true) {
|
||||||
case err instanceof errors.SDKValidationError: {
|
case err instanceof errors.SDKValidationError: {
|
||||||
@@ -223,13 +224,14 @@ You can override the default server globally by passing a server index to the `s
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
serverIdx: 0,
|
||||||
serverIdx: 0,
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result);
|
console.log(result);
|
||||||
@@ -253,13 +255,14 @@ The default server can also be overridden globally by passing a URL to the `serv
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
serverURL: "{protocol}://{ip}:{port}",
|
||||||
serverURL: "{protocol}://{ip}:{port}",
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result);
|
console.log(result);
|
||||||
@@ -275,13 +278,12 @@ The server URL can also be overridden on a per-operation basis, provided a serve
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
|
const plexAPI = new PlexAPI({
|
||||||
|
xPlexClientIdentifier: "Postman",
|
||||||
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
const sdk = new PlexAPI();
|
const result = await plexAPI.plex.getPin(false, "Postman", {
|
||||||
|
|
||||||
const xPlexClientIdentifier = "<value>";
|
|
||||||
const strong = false;
|
|
||||||
|
|
||||||
const result = await sdk.plex.getPin(xPlexClientIdentifier, strong, {
|
|
||||||
serverURL: "https://plex.tv/api/v2",
|
serverURL: "https://plex.tv/api/v2",
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -324,7 +326,7 @@ const httpClient = new HTTPClient({
|
|||||||
|
|
||||||
httpClient.addHook("beforeRequest", (request) => {
|
httpClient.addHook("beforeRequest", (request) => {
|
||||||
const nextRequest = new Request(request, {
|
const nextRequest = new Request(request, {
|
||||||
signal: request.signal || AbortSignal.timeout(5000);
|
signal: request.signal || AbortSignal.timeout(5000)
|
||||||
});
|
});
|
||||||
|
|
||||||
nextRequest.headers.set("x-custom-header", "custom value");
|
nextRequest.headers.set("x-custom-header", "custom value");
|
||||||
@@ -358,12 +360,13 @@ To authenticate with the API the `accessToken` parameter must be set when initia
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result);
|
console.log(result);
|
||||||
@@ -380,6 +383,47 @@ run();
|
|||||||
For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
|
For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
|
||||||
<!-- End Requirements [requirements] -->
|
<!-- End Requirements [requirements] -->
|
||||||
|
|
||||||
|
<!-- Start Global Parameters [global-parameters] -->
|
||||||
|
## Global Parameters
|
||||||
|
|
||||||
|
A parameter is configured globally. This parameter must be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
|
||||||
|
|
||||||
|
For example, you can set `X-Plex-Client-Identifier` to `"Postman"` at SDK initialization and then you do not have to pass the same value on calls to operations like `getPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
|
||||||
|
|
||||||
|
|
||||||
|
### Available Globals
|
||||||
|
|
||||||
|
The following global parameter is available. The required parameter must be set when you initialize the SDK client.
|
||||||
|
|
||||||
|
| Name | Type | Required | Description |
|
||||||
|
| ---- | ---- |:--------:| ----------- |
|
||||||
|
| xPlexClientIdentifier | string | ✔️ | The unique identifier for the client application
|
||||||
|
This is used to track the client application and its usage
|
||||||
|
(UUID, serial number, or other number unique per device)
|
||||||
|
|
|
||||||
|
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
|
const plexAPI = new PlexAPI({
|
||||||
|
xPlexClientIdentifier: "Postman",
|
||||||
|
});
|
||||||
|
|
||||||
|
async function run() {
|
||||||
|
const result = await plexAPI.plex.getPin(false, "Postman");
|
||||||
|
|
||||||
|
// Handle the result
|
||||||
|
console.log(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
run();
|
||||||
|
|
||||||
|
```
|
||||||
|
<!-- End Global Parameters [global-parameters] -->
|
||||||
|
|
||||||
<!-- Placeholder for Future Speakeasy SDK Sections -->
|
<!-- Placeholder for Future Speakeasy SDK Sections -->
|
||||||
|
|
||||||
# Development
|
# Development
|
||||||
|
|||||||
252
RELEASES.md
252
RELEASES.md
@@ -268,4 +268,254 @@ Based on:
|
|||||||
### Generated
|
### Generated
|
||||||
- [typescript v0.10.4] .
|
- [typescript v0.10.4] .
|
||||||
### Releases
|
### Releases
|
||||||
- [NPM v0.10.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.10.4 - .
|
- [NPM v0.10.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.10.4 - .
|
||||||
|
|
||||||
|
## 2024-03-27 00:25:29
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.227.0 (2.291.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.11.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.11.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.11.0 - .
|
||||||
|
|
||||||
|
## 2024-03-29 16:36:42
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.228.1 (2.292.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.12.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.12.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.12.0 - .
|
||||||
|
|
||||||
|
## 2024-04-02 00:26:20
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.231.1 (2.295.1) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.12.1] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.12.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.12.1 - .
|
||||||
|
|
||||||
|
## 2024-04-13 00:23:00
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.252.0 (2.306.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.12.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.12.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.12.2 - .
|
||||||
|
|
||||||
|
## 2024-04-18 00:26:16
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.257.1 (2.308.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.12.3] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.12.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.12.3 - .
|
||||||
|
|
||||||
|
## 2024-04-19 00:26:47
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.260.6 (2.311.1) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.13.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.13.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.13.0 - .
|
||||||
|
|
||||||
|
## 2024-04-20 00:26:02
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.267.0 (2.312.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.13.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.13.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.13.0 - .
|
||||||
|
|
||||||
|
## 2024-04-22 16:14:48
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.267.2 (2.312.1) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.13.1] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.13.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.13.1 - .
|
||||||
|
|
||||||
|
## 2024-04-22 16:25:57
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.267.2 (2.312.1) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.13.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.13.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.13.2 - .
|
||||||
|
|
||||||
|
## 2024-04-23 00:26:56
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.269.1 (2.312.1) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.13.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.13.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.13.2 - .
|
||||||
|
|
||||||
|
## 2024-04-25 00:28:39
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.274.1 (2.314.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.0 - .
|
||||||
|
|
||||||
|
## 2024-04-26 00:27:03
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.274.1 (2.314.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.0 - .
|
||||||
|
|
||||||
|
## 2024-04-27 00:26:14
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.276.0 (2.314.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.0 - .
|
||||||
|
|
||||||
|
## 2024-04-28 00:29:48
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.276.0 (2.314.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.0 - .
|
||||||
|
|
||||||
|
## 2024-04-29 00:27:42
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.276.0 (2.314.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.0 - .
|
||||||
|
|
||||||
|
## 2024-04-30 00:26:07
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.277.0 (2.317.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.1] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.1 - .
|
||||||
|
|
||||||
|
## 2024-05-01 00:29:15
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.277.4 (2.318.3) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.1] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.1 - .
|
||||||
|
|
||||||
|
## 2024-05-02 00:26:42
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.277.4 (2.318.3) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.1] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.1 - .
|
||||||
|
|
||||||
|
## 2024-05-03 00:27:14
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.277.8 (2.319.10) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-04 00:26:20
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.279.0 (2.322.5) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-05 00:29:26
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.279.0 (2.322.5) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-06 00:28:07
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.279.0 (2.322.5) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-07 00:27:12
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.280.1 (2.322.5) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-08 00:22:14
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.283.1 (2.324.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.14.2] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.14.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.14.2 - .
|
||||||
|
|
||||||
|
## 2024-05-08 18:14:57
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.285.0 (2.326.3) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.15.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.15.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.15.0 - .
|
||||||
11
USAGE.md
11
USAGE.md
@@ -2,12 +2,13 @@
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result);
|
console.log(result);
|
||||||
|
|||||||
1300
codeSamples.yaml
Normal file
1300
codeSamples.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `tonight` | [operations.Tonight](../../models/operations/tonight.md) | :heavy_minus_sign: | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install |
|
| `tonight` | [operations.Tonight](../../models/operations/tonight.md) | :heavy_minus_sign: | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install | 1 |
|
||||||
| `skip` | [operations.Skip](../../models/operations/skip.md) | :heavy_minus_sign: | Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`. |
|
| `skip` | [operations.Skip](../../models/operations/skip.md) | :heavy_minus_sign: | Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`. | 1 |
|
||||||
@@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
|
||||||
| `activityUUID` | *string* | :heavy_check_mark: | The UUID of the activity to cancel. |
|
| `activityUUID` | *string* | :heavy_check_mark: | The UUID of the activity to cancel. | 25b71ed5-0f9d-461c-baa7-d404e9e10d3e |
|
||||||
@@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
||||||
| `download` | [operations.Download](../../models/operations/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. |
|
| `download` | [operations.Download](../../models/operations/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 |
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# GetLibraryItemsCountry
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
|
|
||||||
| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America |
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# GetLibraryItemsDirector
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
|
||||||
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# GetLibraryItemsGenre
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
|
||||||
| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure |
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# GetLibraryItemsMedia
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| `id` | *number* | :heavy_minus_sign: | N/A | 119534 |
|
|
||||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
|
|
||||||
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 25025 |
|
|
||||||
| `width` | *number* | :heavy_minus_sign: | N/A | 3840 |
|
|
||||||
| `height` | *number* | :heavy_minus_sign: | N/A | 2072 |
|
|
||||||
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.85 |
|
|
||||||
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 6 |
|
|
||||||
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 |
|
|
||||||
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc |
|
|
||||||
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 4k |
|
|
||||||
| `container` | *string* | :heavy_minus_sign: | N/A | mkv |
|
|
||||||
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p |
|
|
||||||
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 |
|
|
||||||
| `part` | [operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 119542,<br/>"key": "/library/parts/119542/1680457526/file.mkv",<br/>"duration": 11558112,<br/>"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",<br/>"size": 36158371307,<br/>"container": "mkv",<br/>"videoProfile": "main 10"<br/>}<br/>] |
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,64 +0,0 @@
|
|||||||
# GetLibraryItemsMetadata
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| `ratingKey` | *string* | :heavy_minus_sign: | N/A | 58683 |
|
|
||||||
| `key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683 |
|
|
||||||
| `guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d7768ba96b655001fdc0408 |
|
|
||||||
| `studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios |
|
|
||||||
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
|
|
||||||
| `title` | *string* | :heavy_minus_sign: | N/A | Avatar: The Way of Water |
|
|
||||||
| `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 |
|
|
||||||
| `summary` | *string* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. |
|
|
||||||
| `rating` | *number* | :heavy_minus_sign: | N/A | 7.6 |
|
|
||||||
| `audienceRating` | *number* | :heavy_minus_sign: | N/A | 9.2 |
|
|
||||||
| `year` | *number* | :heavy_minus_sign: | N/A | 2022 |
|
|
||||||
| `tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. |
|
|
||||||
| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
|
|
||||||
| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
|
|
||||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
|
|
||||||
| `originallyAvailableAt` | [RFCDate](../../types/rfcdate.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC |
|
|
||||||
| `addedAt` | *number* | :heavy_minus_sign: | N/A | 1680457607 |
|
|
||||||
| `updatedAt` | *number* | :heavy_minus_sign: | N/A | 1703239236 |
|
|
||||||
| `audienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
|
|
||||||
| `chapterSource` | *string* | :heavy_minus_sign: | N/A | media |
|
|
||||||
| `primaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 |
|
|
||||||
| `ratingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
|
|
||||||
| `grandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 |
|
|
||||||
| `grandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
|
|
||||||
| `grandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
|
|
||||||
| `grandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica |
|
|
||||||
| `grandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
|
|
||||||
| `grandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 |
|
|
||||||
| `grandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
|
|
||||||
| `media` | [operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 119534,<br/>"duration": 11558112,<br/>"bitrate": 25025,<br/>"width": 3840,<br/>"height": 2072,<br/>"aspectRatio": 1.85,<br/>"audioChannels": 6,<br/>"audioCodec": "eac3",<br/>"videoCodec": "hevc",<br/>"videoResolution": "4k",<br/>"container": "mkv",<br/>"videoFrameRate": "24p",<br/>"videoProfile": "main 10",<br/>"Part": [<br/>{<br/>"id": 119542,<br/>"key": "/library/parts/119542/1680457526/file.mkv",<br/>"duration": 11558112,<br/>"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",<br/>"size": 36158371307,<br/>"container": "mkv",<br/>"videoProfile": "main 10"<br/>}<br/>]<br/>}<br/>] |
|
|
||||||
| `genre` | [operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Adventure"<br/>}<br/>] |
|
|
||||||
| `country` | [operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "United States of America"<br/>}<br/>] |
|
|
||||||
| `director` | [operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "James Cameron"<br/>}<br/>] |
|
|
||||||
| `writer` | [operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "James Cameron"<br/>}<br/>] |
|
|
||||||
| `role` | [operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)[] | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Sigourney Weaver"<br/>}<br/>] |
|
|
||||||
| `titleSort` | *string* | :heavy_minus_sign: | N/A | Whale |
|
|
||||||
| `viewCount` | *number* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `lastViewedAt` | *number* | :heavy_minus_sign: | N/A | 1682752242 |
|
|
||||||
| `originalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 |
|
|
||||||
| `viewOffset` | *number* | :heavy_minus_sign: | N/A | 5222500 |
|
|
||||||
| `skipCount` | *number* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `index` | *number* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 |
|
|
||||||
| `leafCount` | *number* | :heavy_minus_sign: | N/A | 14 |
|
|
||||||
| `viewedLeafCount` | *number* | :heavy_minus_sign: | N/A | 0 |
|
|
||||||
| `childCount` | *number* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `hasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `hasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `parentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 |
|
|
||||||
| `parentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
|
|
||||||
| `parentStudio` | *string* | :heavy_minus_sign: | N/A | UCP |
|
|
||||||
| `parentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
|
|
||||||
| `parentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica |
|
|
||||||
| `parentIndex` | *number* | :heavy_minus_sign: | N/A | 1 |
|
|
||||||
| `parentYear` | *number* | :heavy_minus_sign: | N/A | 2010 |
|
|
||||||
| `parentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
|
|
||||||
| `parentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# GetLibraryItemsPart
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| `id` | *number* | :heavy_minus_sign: | N/A | 119542 |
|
|
||||||
| `key` | *string* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv |
|
|
||||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
|
|
||||||
| `file` | *string* | :heavy_minus_sign: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv |
|
|
||||||
| `size` | *number* | :heavy_minus_sign: | N/A | 36158371307 |
|
|
||||||
| `container` | *string* | :heavy_minus_sign: | N/A | mkv |
|
|
||||||
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 |
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# GetLibraryItemsRequest
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | the Id of the library to query |
|
|
||||||
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# GetLibraryItemsResponse
|
|
||||||
|
|
||||||
|
|
||||||
## 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.GetLibraryItemsResponseBody](../../models/operations/getlibraryitemsresponsebody.md) | :heavy_minus_sign: | The contents of the library by section and tag |
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# GetLibraryItemsResponseBody
|
|
||||||
|
|
||||||
The contents of the library by section and tag
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
|
||||||
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
||||||
| `mediaContainer` | [operations.GetLibraryItemsMediaContainer](../../models/operations/getlibraryitemsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# GetLibraryItemsRole
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
|
||||||
| `tag` | *string* | :heavy_minus_sign: | N/A | Sigourney Weaver |
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# GetLibraryItemsWriter
|
|
||||||
|
|
||||||
|
|
||||||
## Fields
|
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
|
||||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
|
||||||
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |
|
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `xPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
|
| `strong` | *boolean* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||||
| `strong` | *boolean* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |
|
| `xPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||||
@@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
| `timespan` | *number* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> |
|
| `timespan` | *number* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | 4 |
|
||||||
@@ -3,15 +3,15 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
||||||
| `ratingKey` | *number* | :heavy_check_mark: | The rating key of the media item |
|
| `ratingKey` | *number* | :heavy_check_mark: | The rating key of the media item | 23409 |
|
||||||
| `key` | *string* | :heavy_check_mark: | The key of the media item to get the timeline for |
|
| `key` | *string* | :heavy_check_mark: | The key of the media item to get the timeline for | /library/metadata/23409 |
|
||||||
| `state` | [operations.State](../../models/operations/state.md) | :heavy_check_mark: | The state of the media item |
|
| `state` | [operations.State](../../models/operations/state.md) | :heavy_check_mark: | The state of the media item | playing |
|
||||||
| `hasMDE` | *number* | :heavy_check_mark: | Whether the media item has MDE |
|
| `hasMDE` | *number* | :heavy_check_mark: | Whether the media item has MDE | 1 |
|
||||||
| `time` | *number* | :heavy_check_mark: | The time of the media item |
|
| `time` | *number* | :heavy_check_mark: | The time of the media item | 2000 |
|
||||||
| `duration` | *number* | :heavy_check_mark: | The duration of the media item |
|
| `duration` | *number* | :heavy_check_mark: | The duration of the media item | 10000 |
|
||||||
| `context` | *string* | :heavy_check_mark: | The context of the media item |
|
| `context` | *string* | :heavy_check_mark: | The context of the media item | home:hub.continueWatching |
|
||||||
| `playQueueItemID` | *number* | :heavy_check_mark: | The play queue item ID of the media item |
|
| `playQueueItemID` | *number* | :heavy_check_mark: | The play queue item ID of the media item | 1 |
|
||||||
| `playBackTime` | *number* | :heavy_check_mark: | The playback time of the media item |
|
| `playBackTime` | *number* | :heavy_check_mark: | The playback time of the media item | 2000 |
|
||||||
| `row` | *number* | :heavy_check_mark: | The row of the media item |
|
| `row` | *number* | :heavy_check_mark: | The row of the media item | 1 |
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
|
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | |
|
||||||
| `xPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
|
| `xPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||||
@@ -3,21 +3,21 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- |
|
| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- |
|
||||||
| `hasMDE` | *number* | :heavy_check_mark: | Whether the media item has MDE |
|
| `hasMDE` | *number* | :heavy_check_mark: | Whether the media item has MDE | 1 |
|
||||||
| `path` | *string* | :heavy_check_mark: | The path to the media item to transcode |
|
| `path` | *string* | :heavy_check_mark: | The path to the media item to transcode | /library/metadata/23409 |
|
||||||
| `mediaIndex` | *number* | :heavy_check_mark: | The index of the media item to transcode |
|
| `mediaIndex` | *number* | :heavy_check_mark: | The index of the media item to transcode | 0 |
|
||||||
| `partIndex` | *number* | :heavy_check_mark: | The index of the part to transcode |
|
| `partIndex` | *number* | :heavy_check_mark: | The index of the part to transcode | 0 |
|
||||||
| `protocol` | *string* | :heavy_check_mark: | The protocol to use for the transcode session |
|
| `protocol` | *string* | :heavy_check_mark: | The protocol to use for the transcode session | hls |
|
||||||
| `fastSeek` | *number* | :heavy_minus_sign: | Whether to use fast seek or not |
|
| `fastSeek` | *number* | :heavy_minus_sign: | Whether to use fast seek or not | 0 |
|
||||||
| `directPlay` | *number* | :heavy_minus_sign: | Whether to use direct play or not |
|
| `directPlay` | *number* | :heavy_minus_sign: | Whether to use direct play or not | 0 |
|
||||||
| `directStream` | *number* | :heavy_minus_sign: | Whether to use direct stream or not |
|
| `directStream` | *number* | :heavy_minus_sign: | Whether to use direct stream or not | 0 |
|
||||||
| `subtitleSize` | *number* | :heavy_minus_sign: | The size of the subtitles |
|
| `subtitleSize` | *number* | :heavy_minus_sign: | The size of the subtitles | 100 |
|
||||||
| `subtites` | *string* | :heavy_minus_sign: | The subtitles |
|
| `subtites` | *string* | :heavy_minus_sign: | The subtitles | burn |
|
||||||
| `audioBoost` | *number* | :heavy_minus_sign: | The audio boost |
|
| `audioBoost` | *number* | :heavy_minus_sign: | The audio boost | 100 |
|
||||||
| `location` | *string* | :heavy_minus_sign: | The location of the transcode session |
|
| `location` | *string* | :heavy_minus_sign: | The location of the transcode session | lan |
|
||||||
| `mediaBufferSize` | *number* | :heavy_minus_sign: | The size of the media buffer |
|
| `mediaBufferSize` | *number* | :heavy_minus_sign: | The size of the media buffer | 102400 |
|
||||||
| `session` | *string* | :heavy_minus_sign: | The session ID |
|
| `session` | *string* | :heavy_minus_sign: | The session ID | zvcage8b7rkioqcm8f4uns4c |
|
||||||
| `addDebugOverlay` | *number* | :heavy_minus_sign: | Whether to add a debug overlay or not |
|
| `addDebugOverlay` | *number* | :heavy_minus_sign: | Whether to add a debug overlay or not | 0 |
|
||||||
| `autoAdjustQuality` | *number* | :heavy_minus_sign: | Whether to auto adjust quality or not |
|
| `autoAdjustQuality` | *number* | :heavy_minus_sign: | Whether to auto adjust quality or not | 0 |
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# Tag
|
|
||||||
|
|
||||||
A key representing a specific tag within the section.
|
|
||||||
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Name | Value |
|
|
||||||
| ---------------- | ---------------- |
|
|
||||||
| `All` | all |
|
|
||||||
| `Unwatched` | unwatched |
|
|
||||||
| `Newest` | newest |
|
|
||||||
| `RecentlyAdded` | recentlyAdded |
|
|
||||||
| `RecentlyViewed` | recentlyViewed |
|
|
||||||
| `OnDeck` | onDeck |
|
|
||||||
| `Collection` | collection |
|
|
||||||
| `Edition` | edition |
|
|
||||||
| `Genre` | genre |
|
|
||||||
| `Year` | year |
|
|
||||||
| `Decade` | decade |
|
|
||||||
| `Director` | director |
|
|
||||||
| `Actor` | actor |
|
|
||||||
| `Country` | country |
|
|
||||||
| `ContentRating` | contentRating |
|
|
||||||
| `Rating` | rating |
|
|
||||||
| `Resolution` | resolution |
|
|
||||||
| `FirstCharacter` | firstCharacter |
|
|
||||||
| `Folder` | folder |
|
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
||||||
| `key` | *string* | :heavy_check_mark: | the media key |
|
| `key` | *string* | :heavy_check_mark: | the media key | |
|
||||||
| `time` | *number* | :heavy_check_mark: | The time, in milliseconds, used to set the media playback progress. |
|
| `time` | *number* | :heavy_check_mark: | The time, in milliseconds, used to set the media playback progress. | 90000 |
|
||||||
| `state` | *string* | :heavy_check_mark: | The playback state of the media item. |
|
| `state` | *string* | :heavy_check_mark: | The playback state of the media item. | played |
|
||||||
@@ -26,12 +26,13 @@ Get Server Activities
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.activities.getServerActivities();
|
async function run() {
|
||||||
|
const result = await plexAPI.activities.getServerActivities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -67,14 +68,13 @@ Cancel Server Activities
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const activityUUID = "<value>";
|
async function run() {
|
||||||
|
const result = await plexAPI.activities.cancelServerActivities("25b71ed5-0f9d-461c-baa7-d404e9e10d3e");
|
||||||
const result = await sdk.activities.cancelServerActivities(activityUUID);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -85,11 +85,11 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `activityUUID` | *string* | :heavy_check_mark: | The UUID of the activity to cancel. |
|
| `activityUUID` | *string* | :heavy_check_mark: | The UUID of the activity to cancel. | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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. | |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -22,15 +22,13 @@ This endpoint provides the caller with a temporary token with the same access le
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { GetTransientTokenQueryParamType, Scope } from "@lukehagar/plexjs/models/operations";
|
import { GetTransientTokenQueryParamType, Scope } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const type = GetTransientTokenQueryParamType.Delegation;
|
async function run() {
|
||||||
const scope = Scope.All;
|
const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All);
|
||||||
|
|
||||||
const result = await sdk.authentication.getTransientToken(type, scope);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -70,14 +68,13 @@ Note: requires Plex Media Server >= 1.15.4.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const source = "server://client-identifier";
|
async function run() {
|
||||||
|
const result = await plexAPI.authentication.getSourceConnectionInformation("server://client-identifier");
|
||||||
const result = await sdk.authentication.getSourceConnectionInformation(source);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -23,12 +23,13 @@ Returns a list of butler tasks
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.butler.getButlerTasks();
|
async function run() {
|
||||||
|
const result = await plexAPI.butler.getButlerTasks();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -69,12 +70,13 @@ This endpoint will attempt to start all Butler tasks that are enabled in the set
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.butler.startAllTasks();
|
async function run() {
|
||||||
|
const result = await plexAPI.butler.startAllTasks();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -111,12 +113,13 @@ This endpoint will stop all currently running tasks and remove any scheduled tas
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.butler.stopAllTasks();
|
async function run() {
|
||||||
|
const result = await plexAPI.butler.stopAllTasks();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -158,14 +161,13 @@ This endpoint will attempt to start a single Butler task that is enabled in the
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { TaskName } from "@lukehagar/plexjs/models/operations";
|
import { TaskName } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const taskName = TaskName.CleanOldBundles;
|
async function run() {
|
||||||
|
const result = await plexAPI.butler.startTask(TaskName.CleanOldBundles);
|
||||||
const result = await sdk.butler.startTask(taskName);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -204,14 +206,13 @@ This endpoint will stop a currently running task by name, or remove it from the
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { PathParamTaskName } from "@lukehagar/plexjs/models/operations";
|
import { PathParamTaskName } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const taskName = PathParamTaskName.BackupDatabase;
|
async function run() {
|
||||||
|
const result = await plexAPI.butler.stopTask(PathParamTaskName.BackupDatabase);
|
||||||
const result = await sdk.butler.stopTask(taskName);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -21,15 +21,13 @@ Get Global Hubs filtered by the parameters provided.
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { OnlyTransient } from "@lukehagar/plexjs/models/operations";
|
import { OnlyTransient } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const count = 1262.49;
|
async function run() {
|
||||||
const onlyTransient = OnlyTransient.One;
|
const result = await plexAPI.hubs.getGlobalHubs(1262.49, OnlyTransient.One);
|
||||||
|
|
||||||
const result = await sdk.hubs.getGlobalHubs(count, onlyTransient);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -69,16 +67,13 @@ This endpoint will return a list of library specific hubs
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { QueryParamOnlyTransient } from "@lukehagar/plexjs/models/operations";
|
import { QueryParamOnlyTransient } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sectionId = 6728.76;
|
async function run() {
|
||||||
const count = 9010.22;
|
const result = await plexAPI.hubs.getLibraryHubs(6728.76, 9010.22, QueryParamOnlyTransient.Zero);
|
||||||
const onlyTransient = QueryParamOnlyTransient.Zero;
|
|
||||||
|
|
||||||
const result = await sdk.hubs.getLibraryHubs(sectionId, count, onlyTransient);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ API Calls interacting with Plex Media Server Libraries
|
|||||||
* [getLibraries](#getlibraries) - Get All Libraries
|
* [getLibraries](#getlibraries) - Get All Libraries
|
||||||
* [getLibrary](#getlibrary) - Get Library Details
|
* [getLibrary](#getlibrary) - Get Library Details
|
||||||
* [deleteLibrary](#deletelibrary) - Delete Library Section
|
* [deleteLibrary](#deletelibrary) - Delete Library Section
|
||||||
* [getLibraryItems](#getlibraryitems) - Get Library Items
|
|
||||||
* [refreshLibrary](#refreshlibrary) - Refresh Library
|
* [refreshLibrary](#refreshlibrary) - Refresh Library
|
||||||
* [searchLibrary](#searchlibrary) - Search Library
|
* [searchLibrary](#searchlibrary) - Search Library
|
||||||
* [getMetadata](#getmetadata) - Get Items Metadata
|
* [getMetadata](#getmetadata) - Get Items Metadata
|
||||||
@@ -29,15 +28,13 @@ This resource returns hash values for local files
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const url = "file://C:\Image.png&type=13";
|
async function run() {
|
||||||
const type = 4462.17;
|
const result = await plexAPI.library.getFileHash("file://C:\Image.png&type=13", 4462.17);
|
||||||
|
|
||||||
const result = await sdk.library.getFileHash(url, type);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -76,12 +73,13 @@ This endpoint will return the recently added content.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.library.getRecentlyAdded();
|
async function run() {
|
||||||
|
const result = await plexAPI.library.getRecentlyAdded();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -123,12 +121,13 @@ This allows a client to provide a rich interface around the media (e.g. allow so
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.library.getLibraries();
|
async function run() {
|
||||||
|
const result = await plexAPI.library.getLibraries();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -204,15 +203,13 @@ Each type in the library comes with a set of filters and sorts, aiding in buildi
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { IncludeDetails } from "@lukehagar/plexjs/models/operations";
|
import { IncludeDetails } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sectionId = 1000;
|
async function run() {
|
||||||
const includeDetails = IncludeDetails.Zero;
|
const result = await plexAPI.library.getLibrary(1000, IncludeDetails.Zero);
|
||||||
|
|
||||||
const result = await sdk.library.getLibrary(sectionId, includeDetails);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -250,14 +247,13 @@ Delate a library using a specific section
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sectionId = 1000;
|
async function run() {
|
||||||
|
const result = await plexAPI.library.deleteLibrary(1000);
|
||||||
const result = await sdk.library.deleteLibrary(sectionId);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -285,72 +281,6 @@ run();
|
|||||||
| errors.DeleteLibraryResponseBody | 401 | application/json |
|
| errors.DeleteLibraryResponseBody | 401 | application/json |
|
||||||
| errors.SDKError | 4xx-5xx | */* |
|
| errors.SDKError | 4xx-5xx | */* |
|
||||||
|
|
||||||
## getLibraryItems
|
|
||||||
|
|
||||||
Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values:
|
|
||||||
- `all`: All items in the section.
|
|
||||||
- `unwatched`: Items that have not been played.
|
|
||||||
- `newest`: Items that are recently released.
|
|
||||||
- `recentlyAdded`: Items that are recently added to the library.
|
|
||||||
- `recentlyViewed`: Items that were recently viewed.
|
|
||||||
- `onDeck`: Items to continue watching.
|
|
||||||
- `collection`: Items categorized by collection.
|
|
||||||
- `edition`: Items categorized by edition.
|
|
||||||
- `genre`: Items categorized by genre.
|
|
||||||
- `year`: Items categorized by year of release.
|
|
||||||
- `decade`: Items categorized by decade.
|
|
||||||
- `director`: Items categorized by director.
|
|
||||||
- `actor`: Items categorized by starring actor.
|
|
||||||
- `country`: Items categorized by country of origin.
|
|
||||||
- `contentRating`: Items categorized by content rating.
|
|
||||||
- `rating`: Items categorized by rating.
|
|
||||||
- `resolution`: Items categorized by resolution.
|
|
||||||
- `firstCharacter`: Items categorized by the first letter.
|
|
||||||
- `folder`: Items categorized by folder.
|
|
||||||
|
|
||||||
|
|
||||||
### Example Usage
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
|
||||||
import { Tag } from "@lukehagar/plexjs/models/operations";
|
|
||||||
|
|
||||||
async function run() {
|
|
||||||
const sdk = new PlexAPI({
|
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
|
||||||
});
|
|
||||||
|
|
||||||
const sectionId = 451092;
|
|
||||||
const tag = Tag.Unwatched;
|
|
||||||
|
|
||||||
const result = await sdk.library.getLibraryItems(sectionId, tag);
|
|
||||||
|
|
||||||
// Handle the result
|
|
||||||
console.log(result)
|
|
||||||
}
|
|
||||||
|
|
||||||
run();
|
|
||||||
```
|
|
||||||
|
|
||||||
### Parameters
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | the Id of the library to query |
|
|
||||||
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |
|
|
||||||
| `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. |
|
|
||||||
|
|
||||||
|
|
||||||
### Response
|
|
||||||
|
|
||||||
**Promise<[operations.GetLibraryItemsResponse](../../models/operations/getlibraryitemsresponse.md)>**
|
|
||||||
### Errors
|
|
||||||
|
|
||||||
| Error Object | Status Code | Content Type |
|
|
||||||
| --------------- | --------------- | --------------- |
|
|
||||||
| errors.SDKError | 4xx-5xx | */* |
|
|
||||||
|
|
||||||
## refreshLibrary
|
## refreshLibrary
|
||||||
|
|
||||||
This endpoint Refreshes the library.
|
This endpoint Refreshes the library.
|
||||||
@@ -361,14 +291,13 @@ This endpoint Refreshes the library.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sectionId = 934.16;
|
async function run() {
|
||||||
|
const result = await plexAPI.library.refreshLibrary(934.16);
|
||||||
const result = await sdk.library.refreshLibrary(sectionId);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -424,15 +353,13 @@ Each type in the library comes with a set of filters and sorts, aiding in buildi
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { Type } from "@lukehagar/plexjs/models/operations";
|
import { Type } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sectionId = 933505;
|
async function run() {
|
||||||
const type = Type.Four;
|
const result = await plexAPI.library.searchLibrary(933505, Type.Four);
|
||||||
|
|
||||||
const result = await sdk.library.searchLibrary(sectionId, type);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -470,14 +397,13 @@ This endpoint will return the metadata of a library item specified with the rati
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const ratingKey = 8382.31;
|
async function run() {
|
||||||
|
const result = await plexAPI.library.getMetadata(8382.31);
|
||||||
const result = await sdk.library.getMetadata(ratingKey);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -515,14 +441,13 @@ This endpoint will return the children of of a library item specified with the r
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const ratingKey = 1539.14;
|
async function run() {
|
||||||
|
const result = await plexAPI.library.getMetadataChildren(1539.14);
|
||||||
const result = await sdk.library.getMetadataChildren(ratingKey);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -560,12 +485,13 @@ This endpoint will return the on deck content.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.library.getOnDeck();
|
async function run() {
|
||||||
|
const result = await plexAPI.library.getOnDeck();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -23,16 +23,13 @@ This endpoint will write a single-line log message, including a level and source
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { Level } from "@lukehagar/plexjs/models/operations";
|
import { Level } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const level = Level.Three;
|
async function run() {
|
||||||
const message = "Test log message";
|
const result = await plexAPI.log.logLine(Level.Three, "Test log message", "Postman");
|
||||||
const source = "Postman";
|
|
||||||
|
|
||||||
const result = await sdk.log.logLine(level, message, source);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -92,12 +89,13 @@ Ensure each parameter is properly URL-encoded to avoid interpretation issues.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.log.logMultiLine("level=4&message=Test%20message%201&source=postman
|
async function run() {
|
||||||
|
const result = await plexAPI.log.logMultiLine("level=4&message=Test%20message%201&source=postman
|
||||||
level=3&message=Test%20message%202&source=postman
|
level=3&message=Test%20message%202&source=postman
|
||||||
level=1&message=Test%20message%203&source=postman");
|
level=1&message=Test%20message%203&source=postman");
|
||||||
|
|
||||||
@@ -137,12 +135,13 @@ This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.log.enablePaperTrail();
|
async function run() {
|
||||||
|
const result = await plexAPI.log.enablePaperTrail();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -21,14 +21,13 @@ This will mark the provided media key as Played.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const key = 59398;
|
async function run() {
|
||||||
|
const result = await plexAPI.media.markPlayed(59398);
|
||||||
const result = await sdk.media.markPlayed(key);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -65,14 +64,13 @@ This will mark the provided media key as Unplayed.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const key = 59398;
|
async function run() {
|
||||||
|
const result = await plexAPI.media.markUnplayed(59398);
|
||||||
const result = await sdk.media.markUnplayed(key);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -110,16 +108,13 @@ This API command can be used to update the play progress of a media item.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const key = "<value>";
|
async function run() {
|
||||||
const time = 6900.91;
|
const result = await plexAPI.media.updatePlayProgress("<value>", 90000, "played");
|
||||||
const state = "<value>";
|
|
||||||
|
|
||||||
const result = await sdk.media.updatePlayProgress(key, time, state);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -130,13 +125,13 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `key` | *string* | :heavy_check_mark: | the media key |
|
| `key` | *string* | :heavy_check_mark: | the media key | |
|
||||||
| `time` | *number* | :heavy_check_mark: | The time, in milliseconds, used to set the media playback progress. |
|
| `time` | *number* | :heavy_check_mark: | The time, in milliseconds, used to set the media playback progress. | [object Object] |
|
||||||
| `state` | *string* | :heavy_check_mark: | The playback state of the media item. |
|
| `state` | *string* | :heavy_check_mark: | The playback state of the media item. | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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. | |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -34,12 +34,13 @@ Create a new playlist. By default the playlist is blank. To create a playlist al
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { QueryParamType, Smart } from "@lukehagar/plexjs/models/operations";
|
import { QueryParamType, Smart } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.playlists.createPlaylist({
|
async function run() {
|
||||||
|
const result = await plexAPI.playlists.createPlaylist({
|
||||||
title: "<value>",
|
title: "<value>",
|
||||||
type: QueryParamType.Photo,
|
type: QueryParamType.Photo,
|
||||||
smart: Smart.One,
|
smart: Smart.One,
|
||||||
@@ -82,15 +83,13 @@ Get All Playlists given the specified filters.
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { PlaylistType, QueryParamSmart } from "@lukehagar/plexjs/models/operations";
|
import { PlaylistType, QueryParamSmart } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistType = PlaylistType.Audio;
|
async function run() {
|
||||||
const smart = QueryParamSmart.Zero;
|
const result = await plexAPI.playlists.getPlaylists(PlaylistType.Audio, QueryParamSmart.Zero);
|
||||||
|
|
||||||
const result = await sdk.playlists.getPlaylists(playlistType, smart);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -130,14 +129,13 @@ Smart playlist details contain the `content` attribute. This is the content URI
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 4109.48;
|
async function run() {
|
||||||
|
const result = await plexAPI.playlists.getPlaylist(4109.48);
|
||||||
const result = await sdk.playlists.getPlaylist(playlistID);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -175,14 +173,13 @@ This endpoint will delete a playlist
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 216.22;
|
async function run() {
|
||||||
|
const result = await plexAPI.playlists.deletePlaylist(216.22);
|
||||||
const result = await sdk.playlists.deletePlaylist(playlistID);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -220,16 +217,13 @@ From PMS version 1.9.1 clients can also edit playlist metadata using this endpoi
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 3915;
|
async function run() {
|
||||||
const title = "<value>";
|
const result = await plexAPI.playlists.updatePlaylist(3915, "<value>", "<value>");
|
||||||
const summary = "<value>";
|
|
||||||
|
|
||||||
const result = await sdk.playlists.updatePlaylist(playlistID, title, summary);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -272,15 +266,13 @@ Note that for dumb playlists, items have a `playlistItemID` attribute which is u
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 5004.46;
|
async function run() {
|
||||||
const type = 9403.59;
|
const result = await plexAPI.playlists.getPlaylistContents(5004.46, 9403.59);
|
||||||
|
|
||||||
const result = await sdk.playlists.getPlaylistContents(playlistID, type);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -319,14 +311,13 @@ Clears a playlist, only works with dumb playlists. Returns the playlist.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 1893.18;
|
async function run() {
|
||||||
|
const result = await plexAPI.playlists.clearPlaylistContents(1893.18);
|
||||||
const result = await sdk.playlists.clearPlaylistContents(playlistID);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -365,16 +356,13 @@ With a smart playlist, passing a new `uri` parameter replaces the rules for the
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const playlistID = 8502.01;
|
async function run() {
|
||||||
const uri = "server://12345/com.plexapp.plugins.library/library/metadata/1";
|
const result = await plexAPI.playlists.addPlaylistContents(8502.01, "server://12345/com.plexapp.plugins.library/library/metadata/1", 123);
|
||||||
const playQueueID = 123;
|
|
||||||
|
|
||||||
const result = await sdk.playlists.addPlaylistContents(playlistID, uri, playQueueID);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -415,15 +403,13 @@ Imports m3u playlists by passing a path on the server to scan for m3u-formatted
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { Force } from "@lukehagar/plexjs/models/operations";
|
import { Force } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const path = "/home/barkley/playlist.m3u";
|
async function run() {
|
||||||
const force = Force.Zero;
|
const result = await plexAPI.playlists.uploadPlaylist("/home/barkley/playlist.m3u", Force.Zero);
|
||||||
|
|
||||||
const result = await sdk.playlists.uploadPlaylist(path, force);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -20,13 +20,12 @@ Retrieve a Pin from Plex.tv for authentication flows
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI();
|
xPlexClientIdentifier: "Postman",
|
||||||
|
});
|
||||||
|
|
||||||
const xPlexClientIdentifier = "<value>";
|
async function run() {
|
||||||
const strong = false;
|
const result = await plexAPI.plex.getPin(false, "Postman");
|
||||||
|
|
||||||
const result = await sdk.plex.getPin(xPlexClientIdentifier, strong);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -37,13 +36,13 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `xPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
|
| `strong` | *boolean* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||||
| `strong` | *boolean* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |
|
| `xPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
|
| `options.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
@@ -65,13 +64,12 @@ Retrieve an Access Token from Plex.tv after the Pin has already been authenticat
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI();
|
xPlexClientIdentifier: "Postman",
|
||||||
|
});
|
||||||
|
|
||||||
const pinID = "<value>";
|
async function run() {
|
||||||
const xPlexClientIdentifier = "<value>";
|
const result = await plexAPI.plex.getToken("<value>", "Postman");
|
||||||
|
|
||||||
const result = await sdk.plex.getToken(pinID, xPlexClientIdentifier);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -82,13 +80,13 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
|
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | |
|
||||||
| `xPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
|
| `xPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
|
| `options.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -33,16 +33,13 @@ This request is intended to be very fast, and called as the user types.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const query = "dylan";
|
async function run() {
|
||||||
const sectionId = 1516.53;
|
const result = await plexAPI.search.performSearch("dylan", 1516.53, 5);
|
||||||
const limit = 5;
|
|
||||||
|
|
||||||
const result = await sdk.search.performSearch(query, sectionId, limit);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -85,16 +82,13 @@ Results, as well as their containing per-type hubs, contain a `distance` attribu
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const query = "dead+poop";
|
async function run() {
|
||||||
const sectionId = 4094.8;
|
const result = await plexAPI.search.performVoiceSearch("dead+poop", 4094.8, 5);
|
||||||
const limit = 5;
|
|
||||||
|
|
||||||
const result = await sdk.search.performVoiceSearch(query, sectionId, limit);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -133,14 +127,13 @@ This will search the database for the string provided.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const query = "110";
|
async function run() {
|
||||||
|
const result = await plexAPI.search.getSearchResults("110");
|
||||||
const result = await sdk.search.getSearchResults(query);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -26,12 +26,13 @@ Server Capabilities
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerCapabilities();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerCapabilities();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -67,12 +68,13 @@ Get Server Preferences
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerPreferences();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerPreferences();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -108,12 +110,13 @@ Get Available Clients
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getAvailableClients();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getAvailableClients();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -149,12 +152,13 @@ Get Devices
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getDevices();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getDevices();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -190,12 +194,13 @@ Get Server Identity
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerIdentity();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerIdentity();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -231,12 +236,13 @@ Returns MyPlex Account Information
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getMyPlexAccount();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getMyPlexAccount();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -274,12 +280,13 @@ Plex's Photo transcoder is used throughout the service to serve images at specif
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { MinSize, Upscale } from "@lukehagar/plexjs/models/operations";
|
import { MinSize, Upscale } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getResizedPhoto({
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getResizedPhoto({
|
||||||
width: 110,
|
width: 110,
|
||||||
height: 165,
|
height: 165,
|
||||||
opacity: 100,
|
opacity: 100,
|
||||||
@@ -324,12 +331,13 @@ Get Server List
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.server.getServerList();
|
async function run() {
|
||||||
|
const result = await plexAPI.server.getServerList();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -22,12 +22,13 @@ This will retrieve the "Now Playing" Information of the PMS.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.sessions.getSessions();
|
async function run() {
|
||||||
|
const result = await plexAPI.sessions.getSessions();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -63,12 +64,13 @@ This will Retrieve a listing of all history views.
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.sessions.getSessionHistory();
|
async function run() {
|
||||||
|
const result = await plexAPI.sessions.getSessionHistory();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -104,12 +106,13 @@ Get Transcode Sessions
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.sessions.getTranscodeSessions();
|
async function run() {
|
||||||
|
const result = await plexAPI.sessions.getTranscodeSessions();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -145,14 +148,13 @@ Stop a Transcode Session
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const sessionKey = "zz7llzqlx8w9vnrsbnwhbmep";
|
async function run() {
|
||||||
|
const result = await plexAPI.sessions.stopTranscodeSession("zz7llzqlx8w9vnrsbnwhbmep");
|
||||||
const result = await sdk.sessions.stopTranscodeSession(sessionKey);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
|
|||||||
@@ -19,14 +19,13 @@ This will return the media statistics for the server
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const timespan = 411769;
|
async function run() {
|
||||||
|
const result = await plexAPI.statistics.getStatistics(4);
|
||||||
const result = await sdk.statistics.getStatistics(timespan);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -37,11 +36,11 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `timespan` | *number* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> |
|
| `timespan` | *number* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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. | |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -22,12 +22,13 @@ Querying status of updates
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.updater.getUpdateStatus();
|
async function run() {
|
||||||
|
const result = await plexAPI.updater.getUpdateStatus();
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -64,14 +65,13 @@ Checking for updates
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { Download } from "@lukehagar/plexjs/models/operations";
|
import { Download } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const download = Download.One;
|
async function run() {
|
||||||
|
const result = await plexAPI.updater.checkForUpdates(Download.One);
|
||||||
const result = await sdk.updater.checkForUpdates(download);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -82,11 +82,11 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `download` | [operations.Download](../../models/operations/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. |
|
| `download` | [operations.Download](../../models/operations/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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. | |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
@@ -110,15 +110,13 @@ Note that these two parameters are effectively mutually exclusive. The `tonight`
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { Skip, Tonight } from "@lukehagar/plexjs/models/operations";
|
import { Skip, Tonight } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const tonight = Tonight.One;
|
async function run() {
|
||||||
const skip = Skip.Zero;
|
const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One);
|
||||||
|
|
||||||
const result = await sdk.updater.applyUpdates(tonight, skip);
|
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
console.log(result)
|
console.log(result)
|
||||||
@@ -129,12 +127,12 @@ run();
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `tonight` | [operations.Tonight](../../models/operations/tonight.md) | :heavy_minus_sign: | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install |
|
| `tonight` | [operations.Tonight](../../models/operations/tonight.md) | :heavy_minus_sign: | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install | [object Object] |
|
||||||
| `skip` | [operations.Skip](../../models/operations/skip.md) | :heavy_minus_sign: | Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`. |
|
| `skip` | [operations.Skip](../../models/operations/skip.md) | :heavy_minus_sign: | Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`. | [object Object] |
|
||||||
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
| `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.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. | |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -21,22 +21,23 @@ Get the timeline for a media item
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { State } from "@lukehagar/plexjs/models/operations";
|
import { State } from "@lukehagar/plexjs/models/operations";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.video.getTimeline({
|
async function run() {
|
||||||
ratingKey: 716.56,
|
const result = await plexAPI.video.getTimeline({
|
||||||
key: "<key>",
|
ratingKey: 23409,
|
||||||
state: State.Paused,
|
key: "/library/metadata/23409",
|
||||||
hasMDE: 7574.33,
|
state: State.Playing,
|
||||||
time: 3327.51,
|
hasMDE: 1,
|
||||||
duration: 7585.39,
|
time: 2000,
|
||||||
context: "<value>",
|
duration: 10000,
|
||||||
playQueueItemID: 1406.21,
|
context: "home:hub.continueWatching",
|
||||||
playBackTime: 2699.34,
|
playQueueItemID: 1,
|
||||||
row: 3536.42,
|
playBackTime: 2000,
|
||||||
|
row: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
@@ -74,17 +75,29 @@ Begin a Universal Transcode Session
|
|||||||
```typescript
|
```typescript
|
||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
|
||||||
async function run() {
|
const plexAPI = new PlexAPI({
|
||||||
const sdk = new PlexAPI({
|
accessToken: "<YOUR_API_KEY_HERE>",
|
||||||
accessToken: "<YOUR_API_KEY_HERE>",
|
xPlexClientIdentifier: "Postman",
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await sdk.video.startUniversalTranscode({
|
async function run() {
|
||||||
hasMDE: 8924.99,
|
const result = await plexAPI.video.startUniversalTranscode({
|
||||||
path: "/etc/mail",
|
hasMDE: 1,
|
||||||
mediaIndex: 9962.95,
|
path: "/library/metadata/23409",
|
||||||
partIndex: 1232.82,
|
mediaIndex: 0,
|
||||||
protocol: "<value>",
|
partIndex: 0,
|
||||||
|
protocol: "hls",
|
||||||
|
fastSeek: 0,
|
||||||
|
directPlay: 0,
|
||||||
|
directStream: 0,
|
||||||
|
subtitleSize: 100,
|
||||||
|
subtites: "burn",
|
||||||
|
audioBoost: 100,
|
||||||
|
location: "lan",
|
||||||
|
mediaBufferSize: 102400,
|
||||||
|
session: "zvcage8b7rkioqcm8f4uns4c",
|
||||||
|
addDebugOverlay: 0,
|
||||||
|
autoAdjustQuality: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Handle the result
|
// Handle the result
|
||||||
|
|||||||
457
files.gen
457
files.gen
@@ -1,457 +0,0 @@
|
|||||||
src/sdk/server.ts
|
|
||||||
src/sdk/media.ts
|
|
||||||
src/sdk/activities.ts
|
|
||||||
src/sdk/butler.ts
|
|
||||||
src/sdk/hubs.ts
|
|
||||||
src/sdk/search.ts
|
|
||||||
src/sdk/library.ts
|
|
||||||
src/sdk/log.ts
|
|
||||||
src/sdk/playlists.ts
|
|
||||||
src/sdk/security.ts
|
|
||||||
src/sdk/sessions.ts
|
|
||||||
src/sdk/updater.ts
|
|
||||||
src/sdk/video.ts
|
|
||||||
src/sdk/sdk.ts
|
|
||||||
.eslintrc.js
|
|
||||||
.npmignore
|
|
||||||
package-lock.json
|
|
||||||
package.json
|
|
||||||
src/index.ts
|
|
||||||
src/lib/base64.ts
|
|
||||||
src/lib/config.ts
|
|
||||||
src/lib/encodings.ts
|
|
||||||
src/lib/http.ts
|
|
||||||
src/lib/retries.ts
|
|
||||||
src/lib/sdks.ts
|
|
||||||
src/lib/security.ts
|
|
||||||
src/lib/url.ts
|
|
||||||
src/sdk/index.ts
|
|
||||||
src/models/errors/sdkerror.ts
|
|
||||||
src/types/blobs.ts
|
|
||||||
src/types/decimal.ts
|
|
||||||
src/types/index.ts
|
|
||||||
src/types/operations.ts
|
|
||||||
src/types/rfcdate.ts
|
|
||||||
tsconfig.json
|
|
||||||
src/models/operations/getservercapabilities.ts
|
|
||||||
src/models/operations/getserverpreferences.ts
|
|
||||||
src/models/operations/getavailableclients.ts
|
|
||||||
src/models/operations/getdevices.ts
|
|
||||||
src/models/operations/getserveridentity.ts
|
|
||||||
src/models/operations/getmyplexaccount.ts
|
|
||||||
src/models/operations/getresizedphoto.ts
|
|
||||||
src/models/operations/getserverlist.ts
|
|
||||||
src/models/operations/markplayed.ts
|
|
||||||
src/models/operations/markunplayed.ts
|
|
||||||
src/models/operations/updateplayprogress.ts
|
|
||||||
src/models/operations/getserveractivities.ts
|
|
||||||
src/models/operations/cancelserveractivities.ts
|
|
||||||
src/models/operations/getbutlertasks.ts
|
|
||||||
src/models/operations/startalltasks.ts
|
|
||||||
src/models/operations/stopalltasks.ts
|
|
||||||
src/models/operations/starttask.ts
|
|
||||||
src/models/operations/stoptask.ts
|
|
||||||
src/models/operations/getglobalhubs.ts
|
|
||||||
src/models/operations/getlibraryhubs.ts
|
|
||||||
src/models/operations/performsearch.ts
|
|
||||||
src/models/operations/performvoicesearch.ts
|
|
||||||
src/models/operations/getsearchresults.ts
|
|
||||||
src/models/operations/getfilehash.ts
|
|
||||||
src/models/operations/getrecentlyadded.ts
|
|
||||||
src/models/operations/getlibraries.ts
|
|
||||||
src/models/operations/getlibrary.ts
|
|
||||||
src/models/operations/deletelibrary.ts
|
|
||||||
src/models/operations/getlibraryitems.ts
|
|
||||||
src/models/operations/refreshlibrary.ts
|
|
||||||
src/models/operations/getlatestlibraryitems.ts
|
|
||||||
src/models/operations/getcommonlibraryitems.ts
|
|
||||||
src/models/operations/getmetadata.ts
|
|
||||||
src/models/operations/getmetadatachildren.ts
|
|
||||||
src/models/operations/getondeck.ts
|
|
||||||
src/models/operations/logline.ts
|
|
||||||
src/models/operations/logmultiline.ts
|
|
||||||
src/models/operations/enablepapertrail.ts
|
|
||||||
src/models/operations/createplaylist.ts
|
|
||||||
src/models/operations/getplaylists.ts
|
|
||||||
src/models/operations/getplaylist.ts
|
|
||||||
src/models/operations/deleteplaylist.ts
|
|
||||||
src/models/operations/updateplaylist.ts
|
|
||||||
src/models/operations/getplaylistcontents.ts
|
|
||||||
src/models/operations/clearplaylistcontents.ts
|
|
||||||
src/models/operations/addplaylistcontents.ts
|
|
||||||
src/models/operations/uploadplaylist.ts
|
|
||||||
src/models/operations/gettransienttoken.ts
|
|
||||||
src/models/operations/getsourceconnectioninformation.ts
|
|
||||||
src/models/operations/getsessions.ts
|
|
||||||
src/models/operations/getsessionhistory.ts
|
|
||||||
src/models/operations/gettranscodesessions.ts
|
|
||||||
src/models/operations/stoptranscodesession.ts
|
|
||||||
src/models/operations/getupdatestatus.ts
|
|
||||||
src/models/operations/checkforupdates.ts
|
|
||||||
src/models/operations/applyupdates.ts
|
|
||||||
src/models/operations/startuniversaltranscode.ts
|
|
||||||
src/models/operations/gettimeline.ts
|
|
||||||
src/models/errors/getservercapabilities.ts
|
|
||||||
src/models/errors/getserverpreferences.ts
|
|
||||||
src/models/errors/getavailableclients.ts
|
|
||||||
src/models/errors/getdevices.ts
|
|
||||||
src/models/errors/getserveridentity.ts
|
|
||||||
src/models/errors/getmyplexaccount.ts
|
|
||||||
src/models/errors/getresizedphoto.ts
|
|
||||||
src/models/errors/getserverlist.ts
|
|
||||||
src/models/errors/markplayed.ts
|
|
||||||
src/models/errors/markunplayed.ts
|
|
||||||
src/models/errors/updateplayprogress.ts
|
|
||||||
src/models/errors/getserveractivities.ts
|
|
||||||
src/models/errors/cancelserveractivities.ts
|
|
||||||
src/models/errors/getbutlertasks.ts
|
|
||||||
src/models/errors/startalltasks.ts
|
|
||||||
src/models/errors/stopalltasks.ts
|
|
||||||
src/models/errors/starttask.ts
|
|
||||||
src/models/errors/stoptask.ts
|
|
||||||
src/models/errors/getglobalhubs.ts
|
|
||||||
src/models/errors/getlibraryhubs.ts
|
|
||||||
src/models/errors/performsearch.ts
|
|
||||||
src/models/errors/performvoicesearch.ts
|
|
||||||
src/models/errors/getsearchresults.ts
|
|
||||||
src/models/errors/getfilehash.ts
|
|
||||||
src/models/errors/getrecentlyadded.ts
|
|
||||||
src/models/errors/getlibraries.ts
|
|
||||||
src/models/errors/getlibrary.ts
|
|
||||||
src/models/errors/deletelibrary.ts
|
|
||||||
src/models/errors/getlibraryitems.ts
|
|
||||||
src/models/errors/refreshlibrary.ts
|
|
||||||
src/models/errors/getlatestlibraryitems.ts
|
|
||||||
src/models/errors/getcommonlibraryitems.ts
|
|
||||||
src/models/errors/getmetadata.ts
|
|
||||||
src/models/errors/getmetadatachildren.ts
|
|
||||||
src/models/errors/getondeck.ts
|
|
||||||
src/models/errors/logline.ts
|
|
||||||
src/models/errors/logmultiline.ts
|
|
||||||
src/models/errors/enablepapertrail.ts
|
|
||||||
src/models/errors/createplaylist.ts
|
|
||||||
src/models/errors/getplaylists.ts
|
|
||||||
src/models/errors/getplaylist.ts
|
|
||||||
src/models/errors/deleteplaylist.ts
|
|
||||||
src/models/errors/updateplaylist.ts
|
|
||||||
src/models/errors/getplaylistcontents.ts
|
|
||||||
src/models/errors/clearplaylistcontents.ts
|
|
||||||
src/models/errors/addplaylistcontents.ts
|
|
||||||
src/models/errors/uploadplaylist.ts
|
|
||||||
src/models/errors/gettransienttoken.ts
|
|
||||||
src/models/errors/getsourceconnectioninformation.ts
|
|
||||||
src/models/errors/getsessions.ts
|
|
||||||
src/models/errors/getsessionhistory.ts
|
|
||||||
src/models/errors/gettranscodesessions.ts
|
|
||||||
src/models/errors/stoptranscodesession.ts
|
|
||||||
src/models/errors/getupdatestatus.ts
|
|
||||||
src/models/errors/checkforupdates.ts
|
|
||||||
src/models/errors/applyupdates.ts
|
|
||||||
src/models/errors/startuniversaltranscode.ts
|
|
||||||
src/models/errors/gettimeline.ts
|
|
||||||
src/models/components/security.ts
|
|
||||||
src/models/errors/index.ts
|
|
||||||
src/models/operations/index.ts
|
|
||||||
src/models/components/index.ts
|
|
||||||
docs/models/operations/directory.md
|
|
||||||
docs/models/operations/mediacontainer.md
|
|
||||||
docs/models/operations/getservercapabilitiesresponsebody.md
|
|
||||||
docs/models/operations/getservercapabilitiesresponse.md
|
|
||||||
docs/models/operations/getserverpreferencesresponse.md
|
|
||||||
docs/models/operations/server.md
|
|
||||||
docs/models/operations/getavailableclientsmediacontainer.md
|
|
||||||
docs/models/operations/responsebody.md
|
|
||||||
docs/models/operations/getavailableclientsresponse.md
|
|
||||||
docs/models/operations/device.md
|
|
||||||
docs/models/operations/getdevicesmediacontainer.md
|
|
||||||
docs/models/operations/getdevicesresponsebody.md
|
|
||||||
docs/models/operations/getdevicesresponse.md
|
|
||||||
docs/models/operations/getserveridentitymediacontainer.md
|
|
||||||
docs/models/operations/getserveridentityresponsebody.md
|
|
||||||
docs/models/operations/getserveridentityresponse.md
|
|
||||||
docs/models/operations/myplex.md
|
|
||||||
docs/models/operations/getmyplexaccountresponsebody.md
|
|
||||||
docs/models/operations/getmyplexaccountresponse.md
|
|
||||||
docs/models/operations/minsize.md
|
|
||||||
docs/models/operations/upscale.md
|
|
||||||
docs/models/operations/getresizedphotorequest.md
|
|
||||||
docs/models/operations/getresizedphotoresponse.md
|
|
||||||
docs/models/operations/getserverlistserver.md
|
|
||||||
docs/models/operations/getserverlistmediacontainer.md
|
|
||||||
docs/models/operations/getserverlistresponsebody.md
|
|
||||||
docs/models/operations/getserverlistresponse.md
|
|
||||||
docs/models/operations/markplayedrequest.md
|
|
||||||
docs/models/operations/markplayedresponse.md
|
|
||||||
docs/models/operations/markunplayedrequest.md
|
|
||||||
docs/models/operations/markunplayedresponse.md
|
|
||||||
docs/models/operations/updateplayprogressrequest.md
|
|
||||||
docs/models/operations/updateplayprogressresponse.md
|
|
||||||
docs/models/operations/context.md
|
|
||||||
docs/models/operations/activity.md
|
|
||||||
docs/models/operations/getserveractivitiesmediacontainer.md
|
|
||||||
docs/models/operations/getserveractivitiesresponsebody.md
|
|
||||||
docs/models/operations/getserveractivitiesresponse.md
|
|
||||||
docs/models/operations/cancelserveractivitiesrequest.md
|
|
||||||
docs/models/operations/cancelserveractivitiesresponse.md
|
|
||||||
docs/models/operations/butlertask.md
|
|
||||||
docs/models/operations/butlertasks.md
|
|
||||||
docs/models/operations/getbutlertasksresponsebody.md
|
|
||||||
docs/models/operations/getbutlertasksresponse.md
|
|
||||||
docs/models/operations/startalltasksresponse.md
|
|
||||||
docs/models/operations/stopalltasksresponse.md
|
|
||||||
docs/models/operations/taskname.md
|
|
||||||
docs/models/operations/starttaskrequest.md
|
|
||||||
docs/models/operations/starttaskresponse.md
|
|
||||||
docs/models/operations/pathparamtaskname.md
|
|
||||||
docs/models/operations/stoptaskrequest.md
|
|
||||||
docs/models/operations/stoptaskresponse.md
|
|
||||||
docs/models/operations/onlytransient.md
|
|
||||||
docs/models/operations/getglobalhubsrequest.md
|
|
||||||
docs/models/operations/getglobalhubsresponse.md
|
|
||||||
docs/models/operations/queryparamonlytransient.md
|
|
||||||
docs/models/operations/getlibraryhubsrequest.md
|
|
||||||
docs/models/operations/getlibraryhubsresponse.md
|
|
||||||
docs/models/operations/performsearchrequest.md
|
|
||||||
docs/models/operations/performsearchresponse.md
|
|
||||||
docs/models/operations/performvoicesearchrequest.md
|
|
||||||
docs/models/operations/performvoicesearchresponse.md
|
|
||||||
docs/models/operations/getsearchresultsrequest.md
|
|
||||||
docs/models/operations/getsearchresultspart.md
|
|
||||||
docs/models/operations/getsearchresultsmedia.md
|
|
||||||
docs/models/operations/getsearchresultsgenre.md
|
|
||||||
docs/models/operations/getsearchresultsdirector.md
|
|
||||||
docs/models/operations/getsearchresultswriter.md
|
|
||||||
docs/models/operations/getsearchresultscountry.md
|
|
||||||
docs/models/operations/getsearchresultsrole.md
|
|
||||||
docs/models/operations/getsearchresultsmetadata.md
|
|
||||||
docs/models/operations/provider.md
|
|
||||||
docs/models/operations/getsearchresultsmediacontainer.md
|
|
||||||
docs/models/operations/getsearchresultsresponsebody.md
|
|
||||||
docs/models/operations/getsearchresultsresponse.md
|
|
||||||
docs/models/operations/getfilehashrequest.md
|
|
||||||
docs/models/operations/getfilehashresponse.md
|
|
||||||
docs/models/operations/part.md
|
|
||||||
docs/models/operations/media.md
|
|
||||||
docs/models/operations/genre.md
|
|
||||||
docs/models/operations/director.md
|
|
||||||
docs/models/operations/writer.md
|
|
||||||
docs/models/operations/country.md
|
|
||||||
docs/models/operations/role.md
|
|
||||||
docs/models/operations/metadata.md
|
|
||||||
docs/models/operations/getrecentlyaddedmediacontainer.md
|
|
||||||
docs/models/operations/getrecentlyaddedresponsebody.md
|
|
||||||
docs/models/operations/getrecentlyaddedresponse.md
|
|
||||||
docs/models/operations/getlibrariesresponse.md
|
|
||||||
docs/models/operations/includedetails.md
|
|
||||||
docs/models/operations/getlibraryrequest.md
|
|
||||||
docs/models/operations/getlibraryresponse.md
|
|
||||||
docs/models/operations/deletelibraryrequest.md
|
|
||||||
docs/models/operations/deletelibraryresponse.md
|
|
||||||
docs/models/operations/getlibraryitemsrequest.md
|
|
||||||
docs/models/operations/getlibraryitemsresponse.md
|
|
||||||
docs/models/operations/refreshlibraryrequest.md
|
|
||||||
docs/models/operations/refreshlibraryresponse.md
|
|
||||||
docs/models/operations/getlatestlibraryitemsrequest.md
|
|
||||||
docs/models/operations/getlatestlibraryitemsresponse.md
|
|
||||||
docs/models/operations/getcommonlibraryitemsrequest.md
|
|
||||||
docs/models/operations/getcommonlibraryitemsresponse.md
|
|
||||||
docs/models/operations/getmetadatarequest.md
|
|
||||||
docs/models/operations/getmetadataresponse.md
|
|
||||||
docs/models/operations/getmetadatachildrenrequest.md
|
|
||||||
docs/models/operations/getmetadatachildrenresponse.md
|
|
||||||
docs/models/operations/stream.md
|
|
||||||
docs/models/operations/getondeckpart.md
|
|
||||||
docs/models/operations/getondeckmedia.md
|
|
||||||
docs/models/operations/guids.md
|
|
||||||
docs/models/operations/getondeckmetadata.md
|
|
||||||
docs/models/operations/getondeckmediacontainer.md
|
|
||||||
docs/models/operations/getondeckresponsebody.md
|
|
||||||
docs/models/operations/getondeckresponse.md
|
|
||||||
docs/models/operations/level.md
|
|
||||||
docs/models/operations/loglinerequest.md
|
|
||||||
docs/models/operations/loglineresponse.md
|
|
||||||
docs/models/operations/logmultilineresponse.md
|
|
||||||
docs/models/operations/enablepapertrailresponse.md
|
|
||||||
docs/models/operations/typet.md
|
|
||||||
docs/models/operations/smart.md
|
|
||||||
docs/models/operations/createplaylistrequest.md
|
|
||||||
docs/models/operations/createplaylistresponse.md
|
|
||||||
docs/models/operations/playlisttype.md
|
|
||||||
docs/models/operations/queryparamsmart.md
|
|
||||||
docs/models/operations/getplaylistsrequest.md
|
|
||||||
docs/models/operations/getplaylistsresponse.md
|
|
||||||
docs/models/operations/getplaylistrequest.md
|
|
||||||
docs/models/operations/getplaylistresponse.md
|
|
||||||
docs/models/operations/deleteplaylistrequest.md
|
|
||||||
docs/models/operations/deleteplaylistresponse.md
|
|
||||||
docs/models/operations/updateplaylistrequest.md
|
|
||||||
docs/models/operations/updateplaylistresponse.md
|
|
||||||
docs/models/operations/getplaylistcontentsrequest.md
|
|
||||||
docs/models/operations/getplaylistcontentsresponse.md
|
|
||||||
docs/models/operations/clearplaylistcontentsrequest.md
|
|
||||||
docs/models/operations/clearplaylistcontentsresponse.md
|
|
||||||
docs/models/operations/addplaylistcontentsrequest.md
|
|
||||||
docs/models/operations/addplaylistcontentsresponse.md
|
|
||||||
docs/models/operations/force.md
|
|
||||||
docs/models/operations/uploadplaylistrequest.md
|
|
||||||
docs/models/operations/uploadplaylistresponse.md
|
|
||||||
docs/models/operations/queryparamtype.md
|
|
||||||
docs/models/operations/scope.md
|
|
||||||
docs/models/operations/gettransienttokenrequest.md
|
|
||||||
docs/models/operations/gettransienttokenresponse.md
|
|
||||||
docs/models/operations/getsourceconnectioninformationrequest.md
|
|
||||||
docs/models/operations/getsourceconnectioninformationresponse.md
|
|
||||||
docs/models/operations/getsessionsresponse.md
|
|
||||||
docs/models/operations/getsessionhistoryresponse.md
|
|
||||||
docs/models/operations/transcodesession.md
|
|
||||||
docs/models/operations/gettranscodesessionsmediacontainer.md
|
|
||||||
docs/models/operations/gettranscodesessionsresponsebody.md
|
|
||||||
docs/models/operations/gettranscodesessionsresponse.md
|
|
||||||
docs/models/operations/stoptranscodesessionrequest.md
|
|
||||||
docs/models/operations/stoptranscodesessionresponse.md
|
|
||||||
docs/models/operations/getupdatestatusresponse.md
|
|
||||||
docs/models/operations/download.md
|
|
||||||
docs/models/operations/checkforupdatesrequest.md
|
|
||||||
docs/models/operations/checkforupdatesresponse.md
|
|
||||||
docs/models/operations/tonight.md
|
|
||||||
docs/models/operations/skip.md
|
|
||||||
docs/models/operations/applyupdatesrequest.md
|
|
||||||
docs/models/operations/applyupdatesresponse.md
|
|
||||||
docs/models/operations/startuniversaltranscoderequest.md
|
|
||||||
docs/models/operations/startuniversaltranscoderesponse.md
|
|
||||||
docs/models/operations/state.md
|
|
||||||
docs/models/operations/gettimelinerequest.md
|
|
||||||
docs/models/operations/gettimelineresponse.md
|
|
||||||
docs/models/errors/errors.md
|
|
||||||
docs/models/errors/getservercapabilitiesresponsebody.md
|
|
||||||
docs/models/errors/getserverpreferenceserrors.md
|
|
||||||
docs/models/errors/getserverpreferencesresponsebody.md
|
|
||||||
docs/models/errors/getavailableclientserrors.md
|
|
||||||
docs/models/errors/getavailableclientsresponsebody.md
|
|
||||||
docs/models/errors/getdeviceserrors.md
|
|
||||||
docs/models/errors/getdevicesresponsebody.md
|
|
||||||
docs/models/errors/getserveridentityerrors.md
|
|
||||||
docs/models/errors/getserveridentityresponsebody.md
|
|
||||||
docs/models/errors/getmyplexaccounterrors.md
|
|
||||||
docs/models/errors/getmyplexaccountresponsebody.md
|
|
||||||
docs/models/errors/getresizedphotoerrors.md
|
|
||||||
docs/models/errors/getresizedphotoresponsebody.md
|
|
||||||
docs/models/errors/getserverlisterrors.md
|
|
||||||
docs/models/errors/getserverlistresponsebody.md
|
|
||||||
docs/models/errors/markplayederrors.md
|
|
||||||
docs/models/errors/markplayedresponsebody.md
|
|
||||||
docs/models/errors/markunplayederrors.md
|
|
||||||
docs/models/errors/markunplayedresponsebody.md
|
|
||||||
docs/models/errors/updateplayprogresserrors.md
|
|
||||||
docs/models/errors/updateplayprogressresponsebody.md
|
|
||||||
docs/models/errors/getserveractivitieserrors.md
|
|
||||||
docs/models/errors/getserveractivitiesresponsebody.md
|
|
||||||
docs/models/errors/cancelserveractivitieserrors.md
|
|
||||||
docs/models/errors/cancelserveractivitiesresponsebody.md
|
|
||||||
docs/models/errors/getbutlertaskserrors.md
|
|
||||||
docs/models/errors/getbutlertasksresponsebody.md
|
|
||||||
docs/models/errors/startalltaskserrors.md
|
|
||||||
docs/models/errors/startalltasksresponsebody.md
|
|
||||||
docs/models/errors/stopalltaskserrors.md
|
|
||||||
docs/models/errors/stopalltasksresponsebody.md
|
|
||||||
docs/models/errors/starttaskerrors.md
|
|
||||||
docs/models/errors/starttaskresponsebody.md
|
|
||||||
docs/models/errors/stoptaskerrors.md
|
|
||||||
docs/models/errors/stoptaskresponsebody.md
|
|
||||||
docs/models/errors/getglobalhubserrors.md
|
|
||||||
docs/models/errors/getglobalhubsresponsebody.md
|
|
||||||
docs/models/errors/getlibraryhubserrors.md
|
|
||||||
docs/models/errors/getlibraryhubsresponsebody.md
|
|
||||||
docs/models/errors/performsearcherrors.md
|
|
||||||
docs/models/errors/performsearchresponsebody.md
|
|
||||||
docs/models/errors/performvoicesearcherrors.md
|
|
||||||
docs/models/errors/performvoicesearchresponsebody.md
|
|
||||||
docs/models/errors/getsearchresultserrors.md
|
|
||||||
docs/models/errors/getsearchresultsresponsebody.md
|
|
||||||
docs/models/errors/getfilehasherrors.md
|
|
||||||
docs/models/errors/getfilehashresponsebody.md
|
|
||||||
docs/models/errors/getrecentlyaddederrors.md
|
|
||||||
docs/models/errors/getrecentlyaddedresponsebody.md
|
|
||||||
docs/models/errors/getlibrarieserrors.md
|
|
||||||
docs/models/errors/getlibrariesresponsebody.md
|
|
||||||
docs/models/errors/getlibraryerrors.md
|
|
||||||
docs/models/errors/getlibraryresponsebody.md
|
|
||||||
docs/models/errors/deletelibraryerrors.md
|
|
||||||
docs/models/errors/deletelibraryresponsebody.md
|
|
||||||
docs/models/errors/getlibraryitemserrors.md
|
|
||||||
docs/models/errors/getlibraryitemsresponsebody.md
|
|
||||||
docs/models/errors/refreshlibraryerrors.md
|
|
||||||
docs/models/errors/refreshlibraryresponsebody.md
|
|
||||||
docs/models/errors/getlatestlibraryitemserrors.md
|
|
||||||
docs/models/errors/getlatestlibraryitemsresponsebody.md
|
|
||||||
docs/models/errors/getcommonlibraryitemserrors.md
|
|
||||||
docs/models/errors/getcommonlibraryitemsresponsebody.md
|
|
||||||
docs/models/errors/getmetadataerrors.md
|
|
||||||
docs/models/errors/getmetadataresponsebody.md
|
|
||||||
docs/models/errors/getmetadatachildrenerrors.md
|
|
||||||
docs/models/errors/getmetadatachildrenresponsebody.md
|
|
||||||
docs/models/errors/getondeckerrors.md
|
|
||||||
docs/models/errors/getondeckresponsebody.md
|
|
||||||
docs/models/errors/loglineerrors.md
|
|
||||||
docs/models/errors/loglineresponsebody.md
|
|
||||||
docs/models/errors/logmultilineerrors.md
|
|
||||||
docs/models/errors/logmultilineresponsebody.md
|
|
||||||
docs/models/errors/enablepapertrailerrors.md
|
|
||||||
docs/models/errors/enablepapertrailresponsebody.md
|
|
||||||
docs/models/errors/createplaylisterrors.md
|
|
||||||
docs/models/errors/createplaylistresponsebody.md
|
|
||||||
docs/models/errors/getplaylistserrors.md
|
|
||||||
docs/models/errors/getplaylistsresponsebody.md
|
|
||||||
docs/models/errors/getplaylisterrors.md
|
|
||||||
docs/models/errors/getplaylistresponsebody.md
|
|
||||||
docs/models/errors/deleteplaylisterrors.md
|
|
||||||
docs/models/errors/deleteplaylistresponsebody.md
|
|
||||||
docs/models/errors/updateplaylisterrors.md
|
|
||||||
docs/models/errors/updateplaylistresponsebody.md
|
|
||||||
docs/models/errors/getplaylistcontentserrors.md
|
|
||||||
docs/models/errors/getplaylistcontentsresponsebody.md
|
|
||||||
docs/models/errors/clearplaylistcontentserrors.md
|
|
||||||
docs/models/errors/clearplaylistcontentsresponsebody.md
|
|
||||||
docs/models/errors/addplaylistcontentserrors.md
|
|
||||||
docs/models/errors/addplaylistcontentsresponsebody.md
|
|
||||||
docs/models/errors/uploadplaylisterrors.md
|
|
||||||
docs/models/errors/uploadplaylistresponsebody.md
|
|
||||||
docs/models/errors/gettransienttokenerrors.md
|
|
||||||
docs/models/errors/gettransienttokenresponsebody.md
|
|
||||||
docs/models/errors/getsourceconnectioninformationerrors.md
|
|
||||||
docs/models/errors/getsourceconnectioninformationresponsebody.md
|
|
||||||
docs/models/errors/getsessionserrors.md
|
|
||||||
docs/models/errors/getsessionsresponsebody.md
|
|
||||||
docs/models/errors/getsessionhistoryerrors.md
|
|
||||||
docs/models/errors/getsessionhistoryresponsebody.md
|
|
||||||
docs/models/errors/gettranscodesessionserrors.md
|
|
||||||
docs/models/errors/gettranscodesessionsresponsebody.md
|
|
||||||
docs/models/errors/stoptranscodesessionerrors.md
|
|
||||||
docs/models/errors/stoptranscodesessionresponsebody.md
|
|
||||||
docs/models/errors/getupdatestatuserrors.md
|
|
||||||
docs/models/errors/getupdatestatusresponsebody.md
|
|
||||||
docs/models/errors/checkforupdateserrors.md
|
|
||||||
docs/models/errors/checkforupdatesresponsebody.md
|
|
||||||
docs/models/errors/applyupdateserrors.md
|
|
||||||
docs/models/errors/applyupdatesresponsebody.md
|
|
||||||
docs/models/errors/startuniversaltranscodeerrors.md
|
|
||||||
docs/models/errors/startuniversaltranscoderesponsebody.md
|
|
||||||
docs/models/errors/gettimelineerrors.md
|
|
||||||
docs/models/errors/gettimelineresponsebody.md
|
|
||||||
docs/models/components/security.md
|
|
||||||
docs/sdks/plexapi/README.md
|
|
||||||
docs/sdks/server/README.md
|
|
||||||
docs/sdks/media/README.md
|
|
||||||
docs/sdks/activities/README.md
|
|
||||||
docs/sdks/butler/README.md
|
|
||||||
docs/sdks/hubs/README.md
|
|
||||||
docs/sdks/search/README.md
|
|
||||||
docs/sdks/library/README.md
|
|
||||||
docs/sdks/log/README.md
|
|
||||||
docs/sdks/playlists/README.md
|
|
||||||
docs/sdks/security/README.md
|
|
||||||
docs/sdks/sessions/README.md
|
|
||||||
docs/sdks/updater/README.md
|
|
||||||
docs/sdks/video/README.md
|
|
||||||
USAGE.md
|
|
||||||
.gitattributes
|
|
||||||
27
jsr.json
Normal file
27
jsr.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "@lukehagar/plexjs",
|
||||||
|
"version": "0.15.0",
|
||||||
|
"exports": {
|
||||||
|
".": "./src/index.ts",
|
||||||
|
"./models/errors": "./src/models/errors/index.ts",
|
||||||
|
"./models/components": "./src/models/components/index.ts",
|
||||||
|
"./models/operations": "./src/models/operations/index.ts",
|
||||||
|
"./lib/config": "./src/lib/config.ts",
|
||||||
|
"./lib/http": "./src/lib/http.ts",
|
||||||
|
"./lib/retries": "./src/lib/retries.ts",
|
||||||
|
"./lib/sdks": "./src/lib/sdks.ts",
|
||||||
|
"./types": "./src/types/index.ts"
|
||||||
|
},
|
||||||
|
"publish": {
|
||||||
|
"include": [
|
||||||
|
"LICENSE",
|
||||||
|
"README.md",
|
||||||
|
"RUNTIMES.md",
|
||||||
|
"USAGE.md",
|
||||||
|
"jsr.json",
|
||||||
|
"src/**/*.ts"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
350
package-lock.json
generated
350
package-lock.json
generated
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "@lukehagar/plexjs",
|
"name": "@lukehagar/plexjs",
|
||||||
"version": "0.10.4",
|
"version": "0.15.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@lukehagar/plexjs",
|
"name": "@lukehagar/plexjs",
|
||||||
"version": "0.10.4",
|
"version": "0.15.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonpath": "^0.2.4",
|
"@types/jsonpath": "^0.2.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.13.2",
|
"@typescript-eslint/eslint-plugin": "^7.7.1",
|
||||||
"@typescript-eslint/parser": "^6.13.2",
|
"@typescript-eslint/parser": "^7.7.1",
|
||||||
"eslint": "^8.55.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.1",
|
||||||
"eslint-plugin-import": "^2.29.0",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.4.5",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.23.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"zod": ">= 3"
|
"zod": ">= 3"
|
||||||
@@ -100,9 +100,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.56.0",
|
"version": "8.57.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
|
||||||
"integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
|
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
@@ -217,39 +217,39 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
"version": "7.5.7",
|
"version": "7.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||||
"integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
|
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz",
|
||||||
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
|
"integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.5.1",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/type-utils": "6.21.0",
|
"@typescript-eslint/type-utils": "7.7.1",
|
||||||
"@typescript-eslint/utils": "6.21.0",
|
"@typescript-eslint/utils": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.2.4",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
|
"@typescript-eslint/parser": "^7.0.0",
|
||||||
"eslint": "^7.0.0 || ^8.0.0"
|
"eslint": "^8.56.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"typescript": {
|
"typescript": {
|
||||||
@@ -258,26 +258,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz",
|
||||||
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
|
"integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"eslint": "^7.0.0 || ^8.0.0"
|
"eslint": "^8.56.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"typescript": {
|
"typescript": {
|
||||||
@@ -286,16 +286,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz",
|
||||||
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
|
"integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0"
|
"@typescript-eslint/visitor-keys": "7.7.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -303,25 +303,25 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz",
|
||||||
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
|
"integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"@typescript-eslint/utils": "6.21.0",
|
"@typescript-eslint/utils": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"eslint": "^7.0.0 || ^8.0.0"
|
"eslint": "^8.56.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"typescript": {
|
"typescript": {
|
||||||
@@ -330,12 +330,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz",
|
||||||
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
|
"integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -343,22 +343,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz",
|
||||||
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
|
"integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "9.0.3",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -371,41 +371,41 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz",
|
||||||
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
|
"integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@types/json-schema": "^7.0.12",
|
"@types/json-schema": "^7.0.15",
|
||||||
"@types/semver": "^7.5.0",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"semver": "^7.5.4"
|
"semver": "^7.6.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"eslint": "^7.0.0 || ^8.0.0"
|
"eslint": "^8.56.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz",
|
||||||
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
|
"integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"eslint-visitor-keys": "^3.4.1"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0 || >=18.0.0"
|
"node": "^18.18.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -978,16 +978,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.56.0",
|
"version": "8.57.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
|
||||||
"integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
|
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
"@eslint/eslintrc": "^2.1.4",
|
"@eslint/eslintrc": "^2.1.4",
|
||||||
"@eslint/js": "8.56.0",
|
"@eslint/js": "8.57.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.13",
|
"@humanwhocodes/config-array": "^0.11.14",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
"@ungap/structured-clone": "^1.2.0",
|
"@ungap/structured-clone": "^1.2.0",
|
||||||
@@ -2151,9 +2151,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "9.0.3",
|
"version": "9.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
|
||||||
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
@@ -2799,9 +2799,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-api-utils": {
|
"node_modules/ts-api-utils": {
|
||||||
"version": "1.2.1",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
|
||||||
"integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
|
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16"
|
"node": ">=16"
|
||||||
@@ -2920,9 +2920,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.3.3",
|
"version": "5.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
|
||||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -3031,9 +3031,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/zod": {
|
"node_modules/zod": {
|
||||||
"version": "3.22.4",
|
"version": "3.23.4",
|
||||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
|
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.4.tgz",
|
||||||
"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
|
"integrity": "sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/colinhacks"
|
"url": "https://github.com/sponsors/colinhacks"
|
||||||
@@ -3101,9 +3101,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@eslint/js": {
|
"@eslint/js": {
|
||||||
"version": "8.56.0",
|
"version": "8.57.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
|
||||||
"integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
|
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@humanwhocodes/config-array": {
|
"@humanwhocodes/config-array": {
|
||||||
@@ -3195,110 +3195,110 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
"version": "7.5.7",
|
"version": "7.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||||
"integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
|
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/eslint-plugin": {
|
"@typescript-eslint/eslint-plugin": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz",
|
||||||
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
|
"integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/regexpp": "^4.5.1",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/type-utils": "6.21.0",
|
"@typescript-eslint/type-utils": "7.7.1",
|
||||||
"@typescript-eslint/utils": "6.21.0",
|
"@typescript-eslint/utils": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.2.4",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/parser": {
|
"@typescript-eslint/parser": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz",
|
||||||
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
|
"integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/scope-manager": {
|
"@typescript-eslint/scope-manager": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz",
|
||||||
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
|
"integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0"
|
"@typescript-eslint/visitor-keys": "7.7.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/type-utils": {
|
"@typescript-eslint/type-utils": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz",
|
||||||
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
|
"integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"@typescript-eslint/utils": "6.21.0",
|
"@typescript-eslint/utils": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/types": {
|
"@typescript-eslint/types": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz",
|
||||||
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
|
"integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@typescript-eslint/typescript-estree": {
|
"@typescript-eslint/typescript-estree": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz",
|
||||||
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
|
"integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/visitor-keys": "6.21.0",
|
"@typescript-eslint/visitor-keys": "7.7.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "9.0.3",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^1.0.1"
|
"ts-api-utils": "^1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/utils": {
|
"@typescript-eslint/utils": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz",
|
||||||
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
|
"integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@types/json-schema": "^7.0.12",
|
"@types/json-schema": "^7.0.15",
|
||||||
"@types/semver": "^7.5.0",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/scope-manager": "6.21.0",
|
"@typescript-eslint/scope-manager": "7.7.1",
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"@typescript-eslint/typescript-estree": "6.21.0",
|
"@typescript-eslint/typescript-estree": "7.7.1",
|
||||||
"semver": "^7.5.4"
|
"semver": "^7.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typescript-eslint/visitor-keys": {
|
"@typescript-eslint/visitor-keys": {
|
||||||
"version": "6.21.0",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz",
|
||||||
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
|
"integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/types": "6.21.0",
|
"@typescript-eslint/types": "7.7.1",
|
||||||
"eslint-visitor-keys": "^3.4.1"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ungap/structured-clone": {
|
"@ungap/structured-clone": {
|
||||||
@@ -3715,16 +3715,16 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"eslint": {
|
"eslint": {
|
||||||
"version": "8.56.0",
|
"version": "8.57.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
|
||||||
"integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
|
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
"@eslint/eslintrc": "^2.1.4",
|
"@eslint/eslintrc": "^2.1.4",
|
||||||
"@eslint/js": "8.56.0",
|
"@eslint/js": "8.57.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.13",
|
"@humanwhocodes/config-array": "^0.11.14",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
"@ungap/structured-clone": "^1.2.0",
|
"@ungap/structured-clone": "^1.2.0",
|
||||||
@@ -4588,9 +4588,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimatch": {
|
"minimatch": {
|
||||||
"version": "9.0.3",
|
"version": "9.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
|
||||||
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
@@ -5024,9 +5024,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ts-api-utils": {
|
"ts-api-utils": {
|
||||||
"version": "1.2.1",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
|
||||||
"integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
|
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
@@ -5110,9 +5110,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "5.3.3",
|
"version": "5.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
|
||||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"unbox-primitive": {
|
"unbox-primitive": {
|
||||||
@@ -5190,9 +5190,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"zod": {
|
"zod": {
|
||||||
"version": "3.22.4",
|
"version": "3.23.4",
|
||||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
|
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.4.tgz",
|
||||||
"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
|
"integrity": "sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
17
package.json
17
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@lukehagar/plexjs",
|
"name": "@lukehagar/plexjs",
|
||||||
"version": "0.10.4",
|
"version": "0.15.0",
|
||||||
"author": "LukeHagar",
|
"author": "LukeHagar",
|
||||||
"main": "./index.js",
|
"main": "./index.js",
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -14,19 +14,18 @@
|
|||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"prepare": "npm run build"
|
"prepare": "npm run build"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"zod": ">= 3"
|
"zod": ">= 3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonpath": "^0.2.4",
|
"@types/jsonpath": "^0.2.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.13.2",
|
"@typescript-eslint/eslint-plugin": "^7.7.1",
|
||||||
"@typescript-eslint/parser": "^6.13.2",
|
"@typescript-eslint/parser": "^7.7.1",
|
||||||
"eslint": "^8.55.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.1",
|
||||||
"eslint-plugin-import": "^2.29.0",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.4.5",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.23.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { RequestInput } from "../lib/http";
|
||||||
import {
|
import {
|
||||||
AfterErrorContext,
|
AfterErrorContext,
|
||||||
AfterErrorHook,
|
AfterErrorHook,
|
||||||
@@ -9,6 +10,8 @@ import {
|
|||||||
AfterSuccessHook,
|
AfterSuccessHook,
|
||||||
BeforeRequestContext,
|
BeforeRequestContext,
|
||||||
BeforeRequestHook,
|
BeforeRequestHook,
|
||||||
|
BeforeCreateRequestHook,
|
||||||
|
BeforeCreateRequestContext,
|
||||||
Hooks,
|
Hooks,
|
||||||
SDKInitHook,
|
SDKInitHook,
|
||||||
SDKInitOptions,
|
SDKInitOptions,
|
||||||
@@ -18,6 +21,7 @@ import { initHooks } from "./registration";
|
|||||||
|
|
||||||
export class SDKHooks implements Hooks {
|
export class SDKHooks implements Hooks {
|
||||||
sdkInitHooks: SDKInitHook[] = [];
|
sdkInitHooks: SDKInitHook[] = [];
|
||||||
|
beforeCreateRequestHooks: BeforeCreateRequestHook[] = [];
|
||||||
beforeRequestHooks: BeforeRequestHook[] = [];
|
beforeRequestHooks: BeforeRequestHook[] = [];
|
||||||
afterSuccessHooks: AfterSuccessHook[] = [];
|
afterSuccessHooks: AfterSuccessHook[] = [];
|
||||||
afterErrorHooks: AfterErrorHook[] = [];
|
afterErrorHooks: AfterErrorHook[] = [];
|
||||||
@@ -30,6 +34,10 @@ export class SDKHooks implements Hooks {
|
|||||||
this.sdkInitHooks.push(hook);
|
this.sdkInitHooks.push(hook);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerBeforeCreateRequestHook(hook: BeforeCreateRequestHook) {
|
||||||
|
this.beforeCreateRequestHooks.push(hook);
|
||||||
|
}
|
||||||
|
|
||||||
registerBeforeRequestHook(hook: BeforeRequestHook) {
|
registerBeforeRequestHook(hook: BeforeRequestHook) {
|
||||||
this.beforeRequestHooks.push(hook);
|
this.beforeRequestHooks.push(hook);
|
||||||
}
|
}
|
||||||
@@ -46,6 +54,16 @@ export class SDKHooks implements Hooks {
|
|||||||
return this.sdkInitHooks.reduce((opts, hook) => hook.sdkInit(opts), opts);
|
return this.sdkInitHooks.reduce((opts, hook) => hook.sdkInit(opts), opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
beforeCreateRequest(hookCtx: BeforeCreateRequestContext, input: RequestInput): RequestInput {
|
||||||
|
let inp = input;
|
||||||
|
|
||||||
|
for (const hook of this.beforeCreateRequestHooks) {
|
||||||
|
inp = hook.beforeCreateRequest(hookCtx, inp);
|
||||||
|
}
|
||||||
|
|
||||||
|
return inp;
|
||||||
|
}
|
||||||
|
|
||||||
async beforeRequest(hookCtx: BeforeRequestContext, request: Request): Promise<Request> {
|
async beforeRequest(hookCtx: BeforeRequestContext, request: Request): Promise<Request> {
|
||||||
let req = request;
|
let req = request;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { HTTPClient } from "../lib/http";
|
import { HTTPClient, RequestInput } from "../lib/http";
|
||||||
|
|
||||||
export type HookContext = {
|
export type HookContext = {
|
||||||
operationID: string;
|
operationID: string;
|
||||||
@@ -16,6 +16,8 @@ export type SDKInitOptions = {
|
|||||||
baseURL: URL | null;
|
baseURL: URL | null;
|
||||||
client: HTTPClient;
|
client: HTTPClient;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type BeforeCreateRequestContext = HookContext & {};
|
||||||
export type BeforeRequestContext = HookContext & {};
|
export type BeforeRequestContext = HookContext & {};
|
||||||
export type AfterSuccessContext = HookContext & {};
|
export type AfterSuccessContext = HookContext & {};
|
||||||
export type AfterErrorContext = HookContext & {};
|
export type AfterErrorContext = HookContext & {};
|
||||||
@@ -28,30 +30,41 @@ export interface SDKInitHook {
|
|||||||
sdkInit: (opts: SDKInitOptions) => SDKInitOptions;
|
sdkInit: (opts: SDKInitOptions) => SDKInitOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
export interface BeforeCreateRequestHook {
|
||||||
* BeforeRequestHook is called before the SDK sends a request. The hook can
|
/**
|
||||||
* modify the request before it is sent or throw an error to stop the request
|
* A hook that is called before the SDK creates a `Request` object. The hook
|
||||||
* from being sent.
|
* can modify how a request is constructed since certain modifications, like
|
||||||
*/
|
* changing the request URL, cannot be done on a request object directly.
|
||||||
|
*/
|
||||||
|
beforeCreateRequest: (hookCtx: BeforeCreateRequestContext, input: RequestInput) => RequestInput;
|
||||||
|
}
|
||||||
|
|
||||||
export interface BeforeRequestHook {
|
export interface BeforeRequestHook {
|
||||||
|
/**
|
||||||
|
* A hook that is called before the SDK sends a request. The hook can
|
||||||
|
* introduce instrumentation code such as logging, tracing and metrics or
|
||||||
|
* replace the request before it is sent or throw an error to stop the
|
||||||
|
* request from being sent.
|
||||||
|
*/
|
||||||
beforeRequest: (hookCtx: BeforeRequestContext, request: Request) => Awaitable<Request>;
|
beforeRequest: (hookCtx: BeforeRequestContext, request: Request) => Awaitable<Request>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AfterSuccessHook is called after the SDK receives a response. The hook can
|
|
||||||
* modify the response before it is handled or throw an error to stop the
|
|
||||||
* response from being handled.
|
|
||||||
*/
|
|
||||||
export interface AfterSuccessHook {
|
export interface AfterSuccessHook {
|
||||||
|
/**
|
||||||
|
* A hook that is called after the SDK receives a response. The hook can
|
||||||
|
* introduce instrumentation code such as logging, tracing and metrics or
|
||||||
|
* modify the response before it is handled or throw an error to stop the
|
||||||
|
* response from being handled.
|
||||||
|
*/
|
||||||
afterSuccess: (hookCtx: AfterSuccessContext, response: Response) => Awaitable<Response>;
|
afterSuccess: (hookCtx: AfterSuccessContext, response: Response) => Awaitable<Response>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* AfterErrorHook is called after the SDK encounters an error, or a
|
|
||||||
* non-successful response. The hook can modify the response if available
|
|
||||||
* otherwise modify the error.
|
|
||||||
*/
|
|
||||||
export interface AfterErrorHook {
|
export interface AfterErrorHook {
|
||||||
|
/**
|
||||||
|
* A hook that is called after the SDK encounters an error, or a
|
||||||
|
* non-successful response. The hook can introduce instrumentation code such
|
||||||
|
* as logging, tracing and metrics or modify the response or error values.
|
||||||
|
*/
|
||||||
afterError: (
|
afterError: (
|
||||||
hookCtx: AfterErrorContext,
|
hookCtx: AfterErrorContext,
|
||||||
response: Response | null,
|
response: Response | null,
|
||||||
@@ -65,6 +78,8 @@ export interface AfterErrorHook {
|
|||||||
export interface Hooks {
|
export interface Hooks {
|
||||||
/** Registers a hook to be used by the SDK for initialization event. */
|
/** Registers a hook to be used by the SDK for initialization event. */
|
||||||
registerSDKInitHook(hook: SDKInitHook): void;
|
registerSDKInitHook(hook: SDKInitHook): void;
|
||||||
|
/** Registers a hook to be used by the SDK for to modify `Request` construction. */
|
||||||
|
registerBeforeCreateRequestHook(hook: BeforeCreateRequestHook): void;
|
||||||
/** Registers a hook to be used by the SDK for the before request event. */
|
/** Registers a hook to be used by the SDK for the before request event. */
|
||||||
registerBeforeRequestHook(hook: BeforeRequestHook): void;
|
registerBeforeRequestHook(hook: BeforeRequestHook): void;
|
||||||
/** Registers a hook to be used by the SDK for the after success event. */
|
/** Registers a hook to be used by the SDK for the after success event. */
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import { HTTPClient } from "./http";
|
import { HTTPClient } from "./http";
|
||||||
import { RetryConfig } from "./retries";
|
import { RetryConfig } from "./retries";
|
||||||
import { pathToFunc } from "./url";
|
import { Params, pathToFunc } from "./url";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains the list of servers available to the SDK
|
* Contains the list of servers available to the SDK
|
||||||
@@ -27,6 +27,11 @@ export enum ServerProtocol {
|
|||||||
export type SDKOptions = {
|
export type SDKOptions = {
|
||||||
accessToken?: string | (() => Promise<string>);
|
accessToken?: string | (() => Promise<string>);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows setting the xPlexClientIdentifier parameter for all supported operations
|
||||||
|
*/
|
||||||
|
xPlexClientIdentifier?: string;
|
||||||
|
|
||||||
httpClient?: HTTPClient;
|
httpClient?: HTTPClient;
|
||||||
/**
|
/**
|
||||||
* Allows overriding the default server used by the SDK
|
* Allows overriding the default server used by the SDK
|
||||||
@@ -57,14 +62,14 @@ export type SDKOptions = {
|
|||||||
export function serverURLFromOptions(options: SDKOptions): URL | null {
|
export function serverURLFromOptions(options: SDKOptions): URL | null {
|
||||||
let serverURL = options.serverURL;
|
let serverURL = options.serverURL;
|
||||||
|
|
||||||
const serverParams = [
|
const serverParams: Params[] = [
|
||||||
{
|
{
|
||||||
protocol: options.protocol?.toString() ?? "http",
|
protocol: options.protocol ?? "http",
|
||||||
ip: options.ip?.toString() ?? "10.10.10.47",
|
ip: options.ip ?? "10.10.10.47",
|
||||||
port: options.port?.toString() ?? "32400",
|
port: options.port ?? "32400",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
let params: Record<string, string> = {};
|
let params: Params = {};
|
||||||
|
|
||||||
if (!serverURL) {
|
if (!serverURL) {
|
||||||
const serverIdx = options.serverIdx ?? 0;
|
const serverIdx = options.serverIdx ?? 0;
|
||||||
@@ -79,10 +84,10 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|||||||
return new URL(u);
|
return new URL(u);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SDK_METADATA = Object.freeze({
|
export const SDK_METADATA = {
|
||||||
language: "typescript",
|
language: "typescript",
|
||||||
openapiDocVersion: "0.0.3",
|
openapiDocVersion: "0.0.3",
|
||||||
sdkVersion: "0.10.4",
|
sdkVersion: "0.15.0",
|
||||||
genVersion: "2.283.1",
|
genVersion: "2.326.3",
|
||||||
userAgent: "speakeasy-sdk/typescript 0.10.4 2.283.1 0.0.3 @lukehagar/plexjs",
|
userAgent: "speakeasy-sdk/typescript 0.15.0 2.326.3 0.0.3 @lukehagar/plexjs",
|
||||||
});
|
} as const;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export function encodeMatrix(
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
) {
|
): string {
|
||||||
let out = "";
|
let out = "";
|
||||||
const pairs: [string, unknown][] = options?.explode
|
const pairs: [string, unknown][] = options?.explode
|
||||||
? explode(key, value)
|
? explode(key, value)
|
||||||
@@ -65,7 +65,7 @@ export function encodeLabel(
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
) {
|
): string {
|
||||||
let out = "";
|
let out = "";
|
||||||
const pairs: [string, unknown][] = options?.explode
|
const pairs: [string, unknown][] = options?.explode
|
||||||
? explode(key, value)
|
? explode(key, value)
|
||||||
@@ -100,7 +100,13 @@ export function encodeLabel(
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
function formEncoder(sep: string) {
|
type FormEncoder = (
|
||||||
|
key: string,
|
||||||
|
value: unknown,
|
||||||
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
|
) => string;
|
||||||
|
|
||||||
|
function formEncoder(sep: string): FormEncoder {
|
||||||
return (
|
return (
|
||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
@@ -157,7 +163,7 @@ export function encodeBodyForm(
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
) {
|
): string {
|
||||||
let out = "";
|
let out = "";
|
||||||
const pairs: [string, unknown][] = options?.explode
|
const pairs: [string, unknown][] = options?.explode
|
||||||
? explode(key, value)
|
? explode(key, value)
|
||||||
@@ -200,7 +206,7 @@ export function encodeDeepObject(
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { charEncoding?: "percent" | "none" },
|
options?: { charEncoding?: "percent" | "none" },
|
||||||
) {
|
): string {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@@ -247,7 +253,7 @@ export function encodeJSON(
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
) {
|
): string {
|
||||||
if (typeof value === "undefined") {
|
if (typeof value === "undefined") {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@@ -265,7 +271,7 @@ export const encodeSimple = (
|
|||||||
key: string,
|
key: string,
|
||||||
value: unknown,
|
value: unknown,
|
||||||
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
options?: { explode?: boolean; charEncoding?: "percent" | "none" },
|
||||||
) => {
|
): string => {
|
||||||
let out = "";
|
let out = "";
|
||||||
const pairs: [string, unknown][] = options?.explode
|
const pairs: [string, unknown][] = options?.explode
|
||||||
? explode(key, value)
|
? explode(key, value)
|
||||||
@@ -337,7 +343,7 @@ function serializeValue(value: unknown): string {
|
|||||||
return `${value}`;
|
return `${value}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function jsonReplacer(_: string, value: unknown) {
|
function jsonReplacer(_: string, value: unknown): unknown {
|
||||||
if (value instanceof Uint8Array) {
|
if (value instanceof Uint8Array) {
|
||||||
return bytesToBase64(value);
|
return bytesToBase64(value);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
116
src/lib/http.ts
116
src/lib/http.ts
@@ -7,15 +7,38 @@ export type Fetcher = (
|
|||||||
init?: RequestInit,
|
init?: RequestInit,
|
||||||
) => Promise<Response>;
|
) => Promise<Response>;
|
||||||
|
|
||||||
const DEFAULT_FETCHER: Fetcher = (input, init) => fetch(input, init);
|
export type Awaitable<T> = T | Promise<T>;
|
||||||
|
|
||||||
|
const DEFAULT_FETCHER: Fetcher = (input, init) => {
|
||||||
|
// If input is a Request and init is undefined, Bun will discard the method,
|
||||||
|
// headers, body and other options that were set on the request object.
|
||||||
|
// Node.js and browers would ignore an undefined init value. This check is
|
||||||
|
// therefore needed for interop with Bun.
|
||||||
|
if (init == null) {
|
||||||
|
return fetch(input);
|
||||||
|
} else {
|
||||||
|
return fetch(input, init);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export type RequestInput = {
|
||||||
|
/**
|
||||||
|
* The URL the request will use.
|
||||||
|
*/
|
||||||
|
url: URL;
|
||||||
|
/**
|
||||||
|
* Options used to create a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request).
|
||||||
|
*/
|
||||||
|
options?: RequestInit | undefined;
|
||||||
|
};
|
||||||
|
|
||||||
export interface HTTPClientOptions {
|
export interface HTTPClientOptions {
|
||||||
fetcher?: Fetcher;
|
fetcher?: Fetcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
type BeforeRequestHook = (req: Request) => Request | void;
|
export type BeforeRequestHook = (req: Request) => Awaitable<Request | void>;
|
||||||
type RequestErrorHook = (err: unknown, req: Request) => void;
|
export type RequestErrorHook = (err: unknown, req: Request) => Awaitable<void>;
|
||||||
type ResponseHook = (res: Response, req: Request) => void;
|
export type ResponseHook = (res: Response, req: Request) => Awaitable<void>;
|
||||||
|
|
||||||
export class HTTPClient {
|
export class HTTPClient {
|
||||||
private fetcher: Fetcher;
|
private fetcher: Fetcher;
|
||||||
@@ -28,17 +51,27 @@ export class HTTPClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async request(request: Request): Promise<Response> {
|
async request(request: Request): Promise<Response> {
|
||||||
const req = this.requestHooks.reduce((currentReq, fn) => {
|
let req = request;
|
||||||
const nextRequest = fn(currentReq);
|
for (const hook of this.requestHooks) {
|
||||||
return nextRequest || currentReq;
|
const nextRequest = await hook(req);
|
||||||
}, request);
|
if (nextRequest) {
|
||||||
|
req = nextRequest;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await this.fetcher(req);
|
const res = await this.fetcher(req);
|
||||||
this.responseHooks.forEach((fn) => fn(res, req));
|
|
||||||
|
for (const hook of this.responseHooks) {
|
||||||
|
await hook(res, req);
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.requestErrorHooks.forEach((fn) => fn(err, req));
|
for (const hook of this.requestErrorHooks) {
|
||||||
|
await hook(err, req);
|
||||||
|
}
|
||||||
|
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -88,7 +121,7 @@ export class HTTPClient {
|
|||||||
| [hook: "beforeRequest", fn: BeforeRequestHook]
|
| [hook: "beforeRequest", fn: BeforeRequestHook]
|
||||||
| [hook: "requestError", fn: RequestErrorHook]
|
| [hook: "requestError", fn: RequestErrorHook]
|
||||||
| [hook: "response", fn: ResponseHook]
|
| [hook: "response", fn: ResponseHook]
|
||||||
) {
|
): this {
|
||||||
let target: unknown[];
|
let target: unknown[];
|
||||||
if (args[0] === "beforeRequest") {
|
if (args[0] === "beforeRequest") {
|
||||||
target = this.requestHooks;
|
target = this.requestHooks;
|
||||||
@@ -108,7 +141,7 @@ export class HTTPClient {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
clone() {
|
clone(): HTTPClient {
|
||||||
const child = new HTTPClient(this.options);
|
const child = new HTTPClient(this.options);
|
||||||
child.requestHooks = this.requestHooks.slice();
|
child.requestHooks = this.requestHooks.slice();
|
||||||
child.requestErrorHooks = this.requestErrorHooks.slice();
|
child.requestErrorHooks = this.requestErrorHooks.slice();
|
||||||
@@ -118,29 +151,56 @@ export class HTTPClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function matchContentType(response: Response, pattern: string): boolean {
|
// A semicolon surrounded by optional whitespace characters is used to separate
|
||||||
if (pattern === "*" || pattern === "*/*") {
|
// segments in a media type string.
|
||||||
|
const mediaParamSeparator = /\s*;\s*/g;
|
||||||
|
|
||||||
|
function matchContentType(response: Response, pattern: string): boolean {
|
||||||
|
// `*` is a special case which means anything is acceptable.
|
||||||
|
if (pattern === "*") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const contentType =
|
let contentType =
|
||||||
response.headers.get("content-type") ?? "application/octet-stream";
|
response.headers.get("content-type")?.trim() || "application/octet-stream";
|
||||||
|
contentType = contentType.toLowerCase();
|
||||||
|
|
||||||
const idx = contentType.split(";").findIndex((raw) => {
|
const wantParts = pattern.toLowerCase().trim().split(mediaParamSeparator);
|
||||||
const ctype = raw.trim();
|
const [wantType = "", ...wantParams] = wantParts;
|
||||||
if (ctype === pattern) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const parts = ctype.split("/");
|
if (wantType.split("/").length !== 2) {
|
||||||
if (parts.length !== 2) {
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const gotParts = contentType.split(mediaParamSeparator);
|
||||||
|
const [gotType = "", ...gotParams] = gotParts;
|
||||||
|
|
||||||
|
const [type = "", subtype = ""] = gotType.split("/");
|
||||||
|
if (!type || !subtype) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
wantType !== "*/*" &&
|
||||||
|
gotType !== wantType &&
|
||||||
|
`${type}/*` !== wantType &&
|
||||||
|
`*/${subtype}` !== wantType
|
||||||
|
) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gotParams.length < wantParams.length) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const params = new Set(gotParams);
|
||||||
|
for (const wantParam of wantParams) {
|
||||||
|
if (!params.has(wantParam)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return `${parts[0]}/*` === pattern || `*/${parts[1]}` === pattern;
|
return true;
|
||||||
});
|
|
||||||
|
|
||||||
return idx >= 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const codeRangeRE = new RegExp("^[0-9]xx$", "i");
|
const codeRangeRE = new RegExp("^[0-9]xx$", "i");
|
||||||
@@ -148,7 +208,7 @@ const codeRangeRE = new RegExp("^[0-9]xx$", "i");
|
|||||||
export function matchStatusCode(
|
export function matchStatusCode(
|
||||||
response: Response,
|
response: Response,
|
||||||
codes: number | string | (number | string)[],
|
codes: number | string | (number | string)[],
|
||||||
) {
|
): boolean {
|
||||||
const actual = `${response.status}`;
|
const actual = `${response.status}`;
|
||||||
const expectedCodes = Array.isArray(codes) ? codes : [codes];
|
const expectedCodes = Array.isArray(codes) ? codes : [codes];
|
||||||
if (!expectedCodes.length) {
|
if (!expectedCodes.length) {
|
||||||
|
|||||||
@@ -40,7 +40,11 @@ export class ClientSDK {
|
|||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected createRequest$(conf: RequestConfig, options?: RequestOptions) {
|
protected createRequest$(
|
||||||
|
context: HookContext,
|
||||||
|
conf: RequestConfig,
|
||||||
|
options?: RequestOptions
|
||||||
|
): Request {
|
||||||
const { method, path, query, headers: opHeaders, security } = conf;
|
const { method, path, query, headers: opHeaders, security } = conf;
|
||||||
|
|
||||||
const base = conf.baseURL ?? this.baseURL;
|
const base = conf.baseURL ?? this.baseURL;
|
||||||
@@ -95,12 +99,17 @@ export class ClientSDK {
|
|||||||
headers.set(k, v);
|
headers.set(k, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Request(reqURL, {
|
const input = this.hooks$.beforeCreateRequest(context, {
|
||||||
...options?.fetchOptions,
|
url: reqURL,
|
||||||
body: conf.body ?? null,
|
options: {
|
||||||
headers,
|
...options?.fetchOptions,
|
||||||
method,
|
body: conf.body ?? null,
|
||||||
|
headers,
|
||||||
|
method,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return new Request(input.url, input.options);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async do$(
|
protected async do$(
|
||||||
@@ -109,7 +118,7 @@ export class ClientSDK {
|
|||||||
context: HookContext;
|
context: HookContext;
|
||||||
errorCodes: number | string | (number | string)[];
|
errorCodes: number | string | (number | string)[];
|
||||||
}
|
}
|
||||||
) {
|
): Promise<Response> {
|
||||||
const { context, errorCodes } = options;
|
const { context, errorCodes } = options;
|
||||||
|
|
||||||
let response = await this.client.request(await this.hooks$.beforeRequest(context, req));
|
let response = await this.client.request(await this.hooks$.beforeRequest(context, req));
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ type SecurityInputOAuth2 = {
|
|||||||
type SecurityInputOAuth2ClientCredentials = {
|
type SecurityInputOAuth2ClientCredentials = {
|
||||||
type: "oauth2:client_credentials";
|
type: "oauth2:client_credentials";
|
||||||
value: string | null | undefined;
|
value: string | null | undefined;
|
||||||
fieldName: "clientID" | "clientSecret";
|
fieldName: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SecurityInput =
|
export type SecurityInput =
|
||||||
@@ -89,17 +89,16 @@ export function resolveSecurity(...options: SecurityInput[][]): SecurityState |
|
|||||||
|
|
||||||
const option = options.find((opts) => {
|
const option = options.find((opts) => {
|
||||||
return opts.every((o) => {
|
return opts.every((o) => {
|
||||||
switch (true) {
|
if (o.value == null) {
|
||||||
case o.value == null:
|
return false;
|
||||||
return false;
|
} else if (o.type === "http:basic") {
|
||||||
case o.type === "http:basic":
|
return o.value.username != null || o.value.password != null;
|
||||||
return o.value.username != null || o.value.password != null;
|
} else if (typeof o.value === "string") {
|
||||||
case typeof o.value === "string":
|
return !!o.value;
|
||||||
return !!o.value;
|
} else {
|
||||||
default:
|
throw new Error(
|
||||||
throw new Error(
|
`Unrecognized security type: ${o.type} (value type: ${typeof o.value})`
|
||||||
`Unrecognized security type: ${o.type} (value type: ${typeof o.value})`
|
);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -170,7 +169,9 @@ function applyBearer(
|
|||||||
|
|
||||||
state.headers[spec.fieldName] = value;
|
state.headers[spec.fieldName] = value;
|
||||||
}
|
}
|
||||||
export function resolveGlobalSecurity(security: Partial<components.Security> | null | undefined) {
|
export function resolveGlobalSecurity(
|
||||||
|
security: Partial<components.Security> | null | undefined
|
||||||
|
): SecurityState | null {
|
||||||
return resolveSecurity([
|
return resolveSecurity([
|
||||||
{
|
{
|
||||||
fieldName: "X-Plex-Token",
|
fieldName: "X-Plex-Token",
|
||||||
|
|||||||
@@ -4,10 +4,12 @@
|
|||||||
|
|
||||||
const hasOwn = Object.prototype.hasOwnProperty;
|
const hasOwn = Object.prototype.hasOwnProperty;
|
||||||
|
|
||||||
|
export type Params = Partial<Record<string, string | number>>;
|
||||||
|
|
||||||
export function pathToFunc(
|
export function pathToFunc(
|
||||||
pathPattern: string,
|
pathPattern: string,
|
||||||
options?: { charEncoding?: "percent" | "none" },
|
options?: { charEncoding?: "percent" | "none" },
|
||||||
): (params?: Record<string, string | number>) => string {
|
): (params?: Params) => string {
|
||||||
const paramRE = /\{([a-zA-Z0-9_]+?)\}/g;
|
const paramRE = /\{([a-zA-Z0-9_]+?)\}/g;
|
||||||
|
|
||||||
return function buildURLPath(params: Record<string, unknown> = {}): string {
|
return function buildURLPath(params: Record<string, unknown> = {}): string {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
export class SDKError extends Error {
|
export class SDKError extends Error {
|
||||||
public readonly statusCode: number;
|
public readonly statusCode: number;
|
||||||
|
public readonly contentType: string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
message: string,
|
message: string,
|
||||||
@@ -11,11 +12,13 @@ export class SDKError extends Error {
|
|||||||
public readonly body: string = ""
|
public readonly body: string = ""
|
||||||
) {
|
) {
|
||||||
const statusCode = rawResponse.status;
|
const statusCode = rawResponse.status;
|
||||||
|
const contentType = rawResponse.headers.get("content-type") || "";
|
||||||
const bodyString = body.length > 0 ? `\n${body}` : "";
|
const bodyString = body.length > 0 ? `\n${body}` : "";
|
||||||
|
|
||||||
super(`${message}: Status ${statusCode}${bodyString}`);
|
super(`${message}: Status ${statusCode} Content-Type ${contentType} Body ${bodyString}`);
|
||||||
|
|
||||||
this.statusCode = statusCode;
|
this.statusCode = statusCode;
|
||||||
|
this.contentType = contentType;
|
||||||
|
|
||||||
this.name = "SDKError";
|
this.name = "SDKError";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export class SDKValidationError extends Error {
|
|||||||
this.rawValue = rawValue;
|
this.rawValue = rawValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override toString() {
|
public override toString(): string {
|
||||||
return `${this.message}: ${this.cause}`;
|
return `${this.message}: ${this.cause}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ export class SDKValidationError extends Error {
|
|||||||
* is a ZodError or some other recognized error type, otherwise return the
|
* is a ZodError or some other recognized error type, otherwise return the
|
||||||
* default error message.
|
* default error message.
|
||||||
*/
|
*/
|
||||||
public pretty() {
|
public pretty(): string {
|
||||||
if (this.cause instanceof z.ZodError) {
|
if (this.cause instanceof z.ZodError) {
|
||||||
return `${this.message}\n${formatZodError(this.cause)}`;
|
return `${this.message}\n${formatZodError(this.cause)}`;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ export type ApplyUpdatesResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Tonight$ = z.nativeEnum(Tonight);
|
export const Tonight$: z.ZodNativeEnum<typeof Tonight> = z.nativeEnum(Tonight);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Skip$ = z.nativeEnum(Skip);
|
export const Skip$: z.ZodNativeEnum<typeof Skip> = z.nativeEnum(Skip);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace ApplyUpdatesRequest$ {
|
export namespace ApplyUpdatesRequest$ {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export type CheckForUpdatesResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Download$ = z.nativeEnum(Download);
|
export const Download$: z.ZodNativeEnum<typeof Download> = z.nativeEnum(Download);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace CheckForUpdatesRequest$ {
|
export namespace CheckForUpdatesRequest$ {
|
||||||
|
|||||||
@@ -95,10 +95,10 @@ export type CreatePlaylistResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const QueryParamType$ = z.nativeEnum(QueryParamType);
|
export const QueryParamType$: z.ZodNativeEnum<typeof QueryParamType> = z.nativeEnum(QueryParamType);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Smart$ = z.nativeEnum(Smart);
|
export const Smart$: z.ZodNativeEnum<typeof Smart> = z.nativeEnum(Smart);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace CreatePlaylistRequest$ {
|
export namespace CreatePlaylistRequest$ {
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ export type GetGlobalHubsResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const OnlyTransient$ = z.nativeEnum(OnlyTransient);
|
export const OnlyTransient$: z.ZodNativeEnum<typeof OnlyTransient> = z.nativeEnum(OnlyTransient);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetGlobalHubsRequest$ {
|
export namespace GetGlobalHubsRequest$ {
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ export type GetLibraryResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const IncludeDetails$ = z.nativeEnum(IncludeDetails);
|
export const IncludeDetails$: z.ZodNativeEnum<typeof IncludeDetails> = z.nativeEnum(IncludeDetails);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetLibraryRequest$ {
|
export namespace GetLibraryRequest$ {
|
||||||
|
|||||||
@@ -170,7 +170,8 @@ export type GetLibraryHubsResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const QueryParamOnlyTransient$ = z.nativeEnum(QueryParamOnlyTransient);
|
export const QueryParamOnlyTransient$: z.ZodNativeEnum<typeof QueryParamOnlyTransient> =
|
||||||
|
z.nativeEnum(QueryParamOnlyTransient);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetLibraryHubsRequest$ {
|
export namespace GetLibraryHubsRequest$ {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -7,15 +7,6 @@ import * as z from "zod";
|
|||||||
export const GetPinServerList = ["https://plex.tv/api/v2"] as const;
|
export const GetPinServerList = ["https://plex.tv/api/v2"] as const;
|
||||||
|
|
||||||
export type GetPinRequest = {
|
export type GetPinRequest = {
|
||||||
/**
|
|
||||||
* The unique identifier for the client application
|
|
||||||
*
|
|
||||||
* @remarks
|
|
||||||
* This is used to track the client application and its usage
|
|
||||||
* (UUID, serial number, or other number unique per device)
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
xPlexClientIdentifier: string;
|
|
||||||
/**
|
/**
|
||||||
* Determines the kind of code returned by the API call
|
* Determines the kind of code returned by the API call
|
||||||
*
|
*
|
||||||
@@ -25,6 +16,15 @@ export type GetPinRequest = {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
strong?: boolean | undefined;
|
strong?: boolean | undefined;
|
||||||
|
/**
|
||||||
|
* The unique identifier for the client application
|
||||||
|
*
|
||||||
|
* @remarks
|
||||||
|
* This is used to track the client application and its usage
|
||||||
|
* (UUID, serial number, or other number unique per device)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
xPlexClientIdentifier?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type Location = {
|
export type Location = {
|
||||||
@@ -91,36 +91,40 @@ export type GetPinResponse = {
|
|||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetPinRequest$ {
|
export namespace GetPinRequest$ {
|
||||||
export type Inbound = {
|
export type Inbound = {
|
||||||
"X-Plex-Client-Identifier": string;
|
|
||||||
strong?: boolean | undefined;
|
strong?: boolean | undefined;
|
||||||
|
"X-Plex-Client-Identifier"?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const inboundSchema: z.ZodType<GetPinRequest, z.ZodTypeDef, Inbound> = z
|
export const inboundSchema: z.ZodType<GetPinRequest, z.ZodTypeDef, Inbound> = z
|
||||||
.object({
|
.object({
|
||||||
"X-Plex-Client-Identifier": z.string(),
|
|
||||||
strong: z.boolean().default(false),
|
strong: z.boolean().default(false),
|
||||||
|
"X-Plex-Client-Identifier": z.string().optional(),
|
||||||
})
|
})
|
||||||
.transform((v) => {
|
.transform((v) => {
|
||||||
return {
|
return {
|
||||||
xPlexClientIdentifier: v["X-Plex-Client-Identifier"],
|
|
||||||
strong: v.strong,
|
strong: v.strong,
|
||||||
|
...(v["X-Plex-Client-Identifier"] === undefined
|
||||||
|
? null
|
||||||
|
: { xPlexClientIdentifier: v["X-Plex-Client-Identifier"] }),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
export type Outbound = {
|
export type Outbound = {
|
||||||
"X-Plex-Client-Identifier": string;
|
|
||||||
strong: boolean;
|
strong: boolean;
|
||||||
|
"X-Plex-Client-Identifier"?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPinRequest> = z
|
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPinRequest> = z
|
||||||
.object({
|
.object({
|
||||||
xPlexClientIdentifier: z.string(),
|
|
||||||
strong: z.boolean().default(false),
|
strong: z.boolean().default(false),
|
||||||
|
xPlexClientIdentifier: z.string().optional(),
|
||||||
})
|
})
|
||||||
.transform((v) => {
|
.transform((v) => {
|
||||||
return {
|
return {
|
||||||
"X-Plex-Client-Identifier": v.xPlexClientIdentifier,
|
|
||||||
strong: v.strong,
|
strong: v.strong,
|
||||||
|
...(v.xPlexClientIdentifier === undefined
|
||||||
|
? null
|
||||||
|
: { "X-Plex-Client-Identifier": v.xPlexClientIdentifier }),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,10 +83,11 @@ export type GetPlaylistsResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const PlaylistType$ = z.nativeEnum(PlaylistType);
|
export const PlaylistType$: z.ZodNativeEnum<typeof PlaylistType> = z.nativeEnum(PlaylistType);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const QueryParamSmart$ = z.nativeEnum(QueryParamSmart);
|
export const QueryParamSmart$: z.ZodNativeEnum<typeof QueryParamSmart> =
|
||||||
|
z.nativeEnum(QueryParamSmart);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetPlaylistsRequest$ {
|
export namespace GetPlaylistsRequest$ {
|
||||||
|
|||||||
@@ -67,10 +67,10 @@ export type GetResizedPhotoResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const MinSize$ = z.nativeEnum(MinSize);
|
export const MinSize$: z.ZodNativeEnum<typeof MinSize> = z.nativeEnum(MinSize);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Upscale$ = z.nativeEnum(Upscale);
|
export const Upscale$: z.ZodNativeEnum<typeof Upscale> = z.nativeEnum(Upscale);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetResizedPhotoRequest$ {
|
export namespace GetResizedPhotoRequest$ {
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ export type GetTimelineResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const State$ = z.nativeEnum(State);
|
export const State$: z.ZodNativeEnum<typeof State> = z.nativeEnum(State);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetTimelineRequest$ {
|
export namespace GetTimelineRequest$ {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export type GetTokenRequest = {
|
|||||||
* (UUID, serial number, or other number unique per device)
|
* (UUID, serial number, or other number unique per device)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
xPlexClientIdentifier: string;
|
xPlexClientIdentifier?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type GetTokenResponse = {
|
export type GetTokenResponse = {
|
||||||
@@ -41,35 +41,39 @@ export type GetTokenResponse = {
|
|||||||
export namespace GetTokenRequest$ {
|
export namespace GetTokenRequest$ {
|
||||||
export type Inbound = {
|
export type Inbound = {
|
||||||
pinID: string;
|
pinID: string;
|
||||||
"X-Plex-Client-Identifier": string;
|
"X-Plex-Client-Identifier"?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const inboundSchema: z.ZodType<GetTokenRequest, z.ZodTypeDef, Inbound> = z
|
export const inboundSchema: z.ZodType<GetTokenRequest, z.ZodTypeDef, Inbound> = z
|
||||||
.object({
|
.object({
|
||||||
pinID: z.string(),
|
pinID: z.string(),
|
||||||
"X-Plex-Client-Identifier": z.string(),
|
"X-Plex-Client-Identifier": z.string().optional(),
|
||||||
})
|
})
|
||||||
.transform((v) => {
|
.transform((v) => {
|
||||||
return {
|
return {
|
||||||
pinID: v.pinID,
|
pinID: v.pinID,
|
||||||
xPlexClientIdentifier: v["X-Plex-Client-Identifier"],
|
...(v["X-Plex-Client-Identifier"] === undefined
|
||||||
|
? null
|
||||||
|
: { xPlexClientIdentifier: v["X-Plex-Client-Identifier"] }),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
export type Outbound = {
|
export type Outbound = {
|
||||||
pinID: string;
|
pinID: string;
|
||||||
"X-Plex-Client-Identifier": string;
|
"X-Plex-Client-Identifier"?: string | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetTokenRequest> = z
|
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetTokenRequest> = z
|
||||||
.object({
|
.object({
|
||||||
pinID: z.string(),
|
pinID: z.string(),
|
||||||
xPlexClientIdentifier: z.string(),
|
xPlexClientIdentifier: z.string().optional(),
|
||||||
})
|
})
|
||||||
.transform((v) => {
|
.transform((v) => {
|
||||||
return {
|
return {
|
||||||
pinID: v.pinID,
|
pinID: v.pinID,
|
||||||
"X-Plex-Client-Identifier": v.xPlexClientIdentifier,
|
...(v.xPlexClientIdentifier === undefined
|
||||||
|
? null
|
||||||
|
: { "X-Plex-Client-Identifier": v.xPlexClientIdentifier }),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,10 +45,12 @@ export type GetTransientTokenResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const GetTransientTokenQueryParamType$ = z.nativeEnum(GetTransientTokenQueryParamType);
|
export const GetTransientTokenQueryParamType$: z.ZodNativeEnum<
|
||||||
|
typeof GetTransientTokenQueryParamType
|
||||||
|
> = z.nativeEnum(GetTransientTokenQueryParamType);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Scope$ = z.nativeEnum(Scope);
|
export const Scope$: z.ZodNativeEnum<typeof Scope> = z.nativeEnum(Scope);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace GetTransientTokenRequest$ {
|
export namespace GetTransientTokenRequest$ {
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ export * from "./getglobalhubs";
|
|||||||
export * from "./getlibraries";
|
export * from "./getlibraries";
|
||||||
export * from "./getlibrary";
|
export * from "./getlibrary";
|
||||||
export * from "./getlibraryhubs";
|
export * from "./getlibraryhubs";
|
||||||
export * from "./getlibraryitems";
|
|
||||||
export * from "./getmetadata";
|
export * from "./getmetadata";
|
||||||
export * from "./getmetadatachildren";
|
export * from "./getmetadatachildren";
|
||||||
export * from "./getmyplexaccount";
|
export * from "./getmyplexaccount";
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ export type LogLineResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Level$ = z.nativeEnum(Level);
|
export const Level$: z.ZodNativeEnum<typeof Level> = z.nativeEnum(Level);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace LogLineRequest$ {
|
export namespace LogLineRequest$ {
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ export type SearchLibraryResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Type$ = z.nativeEnum(Type);
|
export const Type$: z.ZodNativeEnum<typeof Type> = z.nativeEnum(Type);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace SearchLibraryRequest$ {
|
export namespace SearchLibraryRequest$ {
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export type StartTaskResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const TaskName$ = z.nativeEnum(TaskName);
|
export const TaskName$: z.ZodNativeEnum<typeof TaskName> = z.nativeEnum(TaskName);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace StartTaskRequest$ {
|
export namespace StartTaskRequest$ {
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ export type StopTaskResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const PathParamTaskName$ = z.nativeEnum(PathParamTaskName);
|
export const PathParamTaskName$: z.ZodNativeEnum<typeof PathParamTaskName> =
|
||||||
|
z.nativeEnum(PathParamTaskName);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace StopTaskRequest$ {
|
export namespace StopTaskRequest$ {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export type UploadPlaylistResponse = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const Force$ = z.nativeEnum(Force);
|
export const Force$: z.ZodNativeEnum<typeof Force> = z.nativeEnum(Force);
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export namespace UploadPlaylistRequest$ {
|
export namespace UploadPlaylistRequest$ {
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ export class Activities extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -82,12 +83,13 @@ export class Activities extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -118,7 +120,11 @@ export class Activities extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +178,8 @@ export class Activities extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -184,12 +191,13 @@ export class Activities extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -209,7 +217,11 @@ export class Activities extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -90,7 +90,8 @@ export class Authentication extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -102,12 +103,13 @@ export class Authentication extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -127,7 +129,11 @@ export class Authentication extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -188,7 +194,8 @@ export class Authentication extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -200,12 +207,13 @@ export class Authentication extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -225,7 +233,11 @@ export class Authentication extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -69,7 +69,8 @@ export class Butler extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -80,12 +81,13 @@ export class Butler extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -116,7 +118,11 @@ export class Butler extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +162,8 @@ export class Butler extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -167,12 +174,13 @@ export class Butler extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -192,7 +200,11 @@ export class Butler extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -234,7 +246,8 @@ export class Butler extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -245,12 +258,13 @@ export class Butler extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -270,7 +284,11 @@ export class Butler extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -335,7 +353,8 @@ export class Butler extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -347,12 +366,13 @@ export class Butler extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, [200, 202])) {
|
if (this.matchStatusCode(response, [200, 202])) {
|
||||||
@@ -372,7 +392,11 @@ export class Butler extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -433,7 +457,8 @@ export class Butler extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "404", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "404", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -445,12 +470,13 @@ export class Butler extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -470,7 +496,11 @@ export class Butler extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -92,7 +92,8 @@ export class Hubs extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -104,12 +105,13 @@ export class Hubs extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -140,7 +142,11 @@ export class Hubs extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +213,8 @@ export class Hubs extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -219,12 +226,13 @@ export class Hubs extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -255,7 +263,11 @@ export class Hubs extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -101,12 +102,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -126,7 +128,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -168,7 +174,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -179,12 +186,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -215,7 +223,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +268,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -267,12 +280,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -303,7 +317,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -405,7 +423,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -417,12 +436,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -453,7 +473,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -507,7 +531,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -519,12 +544,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -544,7 +570,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -554,121 +584,6 @@ export class Library extends ClientSDK {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Library Items
|
|
||||||
*
|
|
||||||
* @remarks
|
|
||||||
* Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values:
|
|
||||||
* - `all`: All items in the section.
|
|
||||||
* - `unwatched`: Items that have not been played.
|
|
||||||
* - `newest`: Items that are recently released.
|
|
||||||
* - `recentlyAdded`: Items that are recently added to the library.
|
|
||||||
* - `recentlyViewed`: Items that were recently viewed.
|
|
||||||
* - `onDeck`: Items to continue watching.
|
|
||||||
* - `collection`: Items categorized by collection.
|
|
||||||
* - `edition`: Items categorized by edition.
|
|
||||||
* - `genre`: Items categorized by genre.
|
|
||||||
* - `year`: Items categorized by year of release.
|
|
||||||
* - `decade`: Items categorized by decade.
|
|
||||||
* - `director`: Items categorized by director.
|
|
||||||
* - `actor`: Items categorized by starring actor.
|
|
||||||
* - `country`: Items categorized by country of origin.
|
|
||||||
* - `contentRating`: Items categorized by content rating.
|
|
||||||
* - `rating`: Items categorized by rating.
|
|
||||||
* - `resolution`: Items categorized by resolution.
|
|
||||||
* - `firstCharacter`: Items categorized by the first letter.
|
|
||||||
* - `folder`: Items categorized by folder.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
async getLibraryItems(
|
|
||||||
sectionId: number,
|
|
||||||
tag: operations.Tag,
|
|
||||||
options?: RequestOptions
|
|
||||||
): Promise<operations.GetLibraryItemsResponse> {
|
|
||||||
const input$: operations.GetLibraryItemsRequest = {
|
|
||||||
sectionId: sectionId,
|
|
||||||
tag: tag,
|
|
||||||
};
|
|
||||||
const headers$ = new Headers();
|
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
|
||||||
headers$.set("Accept", "application/json");
|
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
|
||||||
input$,
|
|
||||||
(value$) => operations.GetLibraryItemsRequest$.outboundSchema.parse(value$),
|
|
||||||
"Input validation failed"
|
|
||||||
);
|
|
||||||
const body$ = null;
|
|
||||||
|
|
||||||
const pathParams$ = {
|
|
||||||
sectionId: enc$.encodeSimple("sectionId", payload$.sectionId, {
|
|
||||||
explode: false,
|
|
||||||
charEncoding: "percent",
|
|
||||||
}),
|
|
||||||
tag: enc$.encodeSimple("tag", payload$.tag, {
|
|
||||||
explode: false,
|
|
||||||
charEncoding: "percent",
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
const path$ = this.templateURLComponent("/library/sections/{sectionId}/{tag}")(pathParams$);
|
|
||||||
|
|
||||||
const query$ = "";
|
|
||||||
|
|
||||||
let security$;
|
|
||||||
if (typeof this.options$.accessToken === "function") {
|
|
||||||
security$ = { accessToken: await this.options$.accessToken() };
|
|
||||||
} else if (this.options$.accessToken) {
|
|
||||||
security$ = { accessToken: this.options$.accessToken };
|
|
||||||
} else {
|
|
||||||
security$ = {};
|
|
||||||
}
|
|
||||||
const context = {
|
|
||||||
operationID: "getLibraryItems",
|
|
||||||
oAuth2Scopes: [],
|
|
||||||
securitySource: this.options$.accessToken,
|
|
||||||
};
|
|
||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["4XX", "5XX"] };
|
|
||||||
const request = this.createRequest$(
|
|
||||||
{
|
|
||||||
security: securitySettings$,
|
|
||||||
method: "GET",
|
|
||||||
path: path$,
|
|
||||||
headers: headers$,
|
|
||||||
query: query$,
|
|
||||||
body: body$,
|
|
||||||
},
|
|
||||||
options
|
|
||||||
);
|
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
|
||||||
|
|
||||||
const responseFields$ = {
|
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
|
||||||
StatusCode: response.status,
|
|
||||||
RawResponse: response,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
|
||||||
const responseBody = await response.json();
|
|
||||||
const result = schemas$.parse(
|
|
||||||
responseBody,
|
|
||||||
(val$) => {
|
|
||||||
return operations.GetLibraryItemsResponse$.inboundSchema.parse({
|
|
||||||
...responseFields$,
|
|
||||||
object: val$,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
"Response validation failed"
|
|
||||||
);
|
|
||||||
return result;
|
|
||||||
} else {
|
|
||||||
const responseBody = await response.text();
|
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Refresh Library
|
* Refresh Library
|
||||||
*
|
*
|
||||||
@@ -722,7 +637,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -734,12 +650,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -759,7 +676,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -845,7 +766,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -857,12 +779,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -880,7 +803,11 @@ export class Library extends ClientSDK {
|
|||||||
return result;
|
return result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -935,7 +862,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -947,12 +875,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -983,7 +912,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1040,7 +973,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -1052,12 +986,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -1088,7 +1023,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1124,7 +1063,8 @@ export class Library extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -1135,12 +1075,13 @@ export class Library extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -1171,7 +1112,11 @@ export class Library extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ export class Log extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -109,12 +110,13 @@ export class Log extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -134,7 +136,11 @@ export class Log extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -172,16 +178,17 @@ export class Log extends ClientSDK {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
async logMultiLine(
|
async logMultiLine(
|
||||||
input: string,
|
request: string,
|
||||||
options?: RequestOptions
|
options?: RequestOptions
|
||||||
): Promise<operations.LogMultiLineResponse> {
|
): Promise<operations.LogMultiLineResponse> {
|
||||||
|
const input$ = request;
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
headers$.set("Content-Type", "text/plain");
|
headers$.set("Content-Type", "text/plain");
|
||||||
headers$.set("Accept", "application/json");
|
headers$.set("Accept", "application/json");
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
const payload$ = schemas$.parse(
|
||||||
input,
|
input$,
|
||||||
(value$) => z.string().parse(value$),
|
(value$) => z.string().parse(value$),
|
||||||
"Input validation failed"
|
"Input validation failed"
|
||||||
);
|
);
|
||||||
@@ -207,7 +214,8 @@ export class Log extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -219,12 +227,13 @@ export class Log extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -244,7 +253,11 @@ export class Log extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -286,7 +299,8 @@ export class Log extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "403", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "403", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -297,12 +311,13 @@ export class Log extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -322,7 +337,11 @@ export class Log extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -86,7 +86,8 @@ export class Media extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -98,12 +99,13 @@ export class Media extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -123,7 +125,11 @@ export class Media extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -181,7 +187,8 @@ export class Media extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -193,12 +200,13 @@ export class Media extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -218,7 +226,11 @@ export class Media extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -283,7 +295,8 @@ export class Media extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -295,12 +308,13 @@ export class Media extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -320,7 +334,11 @@ export class Media extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -48,15 +48,16 @@ export class Playlists extends ClientSDK {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
async createPlaylist(
|
async createPlaylist(
|
||||||
input: operations.CreatePlaylistRequest,
|
request: operations.CreatePlaylistRequest,
|
||||||
options?: RequestOptions
|
options?: RequestOptions
|
||||||
): Promise<operations.CreatePlaylistResponse> {
|
): Promise<operations.CreatePlaylistResponse> {
|
||||||
|
const input$ = request;
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
headers$.set("Accept", "application/json");
|
headers$.set("Accept", "application/json");
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
const payload$ = schemas$.parse(
|
||||||
input,
|
input$,
|
||||||
(value$) => operations.CreatePlaylistRequest$.outboundSchema.parse(value$),
|
(value$) => operations.CreatePlaylistRequest$.outboundSchema.parse(value$),
|
||||||
"Input validation failed"
|
"Input validation failed"
|
||||||
);
|
);
|
||||||
@@ -93,7 +94,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -105,12 +107,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -141,7 +144,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +206,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -211,12 +219,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -247,7 +256,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,7 +316,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -315,12 +329,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -351,7 +366,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -406,7 +425,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -418,12 +438,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -443,7 +464,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -516,7 +541,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
@@ -528,12 +554,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -553,7 +580,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -623,7 +654,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -635,12 +667,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -671,7 +704,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -726,7 +763,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -738,12 +776,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -763,7 +802,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -837,7 +880,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
@@ -849,12 +893,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -885,7 +930,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -941,7 +990,8 @@ export class Playlists extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -953,12 +1003,13 @@ export class Playlists extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -978,7 +1029,11 @@ export class Playlists extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ export class Plex extends ClientSDK {
|
|||||||
* Retrieve a Pin from Plex.tv for authentication flows
|
* Retrieve a Pin from Plex.tv for authentication flows
|
||||||
*/
|
*/
|
||||||
async getPin(
|
async getPin(
|
||||||
xPlexClientIdentifier: string,
|
|
||||||
strong?: boolean | undefined,
|
strong?: boolean | undefined,
|
||||||
|
xPlexClientIdentifier?: string | undefined,
|
||||||
options?: RequestOptions & { serverURL?: string }
|
options?: RequestOptions & { serverURL?: string }
|
||||||
): Promise<operations.GetPinResponse> {
|
): Promise<operations.GetPinResponse> {
|
||||||
const input$: operations.GetPinRequest = {
|
const input$: operations.GetPinRequest = {
|
||||||
xPlexClientIdentifier: xPlexClientIdentifier,
|
|
||||||
strong: strong,
|
strong: strong,
|
||||||
|
xPlexClientIdentifier: xPlexClientIdentifier,
|
||||||
};
|
};
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
@@ -79,15 +79,17 @@ export class Plex extends ClientSDK {
|
|||||||
|
|
||||||
headers$.set(
|
headers$.set(
|
||||||
"X-Plex-Client-Identifier",
|
"X-Plex-Client-Identifier",
|
||||||
enc$.encodeSimple("X-Plex-Client-Identifier", payload$["X-Plex-Client-Identifier"], {
|
enc$.encodeSimple(
|
||||||
explode: false,
|
"X-Plex-Client-Identifier",
|
||||||
charEncoding: "none",
|
payload$["X-Plex-Client-Identifier"] ?? this.options$.xPlexClientIdentifier,
|
||||||
})
|
{ explode: false, charEncoding: "none" }
|
||||||
|
)
|
||||||
);
|
);
|
||||||
const context = { operationID: "getPin", oAuth2Scopes: [], securitySource: null };
|
const context = { operationID: "getPin", oAuth2Scopes: [], securitySource: null };
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
method: "POST",
|
method: "POST",
|
||||||
baseURL: baseURL$,
|
baseURL: baseURL$,
|
||||||
@@ -99,12 +101,13 @@ export class Plex extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -135,7 +138,11 @@ export class Plex extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +154,7 @@ export class Plex extends ClientSDK {
|
|||||||
*/
|
*/
|
||||||
async getToken(
|
async getToken(
|
||||||
pinID: string,
|
pinID: string,
|
||||||
xPlexClientIdentifier: string,
|
xPlexClientIdentifier?: string | undefined,
|
||||||
options?: RequestOptions & { serverURL?: string }
|
options?: RequestOptions & { serverURL?: string }
|
||||||
): Promise<operations.GetTokenResponse> {
|
): Promise<operations.GetTokenResponse> {
|
||||||
const input$: operations.GetTokenRequest = {
|
const input$: operations.GetTokenRequest = {
|
||||||
@@ -182,15 +189,17 @@ export class Plex extends ClientSDK {
|
|||||||
|
|
||||||
headers$.set(
|
headers$.set(
|
||||||
"X-Plex-Client-Identifier",
|
"X-Plex-Client-Identifier",
|
||||||
enc$.encodeSimple("X-Plex-Client-Identifier", payload$["X-Plex-Client-Identifier"], {
|
enc$.encodeSimple(
|
||||||
explode: false,
|
"X-Plex-Client-Identifier",
|
||||||
charEncoding: "none",
|
payload$["X-Plex-Client-Identifier"] ?? this.options$.xPlexClientIdentifier,
|
||||||
})
|
{ explode: false, charEncoding: "none" }
|
||||||
|
)
|
||||||
);
|
);
|
||||||
const context = { operationID: "getToken", oAuth2Scopes: [], securitySource: null };
|
const context = { operationID: "getToken", oAuth2Scopes: [], securitySource: null };
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
method: "GET",
|
method: "GET",
|
||||||
baseURL: baseURL$,
|
baseURL: baseURL$,
|
||||||
@@ -202,12 +211,13 @@ export class Plex extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -227,7 +237,11 @@ export class Plex extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -50,77 +50,77 @@ export class PlexAPI extends ClientSDK {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _server?: Server;
|
private _server?: Server;
|
||||||
get server() {
|
get server(): Server {
|
||||||
return (this._server ??= new Server(this.options$));
|
return (this._server ??= new Server(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _media?: Media;
|
private _media?: Media;
|
||||||
get media() {
|
get media(): Media {
|
||||||
return (this._media ??= new Media(this.options$));
|
return (this._media ??= new Media(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _video?: Video;
|
private _video?: Video;
|
||||||
get video() {
|
get video(): Video {
|
||||||
return (this._video ??= new Video(this.options$));
|
return (this._video ??= new Video(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _activities?: Activities;
|
private _activities?: Activities;
|
||||||
get activities() {
|
get activities(): Activities {
|
||||||
return (this._activities ??= new Activities(this.options$));
|
return (this._activities ??= new Activities(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _butler?: Butler;
|
private _butler?: Butler;
|
||||||
get butler() {
|
get butler(): Butler {
|
||||||
return (this._butler ??= new Butler(this.options$));
|
return (this._butler ??= new Butler(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _hubs?: Hubs;
|
private _hubs?: Hubs;
|
||||||
get hubs() {
|
get hubs(): Hubs {
|
||||||
return (this._hubs ??= new Hubs(this.options$));
|
return (this._hubs ??= new Hubs(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _search?: Search;
|
private _search?: Search;
|
||||||
get search() {
|
get search(): Search {
|
||||||
return (this._search ??= new Search(this.options$));
|
return (this._search ??= new Search(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _library?: Library;
|
private _library?: Library;
|
||||||
get library() {
|
get library(): Library {
|
||||||
return (this._library ??= new Library(this.options$));
|
return (this._library ??= new Library(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _log?: Log;
|
private _log?: Log;
|
||||||
get log() {
|
get log(): Log {
|
||||||
return (this._log ??= new Log(this.options$));
|
return (this._log ??= new Log(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _plex?: Plex;
|
private _plex?: Plex;
|
||||||
get plex() {
|
get plex(): Plex {
|
||||||
return (this._plex ??= new Plex(this.options$));
|
return (this._plex ??= new Plex(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _playlists?: Playlists;
|
private _playlists?: Playlists;
|
||||||
get playlists() {
|
get playlists(): Playlists {
|
||||||
return (this._playlists ??= new Playlists(this.options$));
|
return (this._playlists ??= new Playlists(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _authentication?: Authentication;
|
private _authentication?: Authentication;
|
||||||
get authentication() {
|
get authentication(): Authentication {
|
||||||
return (this._authentication ??= new Authentication(this.options$));
|
return (this._authentication ??= new Authentication(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _statistics?: Statistics;
|
private _statistics?: Statistics;
|
||||||
get statistics() {
|
get statistics(): Statistics {
|
||||||
return (this._statistics ??= new Statistics(this.options$));
|
return (this._statistics ??= new Statistics(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _sessions?: Sessions;
|
private _sessions?: Sessions;
|
||||||
get sessions() {
|
get sessions(): Sessions {
|
||||||
return (this._sessions ??= new Sessions(this.options$));
|
return (this._sessions ??= new Sessions(this.options$));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _updater?: Updater;
|
private _updater?: Updater;
|
||||||
get updater() {
|
get updater(): Updater {
|
||||||
return (this._updater ??= new Updater(this.options$));
|
return (this._updater ??= new Updater(this.options$));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,7 +107,8 @@ export class Search extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -119,12 +120,13 @@ export class Search extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -144,7 +146,11 @@ export class Search extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -215,7 +221,8 @@ export class Search extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -227,12 +234,13 @@ export class Search extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -252,7 +260,11 @@ export class Search extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -310,7 +322,8 @@ export class Search extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -322,12 +335,13 @@ export class Search extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -358,7 +372,11 @@ export class Search extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -82,12 +83,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -118,7 +120,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,7 +161,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -166,12 +173,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -202,7 +210,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -239,7 +251,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -250,12 +263,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -286,7 +300,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,7 +339,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -332,12 +351,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -368,7 +388,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -405,7 +429,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -416,12 +441,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -452,7 +478,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,7 +517,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -498,12 +529,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -534,7 +566,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,15 +582,16 @@ export class Server extends ClientSDK {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
async getResizedPhoto(
|
async getResizedPhoto(
|
||||||
input: operations.GetResizedPhotoRequest,
|
request: operations.GetResizedPhotoRequest,
|
||||||
options?: RequestOptions
|
options?: RequestOptions
|
||||||
): Promise<operations.GetResizedPhotoResponse> {
|
): Promise<operations.GetResizedPhotoResponse> {
|
||||||
|
const input$ = request;
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
headers$.set("Accept", "application/json");
|
headers$.set("Accept", "application/json");
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
const payload$ = schemas$.parse(
|
||||||
input,
|
input$,
|
||||||
(value$) => operations.GetResizedPhotoRequest$.outboundSchema.parse(value$),
|
(value$) => operations.GetResizedPhotoRequest$.outboundSchema.parse(value$),
|
||||||
"Input validation failed"
|
"Input validation failed"
|
||||||
);
|
);
|
||||||
@@ -599,7 +636,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -611,12 +649,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -636,7 +675,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -677,7 +720,8 @@ export class Server extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -688,12 +732,13 @@ export class Server extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -724,7 +769,11 @@ export class Server extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,8 @@ export class Sessions extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -80,12 +81,13 @@ export class Sessions extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -116,7 +118,11 @@ export class Sessions extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +159,8 @@ export class Sessions extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -164,12 +171,13 @@ export class Sessions extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -200,7 +208,11 @@ export class Sessions extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +249,8 @@ export class Sessions extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -248,12 +261,13 @@ export class Sessions extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -284,7 +298,11 @@ export class Sessions extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,7 +356,8 @@ export class Sessions extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
@@ -350,12 +369,13 @@ export class Sessions extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 204)) {
|
if (this.matchStatusCode(response, 204)) {
|
||||||
@@ -375,7 +395,11 @@ export class Sessions extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ export class Statistics extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -101,12 +102,13 @@ export class Statistics extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -137,7 +139,11 @@ export class Statistics extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,8 @@ export class Updater extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -80,12 +81,13 @@ export class Updater extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchResponse(response, 200, "application/json")) {
|
if (this.matchResponse(response, 200, "application/json")) {
|
||||||
@@ -116,7 +118,11 @@ export class Updater extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,7 +177,8 @@ export class Updater extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
@@ -183,12 +190,13 @@ export class Updater extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -208,7 +216,11 @@ export class Updater extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -273,7 +285,8 @@ export class Updater extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "500", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "500", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
@@ -285,12 +298,13 @@ export class Updater extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -310,7 +324,11 @@ export class Updater extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -45,15 +45,16 @@ export class Video extends ClientSDK {
|
|||||||
* Get the timeline for a media item
|
* Get the timeline for a media item
|
||||||
*/
|
*/
|
||||||
async getTimeline(
|
async getTimeline(
|
||||||
input: operations.GetTimelineRequest,
|
request: operations.GetTimelineRequest,
|
||||||
options?: RequestOptions
|
options?: RequestOptions
|
||||||
): Promise<operations.GetTimelineResponse> {
|
): Promise<operations.GetTimelineResponse> {
|
||||||
|
const input$ = request;
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
headers$.set("Accept", "application/json");
|
headers$.set("Accept", "application/json");
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
const payload$ = schemas$.parse(
|
||||||
input,
|
input$,
|
||||||
(value$) => operations.GetTimelineRequest$.outboundSchema.parse(value$),
|
(value$) => operations.GetTimelineRequest$.outboundSchema.parse(value$),
|
||||||
"Input validation failed"
|
"Input validation failed"
|
||||||
);
|
);
|
||||||
@@ -107,7 +108,8 @@ export class Video extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -119,12 +121,13 @@ export class Video extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -144,7 +147,11 @@ export class Video extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
@@ -161,15 +168,16 @@ export class Video extends ClientSDK {
|
|||||||
* Begin a Universal Transcode Session
|
* Begin a Universal Transcode Session
|
||||||
*/
|
*/
|
||||||
async startUniversalTranscode(
|
async startUniversalTranscode(
|
||||||
input: operations.StartUniversalTranscodeRequest,
|
request: operations.StartUniversalTranscodeRequest,
|
||||||
options?: RequestOptions
|
options?: RequestOptions
|
||||||
): Promise<operations.StartUniversalTranscodeResponse> {
|
): Promise<operations.StartUniversalTranscodeResponse> {
|
||||||
|
const input$ = request;
|
||||||
const headers$ = new Headers();
|
const headers$ = new Headers();
|
||||||
headers$.set("user-agent", SDK_METADATA.userAgent);
|
headers$.set("user-agent", SDK_METADATA.userAgent);
|
||||||
headers$.set("Accept", "application/json");
|
headers$.set("Accept", "application/json");
|
||||||
|
|
||||||
const payload$ = schemas$.parse(
|
const payload$ = schemas$.parse(
|
||||||
input,
|
input$,
|
||||||
(value$) => operations.StartUniversalTranscodeRequest$.outboundSchema.parse(value$),
|
(value$) => operations.StartUniversalTranscodeRequest$.outboundSchema.parse(value$),
|
||||||
"Input validation failed"
|
"Input validation failed"
|
||||||
);
|
);
|
||||||
@@ -256,7 +264,8 @@ export class Video extends ClientSDK {
|
|||||||
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
||||||
|
|
||||||
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
|
||||||
const request = this.createRequest$(
|
const request$ = this.createRequest$(
|
||||||
|
context,
|
||||||
{
|
{
|
||||||
security: securitySettings$,
|
security: securitySettings$,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -268,12 +277,13 @@ export class Video extends ClientSDK {
|
|||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
const response = await this.do$(request, doOptions);
|
const response = await this.do$(request$, doOptions);
|
||||||
|
|
||||||
const responseFields$ = {
|
const responseFields$ = {
|
||||||
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
ContentType: response.headers.get("content-type") ?? "application/octet-stream",
|
||||||
StatusCode: response.status,
|
StatusCode: response.status,
|
||||||
RawResponse: response,
|
RawResponse: response,
|
||||||
|
Headers: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.matchStatusCode(response, 200)) {
|
if (this.matchStatusCode(response, 200)) {
|
||||||
@@ -293,7 +303,11 @@ export class Video extends ClientSDK {
|
|||||||
throw result;
|
throw result;
|
||||||
} else {
|
} else {
|
||||||
const responseBody = await response.text();
|
const responseBody = await response.text();
|
||||||
throw new errors.SDKError("Unexpected API response", response, responseBody);
|
throw new errors.SDKError(
|
||||||
|
"Unexpected API response status or content-type",
|
||||||
|
response,
|
||||||
|
responseBody
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return schemas$.parse(
|
return schemas$.parse(
|
||||||
|
|||||||
@@ -4,10 +4,11 @@
|
|||||||
|
|
||||||
import * as z from "zod";
|
import * as z from "zod";
|
||||||
|
|
||||||
export const blobLikeSchema = z.custom<Blob>(isBlobLike, {
|
export const blobLikeSchema: z.ZodType<Blob, z.ZodTypeDef, Blob> =
|
||||||
message: "expected a Blob, File or Blob-like object",
|
z.custom<Blob>(isBlobLike, {
|
||||||
fatal: true,
|
message: "expected a Blob, File or Blob-like object",
|
||||||
});
|
fatal: true,
|
||||||
|
});
|
||||||
|
|
||||||
export function isBlobLike(val: unknown): val is Blob {
|
export function isBlobLike(val: unknown): val is Blob {
|
||||||
if (val instanceof Blob) {
|
if (val instanceof Blob) {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user