Compare commits

..

22 Commits

Author SHA1 Message Date
speakeasybot
53f3bfd615 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.277.0 2024-04-30 00:28:14 +00:00
speakeasybot
92b22220f1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.276.0 2024-04-29 00:28:07 +00:00
speakeasybot
a42f887042 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.276.0 2024-04-28 00:30:12 +00:00
speakeasybot
8b9c5c6e41 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.276.0 2024-04-27 00:26:39 +00:00
speakeasybot
eab41f5f41 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.274.1 2024-04-26 00:27:29 +00:00
speakeasybot
e038f1fdcf ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.274.1 2024-04-25 00:31:21 +00:00
Luke Hagar
835f4244ec regenerated 2024-04-24 15:51:11 -05:00
speakeasybot
287c5cb9ad ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.269.1 2024-04-23 00:27:12 +00:00
Luke Hagar
521174faf5 Update jsr.json 2024-04-22 11:37:36 -05:00
Luke Hagar
6fe948fa1e Update publish-jsr.yaml 2024-04-22 11:35:59 -05:00
Luke Hagar
4abb238f51 Update publish-jsr.yaml 2024-04-22 11:35:41 -05:00
Luke Hagar
c10b6af7de Merge branch 'main' of https://github.com/LukeHagar/plexjs 2024-04-22 11:34:22 -05:00
Luke Hagar
6bec4430ff Separated publish action 2024-04-22 11:34:20 -05:00
Luke Hagar
3fe4aee2ea Update speakeasy_sdk_generation.yml 2024-04-22 11:31:20 -05:00
speakeasybot
5b4a51bee7 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.267.2 2024-04-22 16:28:00 +00:00
Luke Hagar
b0cc884d46 Merge branch 'main' of https://github.com/LukeHagar/plexjs 2024-04-22 11:23:11 -05:00
Luke Hagar
a1dc07ae78 Updated generation to also publish to JSR 2024-04-22 11:22:58 -05:00
Luke Hagar
d100297e1d CodeSee is gone 2024-04-22 11:20:58 -05:00
Luke Hagar
14f7d530ec Updated workflow artifacts 2024-04-22 11:20:16 -05:00
Luke Hagar
622219b018 Removed legacy artifacts 2024-04-22 11:20:01 -05:00
speakeasybot
c4dd496e24 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.267.2 2024-04-22 16:16:50 +00:00
speakeasybot
cdda7f840f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.267.0 2024-04-20 00:26:17 +00:00
55 changed files with 1704 additions and 927 deletions

View File

@@ -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
View 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

View File

@@ -1,26 +1,28 @@
name: Generate
permissions:
checks: write
contents: write
pull-requests: write
statuses: write
"on":
workflow_dispatch:
inputs:
force:
description: Force generation of SDKs
type: boolean
default: false
schedule:
- cron: 0 0 * * *
checks: write
contents: write
pull-requests: write
statuses: write
on:
workflow_dispatch:
inputs:
force:
description: Force generation of SDKs
type: boolean
default: false
schedule:
- cron: 0 0 * * *
jobs:
generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with:
force: ${{ github.event.inputs.force }}
mode: direct
speakeasy_version: latest
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with:
force: ${{ github.event.inputs.force }}
mode: direct
speakeasy_version: latest
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}

View File

@@ -1,12 +1,12 @@
lockVersion: 2.0.0
id: 16f22cbf-f23f-4419-8924-3a4b06381947
management:
docChecksum: a91eaf9ec1e6a3a6f4bf0571f5b18bae
docChecksum: 7a43cd3413d535205cfaee20a4b6a250
docVersion: 0.0.3
speakeasyVersion: 1.260.6
generationVersion: 2.311.1
releaseVersion: 0.13.0
configChecksum: 62265d55fc035cecbf6f03081c6e5587
speakeasyVersion: 1.277.0
generationVersion: 2.317.0
releaseVersion: 0.14.1
configChecksum: 398598dba425aa0436966c866c6282c9
repoURL: https://github.com/LukeHagar/plexjs.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexjs
@@ -14,7 +14,7 @@ management:
features:
typescript:
constsAndDefaults: 0.1.5
core: 3.8.0
core: 3.9.2
flattening: 2.81.1
globalSecurity: 2.82.9
globalServerURLs: 2.82.4

View File

@@ -12,7 +12,7 @@ generation:
auth:
oAuth2ClientCredentialsEnabled: false
typescript:
version: 0.13.0
version: 0.14.1
additionalDependencies:
dependencies: {}
devDependencies: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.260.6
speakeasyVersion: 1.277.0
sources:
my-source: {}
targets:
@@ -19,3 +19,5 @@ workflow:
publish:
npm:
token: $NPM_TOKEN
codeSamples:
output: codeSamples.yaml

View File

@@ -1,13 +1,15 @@
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
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
plexjs:
target: typescript
source: my-source
codeSamples:
output: codeSamples.yaml
publish:
npm:
token: $NPM_TOKEN

View File

@@ -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; }

View File

@@ -33,7 +33,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -176,7 +176,7 @@ import * as errors from "@lukehagar/plexjs/models/errors";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -228,7 +228,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
serverIdx: 0,
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -259,7 +259,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
serverURL: "{protocol}://{ip}:{port}",
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -280,12 +280,12 @@ The server URL can also be overridden on a per-operation basis, provided a serve
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const strong = false;
const xPlexClientIdentifier = "<value>";
const xPlexClientIdentifier = "Postman";
const result = await plexAPI.plex.getPin(strong, xPlexClientIdentifier, {
serverURL: "https://plex.tv/api/v2",
@@ -366,7 +366,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -392,7 +392,7 @@ For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
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 `"<value>"` 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.
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
@@ -413,12 +413,12 @@ This is used to track the client application and its usage
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const strong = false;
const xPlexClientIdentifier = "<value>";
const xPlexClientIdentifier = "Postman";
const result = await plexAPI.plex.getPin(strong, xPlexClientIdentifier);

View File

@@ -329,3 +329,103 @@ Based on:
- [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 - .

View File

@@ -4,7 +4,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

760
codeSamples.yaml Normal file
View File

@@ -0,0 +1,760 @@
overlay: 1.0.0
info:
title: CodeSamples overlay for typescript target
version: 0.0.0
actions:
- target: $["paths"]["/"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerCapabilities
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getServerCapabilities();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/devices"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getDevices
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getDevices();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
update:
x-codeSamples:
- lang: typescript
label: startUniversalTranscode
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.startUniversalTranscode({
hasMDE: 8924.99,
path: "/etc/mail",
mediaIndex: 9962.95,
partIndex: 1232.82,
protocol: "<value>",
});
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/library/sections/{sectionId}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deleteLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 1000;\n \n const result = await plexAPI.deleteLibrary(sectionId);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["post"]
update:
x-codeSamples:
- lang: typescript
label: logMultiLine
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.logMultiLine("level=4&message=Test%20message%201&source=postman
level=3&message=Test%20message%202&source=postman
level=1&message=Test%20message%203&source=postman");
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/security/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSourceConnectionInformation
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const source = \"server://client-identifier\";\n \n const result = await plexAPI.getSourceConnectionInformation(source);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/clients"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getAvailableClients
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getAvailableClients();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/myplex/account"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMyPlexAccount
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getMyPlexAccount();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/servers"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerList
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getServerList();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/butler"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopAllTasks
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.stopAllTasks();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/hubs/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const query = \"dylan\";\n const sectionId = 1516.53;\n const limit = 5;\n \n const result = await plexAPI.performSearch(query, sectionId, limit);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["get"]
update:
x-codeSamples:
- lang: typescript
label: logLine
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Level } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const level = Level.Three;\n const message = \"Test log message\";\n const source = \"Postman\";\n \n const result = await plexAPI.logLine(level, message, source);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessions
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getSessions();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/log/networked"]["get"]
update:
x-codeSamples:
- lang: typescript
label: enablePaperTrail
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.enablePaperTrail();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/updater/check"]["put"]
update:
x-codeSamples:
- lang: typescript
label: checkForUpdates
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Download } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const download = Download.One;\n \n const result = await plexAPI.checkForUpdates(download);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/progress"]["post"]
update:
x-codeSamples:
- lang: typescript
label: updatePlayProgress
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const key = \"<value>\";\n const time = 6900.91;\n const state = \"<value>\";\n \n const result = await plexAPI.updatePlayProgress(key, time, state);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/transcode/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTranscodeSessions
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getTranscodeSessions();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/library/recentlyAdded"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getRecentlyAdded
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getRecentlyAdded();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/library/onDeck"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getOnDeck
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getOnDeck();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/playlists/{playlistID}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 4109.48;\n \n const result = await plexAPI.getPlaylist(playlistID);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/identity"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerIdentity
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getServerIdentity();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/activities"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerActivities
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getServerActivities();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/library/sections/{sectionId}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { IncludeDetails } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 1000;\n const includeDetails = IncludeDetails.Zero;\n \n const result = await plexAPI.getLibrary(sectionId, includeDetails);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/activities/{activityUUID}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: cancelServerActivities
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const activityUUID = \"<value>\";\n \n const result = await plexAPI.cancelServerActivities(activityUUID);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionId}/{tag}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibraryItems
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Tag } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 451092;\n const tag = Tag.Unwatched;\n \n const result = await plexAPI.getLibraryItems(sectionId, tag);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins"]["post"]
update:
x-codeSamples:
- lang: typescript
label: getPin
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const strong = false;\n const xPlexClientIdentifier = \"Postman\";\n \n const result = await plexAPI.getPin(strong, xPlexClientIdentifier);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/apply"]["put"]
update:
x-codeSamples:
- lang: typescript
label: applyUpdates
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Skip, Tonight } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const tonight = Tonight.One;\n const skip = Skip.Zero;\n \n const result = await plexAPI.applyUpdates(tonight, skip);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/hashes"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getFileHash
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const url = \"file://C:\\Image.png&type=13\";\n const type = 4462.17;\n \n const result = await plexAPI.getFileHash(url, type);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionId}/refresh"]["get"]
update:
x-codeSamples:
- lang: typescript
label: refreshLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 934.16;\n \n const result = await plexAPI.refreshLibrary(sectionId);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getGlobalHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { OnlyTransient } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const count = 1262.49;\n const onlyTransient = OnlyTransient.One;\n \n const result = await plexAPI.getGlobalHubs(count, onlyTransient);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibraries
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getLibraries();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMetadataChildren
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const ratingKey = 1539.14;\n \n const result = await plexAPI.getMetadataChildren(ratingKey);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 5004.46;\n const type = 9403.59;\n \n const result = await plexAPI.getPlaylistContents(playlistID, type);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/timeline"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTimeline
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
import { State } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getTimeline({
ratingKey: 716.56,
key: "<key>",
state: State.Paused,
hasMDE: 7574.33,
time: 3327.51,
duration: 7585.39,
context: "<value>",
playQueueItemID: 1406.21,
playBackTime: 2699.34,
row: 3536.42,
});
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/butler"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getButlerTasks
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getButlerTasks();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/butler"]["post"]
update:
x-codeSamples:
- lang: typescript
label: startAllTasks
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.startAllTasks();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/playlists/{playlistID}/items"]["put"]
update:
x-codeSamples:
- lang: typescript
label: addPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 8502.01;\n const uri = \"server://12345/com.plexapp.plugins.library/library/metadata/1\";\n const playQueueID = 123;\n \n const result = await plexAPI.addPlaylistContents(playlistID, uri, playQueueID);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions/history/all"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessionHistory
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getSessionHistory();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTranscodeSession
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sessionKey = \"zz7llzqlx8w9vnrsbnwhbmep\";\n \n const result = await plexAPI.stopTranscodeSession(sessionKey);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/search/voice"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performVoiceSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const query = \"dead+poop\";\n const sectionId = 4094.8;\n const limit = 5;\n \n const result = await plexAPI.performVoiceSearch(query, sectionId, limit);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins/{pinID}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getToken
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const pinID = \"<value>\";\n const xPlexClientIdentifier = \"Postman\";\n \n const result = await plexAPI.getToken(pinID, xPlexClientIdentifier);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deletePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 216.22;\n \n const result = await plexAPI.deletePlaylist(playlistID);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/status"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getUpdateStatus
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getUpdateStatus();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/:/scrobble"]["get"]
update:
x-codeSamples:
- lang: typescript
label: markPlayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const key = 59398;\n \n const result = await plexAPI.markPlayed(key);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionId}/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: searchLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Type } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 933505;\n const type = Type.Four;\n \n const result = await plexAPI.searchLibrary(sectionId, type);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylists
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { PlaylistType, QueryParamSmart } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistType = PlaylistType.Audio;\n const smart = QueryParamSmart.Zero;\n \n const result = await plexAPI.getPlaylists(playlistType, smart);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/security/token"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTransientToken
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { GetTransientTokenQueryParamType, Scope } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const type = GetTransientTokenQueryParamType.Delegation;\n const scope = Scope.All;\n \n const result = await plexAPI.getTransientToken(type, scope);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/prefs"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerPreferences
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getServerPreferences();
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/playlists"]["post"]
update:
x-codeSamples:
- lang: typescript
label: createPlaylist
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamType, Smart } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.createPlaylist({
title: "<value>",
type: QueryParamType.Photo,
smart: Smart.One,
uri: "https://inborn-brochure.biz",
});
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/statistics/media"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const timespan = 411769;\n \n const result = await plexAPI.getStatistics(timespan);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/photo/:/transcode"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getResizedPhoto
source: |-
import { PlexAPI } from "@lukehagar/plexjs";
import { MinSize, Upscale } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const result = await plexAPI.getResizedPhoto({
width: 110,
height: 165,
opacity: 100,
blur: 20,
minSize: MinSize.One,
upscale: Upscale.Zero,
url: "/library/metadata/49564/thumb/1654258204",
});
// Handle the result
console.log(result)
}
run();
- target: $["paths"]["/butler/{taskName}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTask
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { PathParamTaskName } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const taskName = PathParamTaskName.BackupDatabase;\n \n const result = await plexAPI.stopTask(taskName);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/unscrobble"]["get"]
update:
x-codeSamples:
- lang: typescript
label: markUnplayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const key = 59398;\n \n const result = await plexAPI.markUnplayed(key);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibraryHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { QueryParamOnlyTransient } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const sectionId = 6728.76;\n const count = 9010.22;\n const onlyTransient = QueryParamOnlyTransient.Zero;\n \n const result = await plexAPI.getLibraryHubs(sectionId, count, onlyTransient);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMetadata
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const ratingKey = 8382.31;\n \n const result = await plexAPI.getMetadata(ratingKey);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["put"]
update:
x-codeSamples:
- lang: typescript
label: updatePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 3915;\n const title = \"<value>\";\n const summary = \"<value>\";\n \n const result = await plexAPI.updatePlaylist(playlistID, title, summary);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/upload"]["post"]
update:
x-codeSamples:
- lang: typescript
label: uploadPlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Force } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const path = \"/home/barkley/playlist.m3u\";\n const force = Force.Zero;\n \n const result = await plexAPI.uploadPlaylist(path, force);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler/{taskName}"]["post"]
update:
x-codeSamples:
- lang: typescript
label: startTask
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { TaskName } from \"@lukehagar/plexjs/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const taskName = TaskName.CleanOldBundles;\n \n const result = await plexAPI.startTask(taskName);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSearchResults
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const query = \"110\";\n \n const result = await plexAPI.getSearchResults(query);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: clearPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"Postman\",\n});\n\nasync function run() {\n const playlistID = 1893.18;\n \n const result = await plexAPI.clearPlaylistContents(playlistID);\n\n // Handle the result\n console.log(result)\n}\n\nrun();"

View File

@@ -3,7 +3,7 @@
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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/> |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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 |

View File

@@ -3,7 +3,7 @@
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `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/> |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | |
| `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 |

View File

@@ -28,7 +28,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -70,7 +70,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -24,7 +24,7 @@ import { GetTransientTokenQueryParamType, Scope } from "@lukehagar/plexjs/models
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -73,7 +73,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -25,7 +25,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -72,7 +72,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -115,7 +115,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -163,7 +163,7 @@ import { TaskName } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -210,7 +210,7 @@ import { PathParamTaskName } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -23,7 +23,7 @@ import { OnlyTransient } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -72,7 +72,7 @@ import { QueryParamOnlyTransient } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -31,7 +31,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -79,7 +79,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -127,7 +127,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -209,7 +209,7 @@ import { IncludeDetails } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -256,7 +256,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -322,7 +322,7 @@ import { Tag } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -369,7 +369,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -433,7 +433,7 @@ import { Type } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -480,7 +480,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -526,7 +526,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -572,7 +572,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -25,7 +25,7 @@ import { Level } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -95,7 +95,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -141,7 +141,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -23,7 +23,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -68,7 +68,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -114,7 +114,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -36,7 +36,7 @@ import { QueryParamType, Smart } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -85,7 +85,7 @@ import { PlaylistType, QueryParamSmart } from "@lukehagar/plexjs/models/operatio
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -134,7 +134,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -180,7 +180,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -226,7 +226,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -279,7 +279,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -327,7 +327,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -374,7 +374,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -425,7 +425,7 @@ import { Force } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -21,12 +21,12 @@ Retrieve a Pin from Plex.tv for authentication flows
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const strong = false;
const xPlexClientIdentifier = "<value>";
const xPlexClientIdentifier = "Postman";
const result = await plexAPI.plex.getPin(strong, xPlexClientIdentifier);
@@ -39,13 +39,13 @@ run();
### Parameters
| Parameter | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `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/> |
| `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.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `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.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. | http://localhost:8080 |
### Response
@@ -68,12 +68,12 @@ Retrieve an Access Token from Plex.tv after the Pin has already been authenticat
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
const pinID = "<value>";
const xPlexClientIdentifier = "<value>";
const xPlexClientIdentifier = "Postman";
const result = await plexAPI.plex.getToken(pinID, xPlexClientIdentifier);
@@ -86,13 +86,13 @@ run();
### Parameters
| Parameter | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `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/> |
| `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.serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `pinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | |
| `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.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. | http://localhost:8080 |
### Response

View File

@@ -35,7 +35,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -88,7 +88,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -137,7 +137,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -28,7 +28,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -70,7 +70,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -112,7 +112,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -154,7 +154,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -196,7 +196,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -238,7 +238,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -282,7 +282,7 @@ import { MinSize, Upscale } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -333,7 +333,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -24,7 +24,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -66,7 +66,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -108,7 +108,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -150,7 +150,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -21,7 +21,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -24,7 +24,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -67,7 +67,7 @@ import { Download } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -114,7 +114,7 @@ import { Skip, Tonight } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

View File

@@ -23,7 +23,7 @@ import { State } from "@lukehagar/plexjs/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {
@@ -77,7 +77,7 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "<value>",
xPlexClientIdentifier: "Postman",
});
async function run() {

457
files.gen
View File

@@ -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

View File

@@ -2,7 +2,7 @@
{
"name": "@lukehagar/plexjs",
"version": "0.13.0",
"version": "0.14.1",
"exports": {
".": "./src/index.ts",
"./models/errors": "./src/models/errors/index.ts",
@@ -20,6 +20,7 @@
"README.md",
"RUNTIMES.md",
"USAGE.md",
"jsr.json",
"src/**/*.ts"
]
}

350
package-lock.json generated
View File

@@ -1,21 +1,21 @@
{
"name": "@lukehagar/plexjs",
"version": "0.13.0",
"version": "0.14.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@lukehagar/plexjs",
"version": "0.13.0",
"version": "0.14.1",
"devDependencies": {
"@types/jsonpath": "^0.2.4",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"eslint": "^8.55.0",
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.0",
"typescript": "^5.3.3",
"zod": "^3.22.4"
"eslint-plugin-import": "^2.29.1",
"typescript": "^5.4.5",
"zod": "^3.23.4"
},
"peerDependencies": {
"zod": ">= 3"
@@ -100,9 +100,9 @@
}
},
"node_modules/@eslint/js": {
"version": "8.56.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
"integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
"version": "8.57.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -217,39 +217,39 @@
"dev": true
},
"node_modules/@types/semver": {
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
"integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
"version": "7.5.8",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz",
"integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/type-utils": "6.21.0",
"@typescript-eslint/utils": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/type-utils": "7.7.1",
"@typescript-eslint/utils": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
"eslint": "^7.0.0 || ^8.0.0"
"@typescript-eslint/parser": "^7.0.0",
"eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -258,26 +258,26 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz",
"integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/typescript-estree": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/typescript-estree": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
"eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -286,16 +286,16 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz",
"integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0"
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
@@ -303,25 +303,25 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz",
"integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==",
"dev": true,
"dependencies": {
"@typescript-eslint/typescript-estree": "6.21.0",
"@typescript-eslint/utils": "6.21.0",
"@typescript-eslint/typescript-estree": "7.7.1",
"@typescript-eslint/utils": "7.7.1",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
"ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
"eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -330,12 +330,12 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz",
"integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
@@ -343,22 +343,22 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz",
"integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"minimatch": "9.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
"minimatch": "^9.0.4",
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
@@ -371,41 +371,41 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz",
"integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/typescript-estree": "6.21.0",
"semver": "^7.5.4"
"@types/json-schema": "^7.0.15",
"@types/semver": "^7.5.8",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/typescript-estree": "7.7.1",
"semver": "^7.6.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
"eslint": "^8.56.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz",
"integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.21.0",
"eslint-visitor-keys": "^3.4.1"
"@typescript-eslint/types": "7.7.1",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
"node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
@@ -978,16 +978,16 @@
}
},
"node_modules/eslint": {
"version": "8.56.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
"integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
"version": "8.57.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
"@eslint/js": "8.56.0",
"@humanwhocodes/config-array": "^0.11.13",
"@eslint/js": "8.57.0",
"@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -2151,9 +2151,9 @@
}
},
"node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -2799,9 +2799,9 @@
}
},
"node_modules/ts-api-utils": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
"integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
"engines": {
"node": ">=16"
@@ -2920,9 +2920,9 @@
}
},
"node_modules/typescript": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -3031,9 +3031,9 @@
}
},
"node_modules/zod": {
"version": "3.22.4",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
"version": "3.23.4",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.4.tgz",
"integrity": "sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
@@ -3101,9 +3101,9 @@
}
},
"@eslint/js": {
"version": "8.56.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
"integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
"version": "8.57.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true
},
"@humanwhocodes/config-array": {
@@ -3195,110 +3195,110 @@
"dev": true
},
"@types/semver": {
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
"integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
"version": "7.5.8",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz",
"integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==",
"dev": true,
"requires": {
"@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/type-utils": "6.21.0",
"@typescript-eslint/utils": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/type-utils": "7.7.1",
"@typescript-eslint/utils": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
}
},
"@typescript-eslint/parser": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz",
"integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==",
"dev": true,
"requires": {
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/typescript-estree": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/typescript-estree": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz",
"integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==",
"dev": true,
"requires": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0"
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1"
}
},
"@typescript-eslint/type-utils": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz",
"integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==",
"dev": true,
"requires": {
"@typescript-eslint/typescript-estree": "6.21.0",
"@typescript-eslint/utils": "6.21.0",
"@typescript-eslint/typescript-estree": "7.7.1",
"@typescript-eslint/utils": "7.7.1",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
"ts-api-utils": "^1.3.0"
}
},
"@typescript-eslint/types": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz",
"integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz",
"integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==",
"dev": true,
"requires": {
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/visitor-keys": "6.21.0",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/visitor-keys": "7.7.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"minimatch": "9.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
"minimatch": "^9.0.4",
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
}
},
"@typescript-eslint/utils": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz",
"integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
"@typescript-eslint/typescript-estree": "6.21.0",
"semver": "^7.5.4"
"@types/json-schema": "^7.0.15",
"@types/semver": "^7.5.8",
"@typescript-eslint/scope-manager": "7.7.1",
"@typescript-eslint/types": "7.7.1",
"@typescript-eslint/typescript-estree": "7.7.1",
"semver": "^7.6.0"
}
},
"@typescript-eslint/visitor-keys": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz",
"integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==",
"dev": true,
"requires": {
"@typescript-eslint/types": "6.21.0",
"eslint-visitor-keys": "^3.4.1"
"@typescript-eslint/types": "7.7.1",
"eslint-visitor-keys": "^3.4.3"
}
},
"@ungap/structured-clone": {
@@ -3715,16 +3715,16 @@
"dev": true
},
"eslint": {
"version": "8.56.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
"integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
"version": "8.57.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
"@eslint/js": "8.56.0",
"@humanwhocodes/config-array": "^0.11.13",
"@eslint/js": "8.57.0",
"@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -4588,9 +4588,9 @@
}
},
"minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -5024,9 +5024,9 @@
}
},
"ts-api-utils": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
"integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
"requires": {}
},
@@ -5110,9 +5110,9 @@
}
},
"typescript": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true
},
"unbox-primitive": {
@@ -5190,9 +5190,9 @@
"dev": true
},
"zod": {
"version": "3.22.4",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
"version": "3.23.4",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.4.tgz",
"integrity": "sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==",
"dev": true
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@lukehagar/plexjs",
"version": "0.13.0",
"version": "0.14.1",
"author": "LukeHagar",
"main": "./index.js",
"sideEffects": false,
@@ -19,13 +19,13 @@
},
"devDependencies": {
"@types/jsonpath": "^0.2.4",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"eslint": "^8.55.0",
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.0",
"typescript": "^5.3.3",
"zod": "^3.22.4"
"eslint-plugin-import": "^2.29.1",
"typescript": "^5.4.5",
"zod": "^3.23.4"
},
"dependencies": {

View File

@@ -2,6 +2,7 @@
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
*/
import { RequestInput } from "../lib/http";
import {
AfterErrorContext,
AfterErrorHook,
@@ -9,6 +10,8 @@ import {
AfterSuccessHook,
BeforeRequestContext,
BeforeRequestHook,
BeforeCreateRequestHook,
BeforeCreateRequestContext,
Hooks,
SDKInitHook,
SDKInitOptions,
@@ -18,6 +21,7 @@ import { initHooks } from "./registration";
export class SDKHooks implements Hooks {
sdkInitHooks: SDKInitHook[] = [];
beforeCreateRequestHooks: BeforeCreateRequestHook[] = [];
beforeRequestHooks: BeforeRequestHook[] = [];
afterSuccessHooks: AfterSuccessHook[] = [];
afterErrorHooks: AfterErrorHook[] = [];
@@ -30,6 +34,10 @@ export class SDKHooks implements Hooks {
this.sdkInitHooks.push(hook);
}
registerBeforeCreateRequestHook(hook: BeforeCreateRequestHook) {
this.beforeCreateRequestHooks.push(hook);
}
registerBeforeRequestHook(hook: BeforeRequestHook) {
this.beforeRequestHooks.push(hook);
}
@@ -46,6 +54,16 @@ export class SDKHooks implements Hooks {
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> {
let req = request;

View File

@@ -2,7 +2,7 @@
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
*/
import { HTTPClient } from "../lib/http";
import { HTTPClient, RequestInput } from "../lib/http";
export type HookContext = {
operationID: string;
@@ -16,6 +16,8 @@ export type SDKInitOptions = {
baseURL: URL | null;
client: HTTPClient;
};
export type BeforeCreateRequestContext = HookContext & {};
export type BeforeRequestContext = HookContext & {};
export type AfterSuccessContext = HookContext & {};
export type AfterErrorContext = HookContext & {};
@@ -28,30 +30,41 @@ export interface SDKInitHook {
sdkInit: (opts: SDKInitOptions) => SDKInitOptions;
}
/**
* 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
* from being sent.
*/
export interface BeforeCreateRequestHook {
/**
* A hook that is called before the SDK creates a `Request` object. The hook
* 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 {
/**
* 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>;
}
/**
* 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 {
/**
* 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>;
}
/**
* 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 {
/**
* 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: (
hookCtx: AfterErrorContext,
response: Response | null,
@@ -65,6 +78,8 @@ export interface AfterErrorHook {
export interface Hooks {
/** Registers a hook to be used by the SDK for initialization event. */
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. */
registerBeforeRequestHook(hook: BeforeRequestHook): void;
/** Registers a hook to be used by the SDK for the after success event. */

View File

@@ -87,7 +87,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "0.0.3",
sdkVersion: "0.13.0",
genVersion: "2.311.1",
userAgent: "speakeasy-sdk/typescript 0.13.0 2.311.1 0.0.3 @lukehagar/plexjs",
sdkVersion: "0.14.1",
genVersion: "2.317.0",
userAgent: "speakeasy-sdk/typescript 0.14.1 2.317.0 0.0.3 @lukehagar/plexjs",
} as const;

View File

@@ -11,6 +11,17 @@ export type Awaitable<T> = T | Promise<T>;
const DEFAULT_FETCHER: Fetcher = (input, init) => 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 {
fetcher?: Fetcher;
}
@@ -130,29 +141,56 @@ export class HTTPClient {
}
}
export function matchContentType(response: Response, pattern: string): boolean {
if (pattern === "*" || pattern === "*/*") {
// A semicolon surrounded by optional whitespace characters is used to separate
// 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;
}
const contentType =
response.headers.get("content-type") ?? "application/octet-stream";
let contentType =
response.headers.get("content-type")?.trim() || "application/octet-stream";
contentType = contentType.toLowerCase();
const idx = contentType.split(";").findIndex((raw) => {
const ctype = raw.trim();
if (ctype === pattern) {
return true;
}
const wantParts = pattern.toLowerCase().trim().split(mediaParamSeparator);
const [wantType = "", ...wantParams] = wantParts;
const parts = ctype.split("/");
if (parts.length !== 2) {
if (wantType.split("/").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 `${parts[0]}/*` === pattern || `*/${parts[1]}` === pattern;
});
return idx >= 0;
return true;
}
const codeRangeRE = new RegExp("^[0-9]xx$", "i");

View File

@@ -40,7 +40,11 @@ export class ClientSDK {
this.client = client;
}
protected createRequest$(conf: RequestConfig, options?: RequestOptions): Request {
protected createRequest$(
context: HookContext,
conf: RequestConfig,
options?: RequestOptions
): Request {
const { method, path, query, headers: opHeaders, security } = conf;
const base = conf.baseURL ?? this.baseURL;
@@ -95,12 +99,17 @@ export class ClientSDK {
headers.set(k, v);
}
return new Request(reqURL, {
...options?.fetchOptions,
body: conf.body ?? null,
headers,
method,
const input = this.hooks$.beforeCreateRequest(context, {
url: reqURL,
options: {
...options?.fetchOptions,
body: conf.body ?? null,
headers,
method,
},
});
return new Request(input.url, input.options);
}
protected async do$(

View File

@@ -68,7 +68,7 @@ type SecurityInputOAuth2 = {
type SecurityInputOAuth2ClientCredentials = {
type: "oauth2:client_credentials";
value: string | null | undefined;
fieldName: "clientID" | "clientSecret";
fieldName: string;
};
export type SecurityInput =

View File

@@ -4,6 +4,7 @@
export class SDKError extends Error {
public readonly statusCode: number;
public readonly contentType: string;
constructor(
message: string,
@@ -11,11 +12,13 @@ export class SDKError extends Error {
public readonly body: string = ""
) {
const statusCode = rawResponse.status;
const contentType = rawResponse.headers.get("content-type") || "";
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.contentType = contentType;
this.name = "SDKError";
}

View File

@@ -72,6 +72,7 @@ export class Activities extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -118,7 +119,11 @@ export class Activities extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -173,6 +178,7 @@ export class Activities extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -209,7 +215,11 @@ export class Activities extends ClientSDK {
throw result;
} else {
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(

View File

@@ -91,6 +91,7 @@ export class Authentication extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -127,7 +128,11 @@ export class Authentication extends ClientSDK {
throw result;
} else {
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(
@@ -189,6 +194,7 @@ export class Authentication extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -225,7 +231,11 @@ export class Authentication extends ClientSDK {
throw result;
} else {
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(

View File

@@ -70,6 +70,7 @@ export class Butler extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -116,7 +117,11 @@ export class Butler extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -157,6 +162,7 @@ export class Butler extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -192,7 +198,11 @@ export class Butler extends ClientSDK {
throw result;
} else {
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(
@@ -235,6 +245,7 @@ export class Butler extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -270,7 +281,11 @@ export class Butler extends ClientSDK {
throw result;
} else {
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(
@@ -336,6 +351,7 @@ export class Butler extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -372,7 +388,11 @@ export class Butler extends ClientSDK {
throw result;
} else {
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(
@@ -434,6 +454,7 @@ export class Butler extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "404", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -470,7 +491,11 @@ export class Butler extends ClientSDK {
throw result;
} else {
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(

View File

@@ -93,6 +93,7 @@ export class Hubs extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -140,7 +141,11 @@ export class Hubs extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -208,6 +213,7 @@ export class Hubs extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -255,7 +261,11 @@ export class Hubs extends ClientSDK {
throw result;
} else {
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
);
}
}
}

View File

@@ -90,6 +90,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -126,7 +127,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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(
@@ -169,6 +174,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -215,7 +221,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -257,6 +267,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -303,7 +314,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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,6 +421,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -453,7 +469,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -508,6 +528,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -544,7 +565,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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(
@@ -631,6 +656,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -665,7 +691,11 @@ export class Library extends ClientSDK {
return result;
} else {
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
);
}
}
@@ -723,6 +753,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -759,7 +790,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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(
@@ -846,6 +881,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -880,7 +916,11 @@ export class Library extends ClientSDK {
return result;
} else {
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
);
}
}
@@ -936,6 +976,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -983,7 +1024,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -1041,6 +1086,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -1088,7 +1134,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -1125,6 +1175,7 @@ export class Library extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -1171,7 +1222,11 @@ export class Library extends ClientSDK {
throw result;
} else {
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
);
}
}
}

View File

@@ -98,6 +98,7 @@ export class Log extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -134,7 +135,11 @@ export class Log extends ClientSDK {
throw result;
} else {
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(
@@ -208,6 +213,7 @@ export class Log extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -244,7 +250,11 @@ export class Log extends ClientSDK {
throw result;
} else {
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(
@@ -287,6 +297,7 @@ export class Log extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "403", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -322,7 +333,11 @@ export class Log extends ClientSDK {
throw result;
} else {
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(

View File

@@ -87,6 +87,7 @@ export class Media extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -123,7 +124,11 @@ export class Media extends ClientSDK {
throw result;
} else {
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(
@@ -182,6 +187,7 @@ export class Media extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -218,7 +224,11 @@ export class Media extends ClientSDK {
throw result;
} else {
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(
@@ -284,6 +294,7 @@ export class Media extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -320,7 +331,11 @@ export class Media extends ClientSDK {
throw result;
} else {
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(

View File

@@ -94,6 +94,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -141,7 +142,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -200,6 +205,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -247,7 +253,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -304,6 +314,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -351,7 +362,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -407,6 +422,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -443,7 +459,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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(
@@ -517,6 +537,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "PUT",
@@ -553,7 +574,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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(
@@ -624,6 +649,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -671,7 +697,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -727,6 +757,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -763,7 +794,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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(
@@ -838,6 +873,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "PUT",
@@ -885,7 +921,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -942,6 +982,7 @@ export class Playlists extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "POST",
@@ -978,7 +1019,11 @@ export class Playlists extends ClientSDK {
throw result;
} else {
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(

View File

@@ -89,6 +89,7 @@ export class Plex extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
method: "POST",
baseURL: baseURL$,
@@ -136,7 +137,11 @@ export class Plex extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -193,6 +198,7 @@ export class Plex extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
method: "GET",
baseURL: baseURL$,
@@ -229,7 +235,11 @@ export class Plex extends ClientSDK {
throw result;
} else {
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(

View File

@@ -108,6 +108,7 @@ export class Search extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -144,7 +145,11 @@ export class Search extends ClientSDK {
throw result;
} else {
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(
@@ -216,6 +221,7 @@ export class Search extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -252,7 +258,11 @@ export class Search extends ClientSDK {
throw result;
} else {
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(
@@ -311,6 +321,7 @@ export class Search extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -358,7 +369,11 @@ export class Search extends ClientSDK {
throw result;
} else {
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
);
}
}
}

View File

@@ -72,6 +72,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -118,7 +119,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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,6 +161,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -202,7 +208,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -240,6 +250,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -286,7 +297,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -322,6 +337,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -368,7 +384,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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,6 +426,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -452,7 +473,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -488,6 +513,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -534,7 +560,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -600,6 +630,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -636,7 +667,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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(
@@ -678,6 +713,7 @@ export class Server extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -724,7 +760,11 @@ export class Server extends ClientSDK {
throw result;
} else {
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
);
}
}
}

View File

@@ -70,6 +70,7 @@ export class Sessions extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -116,7 +117,11 @@ export class Sessions extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -154,6 +159,7 @@ export class Sessions extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -200,7 +206,11 @@ export class Sessions extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -238,6 +248,7 @@ export class Sessions extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -284,7 +295,11 @@ export class Sessions extends ClientSDK {
throw result;
} else {
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
);
}
}
@@ -339,6 +354,7 @@ export class Sessions extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "DELETE",
@@ -375,7 +391,11 @@ export class Sessions extends ClientSDK {
throw result;
} else {
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(

View File

@@ -90,6 +90,7 @@ export class Statistics extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -137,7 +138,11 @@ export class Statistics extends ClientSDK {
throw result;
} else {
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
);
}
}
}

View File

@@ -70,6 +70,7 @@ export class Updater extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -116,7 +117,11 @@ export class Updater extends ClientSDK {
throw result;
} else {
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,6 +177,7 @@ export class Updater extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "PUT",
@@ -208,7 +214,11 @@ export class Updater extends ClientSDK {
throw result;
} else {
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(
@@ -274,6 +284,7 @@ export class Updater extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "500", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "PUT",
@@ -310,7 +321,11 @@ export class Updater extends ClientSDK {
throw result;
} else {
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(

View File

@@ -108,6 +108,7 @@ export class Video extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -144,7 +145,11 @@ export class Video extends ClientSDK {
throw result;
} else {
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(
@@ -257,6 +262,7 @@ export class Video extends ClientSDK {
const doOptions = { context, errorCodes: ["400", "401", "4XX", "5XX"] };
const request = this.createRequest$(
context,
{
security: securitySettings$,
method: "GET",
@@ -293,7 +299,11 @@ export class Video extends ClientSDK {
throw result;
} else {
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(