mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-06 04:20:46 +00:00
## Typescript SDK Changes:
* `plex-api.libraryPlaylists.addPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getMetadataHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.moveCollectionItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.deleteCollectionItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.addCollectionItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getSonicallySimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.butler.stopTask()`: `request` **Changed** **Breaking** ⚠️ * `plex-api.butler.startTask()`: `request` **Changed** **Breaking** ⚠️ * `plex-api.content.getSonicPath()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.downloadQueue.getItemDecision()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getAllHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getContinueWatching()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getPromotedHubs()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getAllLeaves()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getPostplayHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getRelatedHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getSectionHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.listContent()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getAlbums()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.search.searchHubs()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.search.voiceSearchHubs()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryItems()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.ingestTransientItem()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryMatches()`: * `request` **Changed** **Breaking** ⚠️ * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getMetadataItem()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getSections()`: `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.addSection()`: * `request` **Changed** * `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getTags()`: * `request.type` **Changed** **Breaking** ⚠️ * `plex-api.content.getCollectionItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getAllItemLeaves()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.status.listSessions()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.movePlayQueueItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getExtras()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.deletePlayQueueItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.unshuffle()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listMatches()`: * `request.manual` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listSonicallySimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.resetPlayQueue()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getRelatedItems()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listSimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.clearPlayQueue()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getItemTree()`: `response.mediacontainer.metadataItem.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.addToPlayQueue()`: * `request.next` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.getPlayQueue()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.movePlaylistItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getPerson()`: `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listPersonMedia()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`: `response.mediacontainer.metadata` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryDetails()`: * `request.includeDetails` **Changed** * `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.modifyPlaylistGenerator()`: * `request.item` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.autocomplete()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getCollections()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getCommon()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.deletePlaylistItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.clearPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.shuffle()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.createPlaylist()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.getPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.getPlaylist()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.collections.createCollection()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.dvRs.tuneChannel()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.liveTv.getSessions()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.liveTv.getLiveTvSession()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.listPlaylists()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getAllSubscriptions()`: * `request` **Changed** * `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.createSubscription()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getScheduledRecordings()`: `response.mediacontainer.mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getTemplate()`: `response.mediacontainer.subscriptionTemplate.[].mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getSubscription()`: * `request` **Changed** * `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.editSubscriptionPreferences()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.reorderSubscription()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.transcoder.makeDecision()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.refreshItemsMetadata()`: * `request.markUpdated` **Changed** * `plex-api.authentication.postUsersSignInData()`: **Added** * `plex-api.transcoder.startTranscodeSession()`: `request` **Changed** * `plex-api.devices.modifyDevice()`: * `request.enabled` **Changed** * `plex-api.library.getMediaPart()`: * `request.download` **Changed** * `plex-api.library.detectIntros()`: * `request.force` **Changed** * `plex-api.library.refreshSection()`: * `request.force` **Changed** * `plex-api.libraryPlaylists.uploadPlaylist()`: * `request.force` **Changed** * `plex-api.library.deleteMediaItem()`: * `request.proxy` **Changed** * `plex-api.authentication.getTokenDetails()`: **Added** * `plex-api.library.getFirstCharacters()`: * `request.mediaQuery` **Changed** * `plex-api.library.updateItems()`: * `request.field.locked` **Changed** * `plex-api.library.deleteLibrarySection()`: * `request.async` **Changed** * `plex-api.library.setStreamSelection()`: * `request.allParts` **Changed** * `plex-api.playQueue.createPlayQueue()`: `request` **Changed** * `plex-api.library.getAugmentationStatus()`: * `request.wait` **Changed** * `plex-api.library.detectVoiceActivity()`: `request` **Changed** * `plex-api.transcoder.transcodeImage()`: `request` **Changed** * `plex-api.transcoder.transcodeSubtitles()`: `request` **Changed** * `plex-api.library.addSubtitles()`: `request` **Changed** * `plex-api.library.getStream()`: * `request.autoAdjustSubtitle` **Changed** * `plex-api.library.startBifGeneration()`: * `request.force` **Changed** * `plex-api.library.detectCredits()`: `request` **Changed** * `plex-api.ultraBlur.getImage()`: * `request.noise` **Changed** * `plex-api.library.generateThumbs()`: * `request.force` **Changed** * `plex-api.updater.applyUpdates()`: `request` **Changed** * `plex-api.updater.checkUpdates()`: * `request.download` **Changed** * `plex-api.library.deleteMetadataItem()`: * `request.proxy` **Changed** * `plex-api.library.optimizeDatabase()`: * `request.async` **Changed** * `plex-api.hubs.updateHubVisibility()`: `request` **Changed** * `plex-api.hubs.createCustomHub()`: `request` **Changed** * `plex-api.library.getSectionImage()`: * `request.mediaQuery` **Changed** * `plex-api.downloadQueue.addDownloadQueueItems()`: `request` **Changed** * `plex-api.timeline.report()`: `request` **Changed** * `plex-api.general.getSourceConnectionInformation()`: * `request.refresh` **Changed** * `plex-api.plex.getServerResources()`: **Added** * `plex-api.users.getUsers()`: **Added**
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -25,7 +25,7 @@ generation:
|
|||||||
generateNewTests: true
|
generateNewTests: true
|
||||||
skipResponseBodyAssertions: false
|
skipResponseBodyAssertions: false
|
||||||
typescript:
|
typescript:
|
||||||
version: 0.43.0
|
version: 0.44.0
|
||||||
acceptHeaderEnum: true
|
acceptHeaderEnum: true
|
||||||
additionalDependencies:
|
additionalDependencies:
|
||||||
dependencies: {}
|
dependencies: {}
|
||||||
@@ -46,6 +46,9 @@ typescript:
|
|||||||
exportZodModelNamespace: false
|
exportZodModelNamespace: false
|
||||||
flattenGlobalSecurity: true
|
flattenGlobalSecurity: true
|
||||||
flatteningOrder: body-first
|
flatteningOrder: body-first
|
||||||
|
formStringArrayEncodeMode: encoded-string
|
||||||
|
forwardCompatibleEnumsByDefault: false
|
||||||
|
forwardCompatibleUnionsByDefault: "false"
|
||||||
generateExamples: true
|
generateExamples: true
|
||||||
imports:
|
imports:
|
||||||
option: openapi
|
option: openapi
|
||||||
@@ -55,12 +58,15 @@ typescript:
|
|||||||
operations: sdk/models/operations
|
operations: sdk/models/operations
|
||||||
shared: sdk/models/shared
|
shared: sdk/models/shared
|
||||||
webhooks: sdk/models/webhooks
|
webhooks: sdk/models/webhooks
|
||||||
|
inferUnionDiscriminators: true
|
||||||
inputModelSuffix: input
|
inputModelSuffix: input
|
||||||
jsonpath: legacy
|
jsonpath: legacy
|
||||||
|
laxMode: strict
|
||||||
maxMethodParams: 4
|
maxMethodParams: 4
|
||||||
methodArguments: require-security-and-request
|
methodArguments: require-security-and-request
|
||||||
modelPropertyCasing: camel
|
modelPropertyCasing: camel
|
||||||
moduleFormat: commonjs
|
moduleFormat: commonjs
|
||||||
|
multipartArrayFormat: legacy
|
||||||
outputModelSuffix: output
|
outputModelSuffix: output
|
||||||
packageName: '@lukehagar/plexjs'
|
packageName: '@lukehagar/plexjs'
|
||||||
responseFormat: envelope
|
responseFormat: envelope
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
|||||||
speakeasyVersion: 1.656.1
|
speakeasyVersion: 1.665.0
|
||||||
sources:
|
sources:
|
||||||
my-source:
|
my-source:
|
||||||
sourceNamespace: my-source
|
sourceNamespace: my-source
|
||||||
@@ -9,20 +9,20 @@ sources:
|
|||||||
- main
|
- main
|
||||||
plexapi:
|
plexapi:
|
||||||
sourceNamespace: plexapi
|
sourceNamespace: plexapi
|
||||||
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
|
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
|
||||||
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
|
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- speakeasy-sdk-regen-1762992705
|
- speakeasy-sdk-regen-1764548057
|
||||||
- 1.1.1
|
- 1.1.1
|
||||||
targets:
|
targets:
|
||||||
plexjs:
|
plexjs:
|
||||||
source: plexapi
|
source: plexapi
|
||||||
sourceNamespace: plexapi
|
sourceNamespace: plexapi
|
||||||
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
|
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
|
||||||
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
|
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
|
||||||
codeSamplesNamespace: code-samples-typescript-plexjs
|
codeSamplesNamespace: code-samples-typescript-plexjs
|
||||||
codeSamplesRevisionDigest: sha256:9c301d7b022dab8173b220aa8f2546378c973a75491335d1742c60d131abdf27
|
codeSamplesRevisionDigest: sha256:c53f6ae11c517b30d265b87a938e710393ce8921f2f8f5e04f73419faf2ae2f0
|
||||||
workflow:
|
workflow:
|
||||||
workflowVersion: 1.0.0
|
workflowVersion: 1.0.0
|
||||||
speakeasyVersion: latest
|
speakeasyVersion: latest
|
||||||
|
|||||||
15
FUNCTIONS.md
15
FUNCTIONS.md
@@ -38,6 +38,7 @@ const plexAPI = new PlexAPICore({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -47,13 +48,13 @@ async function run() {
|
|||||||
advancedSubtitles: AdvancedSubtitles.Burn,
|
advancedSubtitles: AdvancedSubtitles.Burn,
|
||||||
audioBoost: 50,
|
audioBoost: 50,
|
||||||
audioChannelCount: 5,
|
audioChannelCount: 5,
|
||||||
autoAdjustQuality: BoolInt.One,
|
autoAdjustQuality: BoolInt.True,
|
||||||
autoAdjustSubtitle: BoolInt.One,
|
autoAdjustSubtitle: BoolInt.True,
|
||||||
directPlay: BoolInt.One,
|
directPlay: BoolInt.True,
|
||||||
directStream: BoolInt.One,
|
directStream: BoolInt.True,
|
||||||
directStreamAudio: BoolInt.One,
|
directStreamAudio: BoolInt.True,
|
||||||
disableResolutionRotation: BoolInt.One,
|
disableResolutionRotation: BoolInt.True,
|
||||||
hasMDE: BoolInt.One,
|
hasMDE: BoolInt.True,
|
||||||
location: StartTranscodeSessionLocation.Wan,
|
location: StartTranscodeSessionLocation.Wan,
|
||||||
mediaBufferSize: 102400,
|
mediaBufferSize: 102400,
|
||||||
mediaIndex: 0,
|
mediaIndex: 0,
|
||||||
|
|||||||
110
README.md
110
README.md
@@ -96,6 +96,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -105,13 +106,13 @@ async function run() {
|
|||||||
advancedSubtitles: AdvancedSubtitles.Burn,
|
advancedSubtitles: AdvancedSubtitles.Burn,
|
||||||
audioBoost: 50,
|
audioBoost: 50,
|
||||||
audioChannelCount: 5,
|
audioChannelCount: 5,
|
||||||
autoAdjustQuality: BoolInt.One,
|
autoAdjustQuality: BoolInt.True,
|
||||||
autoAdjustSubtitle: BoolInt.One,
|
autoAdjustSubtitle: BoolInt.True,
|
||||||
directPlay: BoolInt.One,
|
directPlay: BoolInt.True,
|
||||||
directStream: BoolInt.One,
|
directStream: BoolInt.True,
|
||||||
directStreamAudio: BoolInt.One,
|
directStreamAudio: BoolInt.True,
|
||||||
disableResolutionRotation: BoolInt.One,
|
disableResolutionRotation: BoolInt.True,
|
||||||
hasMDE: BoolInt.One,
|
hasMDE: BoolInt.True,
|
||||||
location: StartTranscodeSessionLocation.Wan,
|
location: StartTranscodeSessionLocation.Wan,
|
||||||
mediaBufferSize: 102400,
|
mediaBufferSize: 102400,
|
||||||
mediaIndex: 0,
|
mediaIndex: 0,
|
||||||
@@ -151,6 +152,11 @@ run();
|
|||||||
* [listActivities](docs/sdks/activities/README.md#listactivities) - Get all activities
|
* [listActivities](docs/sdks/activities/README.md#listactivities) - Get all activities
|
||||||
* [cancelActivity](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
|
* [cancelActivity](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
|
||||||
|
|
||||||
|
### [authentication](docs/sdks/authentication/README.md)
|
||||||
|
|
||||||
|
* [getTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
|
||||||
|
* [postUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
|
||||||
|
|
||||||
### [butler](docs/sdks/butler/README.md)
|
### [butler](docs/sdks/butler/README.md)
|
||||||
|
|
||||||
* [stopTasks](docs/sdks/butler/README.md#stoptasks) - Stop all Butler tasks
|
* [stopTasks](docs/sdks/butler/README.md#stoptasks) - Stop all Butler tasks
|
||||||
@@ -398,6 +404,10 @@ run();
|
|||||||
* [deletePlayQueueItem](docs/sdks/playqueue/README.md#deleteplayqueueitem) - Delete an item from a play queue
|
* [deletePlayQueueItem](docs/sdks/playqueue/README.md#deleteplayqueueitem) - Delete an item from a play queue
|
||||||
* [movePlayQueueItem](docs/sdks/playqueue/README.md#moveplayqueueitem) - Move an item in a play queue
|
* [movePlayQueueItem](docs/sdks/playqueue/README.md#moveplayqueueitem) - Move an item in a play queue
|
||||||
|
|
||||||
|
### [plex](docs/sdks/plex/README.md)
|
||||||
|
|
||||||
|
* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
|
||||||
|
|
||||||
### [preferences](docs/sdks/preferences/README.md)
|
### [preferences](docs/sdks/preferences/README.md)
|
||||||
|
|
||||||
* [getAllPreferences](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
|
* [getAllPreferences](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
|
||||||
@@ -467,6 +477,10 @@ run();
|
|||||||
* [checkUpdates](docs/sdks/updater/README.md#checkupdates) - Checking for updates
|
* [checkUpdates](docs/sdks/updater/README.md#checkupdates) - Checking for updates
|
||||||
* [getUpdatesStatus](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
|
* [getUpdatesStatus](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
|
||||||
|
|
||||||
|
### [users](docs/sdks/users/README.md)
|
||||||
|
|
||||||
|
* [getUsers](docs/sdks/users/README.md#getusers) - Get list of all connected users
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<!-- End Available Resources and Operations [operations] -->
|
<!-- End Available Resources and Operations [operations] -->
|
||||||
|
|
||||||
@@ -475,13 +489,14 @@ run();
|
|||||||
|
|
||||||
[`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties:
|
[`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties:
|
||||||
|
|
||||||
| Property | Type | Description |
|
| Property | Type | Description |
|
||||||
| ------------------- | ---------- | ------------------------------------------------------ |
|
| ------------------- | ---------- | --------------------------------------------------------------------------------------- |
|
||||||
| `error.message` | `string` | Error message |
|
| `error.message` | `string` | Error message |
|
||||||
| `error.statusCode` | `number` | HTTP response status code eg `404` |
|
| `error.statusCode` | `number` | HTTP response status code eg `404` |
|
||||||
| `error.headers` | `Headers` | HTTP response headers |
|
| `error.headers` | `Headers` | HTTP response headers |
|
||||||
| `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
|
| `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
|
||||||
| `error.rawResponse` | `Response` | Raw HTTP response |
|
| `error.rawResponse` | `Response` | Raw HTTP response |
|
||||||
|
| `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
```typescript
|
```typescript
|
||||||
@@ -501,19 +516,27 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
try {
|
try {
|
||||||
const result = await plexAPI.general.getServerInfo({});
|
const result = await plexAPI.authentication.getTokenDetails({});
|
||||||
|
|
||||||
console.log(result);
|
console.log(result);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
// The base class for HTTP error responses
|
||||||
if (error instanceof errors.PlexAPIError) {
|
if (error instanceof errors.PlexAPIError) {
|
||||||
console.log(error.message);
|
console.log(error.message);
|
||||||
console.log(error.statusCode);
|
console.log(error.statusCode);
|
||||||
console.log(error.body);
|
console.log(error.body);
|
||||||
console.log(error.headers);
|
console.log(error.headers);
|
||||||
|
|
||||||
|
// Depending on the method different errors may be thrown
|
||||||
|
if (error instanceof errors.GetTokenDetailsBadRequestError) {
|
||||||
|
console.log(error.data$.errors); // GetTokenDetailsBadRequestError[]
|
||||||
|
console.log(error.data$.rawResponse); // Response
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -526,7 +549,7 @@ run();
|
|||||||
**Primary error:**
|
**Primary error:**
|
||||||
* [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses.
|
* [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses.
|
||||||
|
|
||||||
<details><summary>Less common errors (6)</summary>
|
<details><summary>Less common errors (13)</summary>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
@@ -539,9 +562,18 @@ run();
|
|||||||
|
|
||||||
|
|
||||||
**Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**:
|
**Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**:
|
||||||
|
* [`GetTokenDetailsBadRequestError`](./src/sdk/models/errors/gettokendetailsbadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`PostUsersSignInDataBadRequestError`](./src/sdk/models/errors/postuserssignindatabadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`GetUsersBadRequestError`](./src/sdk/models/errors/getusersbadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`GetTokenDetailsUnauthorizedError`](./src/sdk/models/errors/gettokendetailsunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`PostUsersSignInDataUnauthorizedError`](./src/sdk/models/errors/postuserssignindataunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`GetUsersUnauthorizedError`](./src/sdk/models/errors/getusersunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
|
||||||
|
* [`GetServerResourcesUnauthorizedError`](./src/sdk/models/errors/getserverresourcesunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
|
||||||
* [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
|
* [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
|
||||||
<!-- End Error Handling [errors] -->
|
<!-- End Error Handling [errors] -->
|
||||||
|
|
||||||
<!-- Start Server Selection [server] -->
|
<!-- Start Server Selection [server] -->
|
||||||
@@ -590,6 +622,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -622,6 +655,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -632,6 +666,40 @@ async function run() {
|
|||||||
|
|
||||||
run();
|
run();
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Override Server URL Per-Operation
|
||||||
|
|
||||||
|
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
|
||||||
|
```typescript
|
||||||
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
|
import { Accepts } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
|
const plexAPI = new PlexAPI({
|
||||||
|
accepts: Accepts.ApplicationXml,
|
||||||
|
clientIdentifier: "abc123",
|
||||||
|
product: "Plex for Roku",
|
||||||
|
version: "2.4.1",
|
||||||
|
platform: "Roku",
|
||||||
|
platformVersion: "4.3 build 1057",
|
||||||
|
device: "Roku 3",
|
||||||
|
model: "4200X",
|
||||||
|
deviceVendor: "Roku",
|
||||||
|
deviceName: "Living Room TV",
|
||||||
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
|
});
|
||||||
|
|
||||||
|
async function run() {
|
||||||
|
const result = await plexAPI.authentication.getTokenDetails({}, {
|
||||||
|
serverURL: "https://plex.tv/api/v2",
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
run();
|
||||||
|
|
||||||
```
|
```
|
||||||
<!-- End Server Selection [server] -->
|
<!-- End Server Selection [server] -->
|
||||||
|
|
||||||
@@ -749,6 +817,8 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
|||||||
|
|
||||||
- [`activitiesCancelActivity`](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
|
- [`activitiesCancelActivity`](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
|
||||||
- [`activitiesListActivities`](docs/sdks/activities/README.md#listactivities) - Get all activities
|
- [`activitiesListActivities`](docs/sdks/activities/README.md#listactivities) - Get all activities
|
||||||
|
- [`authenticationGetTokenDetails`](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
|
||||||
|
- [`authenticationPostUsersSignInData`](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
|
||||||
- [`butlerGetTasks`](docs/sdks/butler/README.md#gettasks) - Get all Butler tasks
|
- [`butlerGetTasks`](docs/sdks/butler/README.md#gettasks) - Get all Butler tasks
|
||||||
- [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
|
- [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
|
||||||
- [`butlerStartTasks`](docs/sdks/butler/README.md#starttasks) - Start all Butler tasks
|
- [`butlerStartTasks`](docs/sdks/butler/README.md#starttasks) - Start all Butler tasks
|
||||||
@@ -945,6 +1015,7 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
|||||||
- [`playQueueResetPlayQueue`](docs/sdks/playqueue/README.md#resetplayqueue) - Reset a play queue
|
- [`playQueueResetPlayQueue`](docs/sdks/playqueue/README.md#resetplayqueue) - Reset a play queue
|
||||||
- [`playQueueShuffle`](docs/sdks/playqueue/README.md#shuffle) - Shuffle a play queue
|
- [`playQueueShuffle`](docs/sdks/playqueue/README.md#shuffle) - Shuffle a play queue
|
||||||
- [`playQueueUnshuffle`](docs/sdks/playqueue/README.md#unshuffle) - Unshuffle a play queue
|
- [`playQueueUnshuffle`](docs/sdks/playqueue/README.md#unshuffle) - Unshuffle a play queue
|
||||||
|
- [`plexGetServerResources`](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
|
||||||
- [`preferencesGetAllPreferences`](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
|
- [`preferencesGetAllPreferences`](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
|
||||||
- [`preferencesGetPreference`](docs/sdks/preferences/README.md#getpreference) - Get a preferences
|
- [`preferencesGetPreference`](docs/sdks/preferences/README.md#getpreference) - Get a preferences
|
||||||
- [`preferencesSetPreferences`](docs/sdks/preferences/README.md#setpreferences) - Set preferences
|
- [`preferencesSetPreferences`](docs/sdks/preferences/README.md#setpreferences) - Set preferences
|
||||||
@@ -984,6 +1055,7 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
|||||||
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Applying updates
|
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Applying updates
|
||||||
- [`updaterCheckUpdates`](docs/sdks/updater/README.md#checkupdates) - Checking for updates
|
- [`updaterCheckUpdates`](docs/sdks/updater/README.md#checkupdates) - Checking for updates
|
||||||
- [`updaterGetUpdatesStatus`](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
|
- [`updaterGetUpdatesStatus`](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
|
||||||
|
- [`usersGetUsers`](docs/sdks/users/README.md#getusers) - Get list of all connected users
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<!-- End Standalone functions [standalone-funcs] -->
|
<!-- End Standalone functions [standalone-funcs] -->
|
||||||
@@ -1006,7 +1078,9 @@ Certain SDK methods accept files as part of a multi-part request. It is possible
|
|||||||
import { PlexAPI } from "@lukehagar/plexjs";
|
import { PlexAPI } from "@lukehagar/plexjs";
|
||||||
import { openAsBlob } from "node:fs";
|
import { openAsBlob } from "node:fs";
|
||||||
|
|
||||||
const plexAPI = new PlexAPI();
|
const plexAPI = new PlexAPI({
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
const result = await plexAPI.log.writeLog(await openAsBlob("example.file"));
|
const result = await plexAPI.log.writeLog(await openAsBlob("example.file"));
|
||||||
@@ -1041,6 +1115,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -1091,6 +1166,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
|
|||||||
12
RELEASES.md
12
RELEASES.md
@@ -1438,4 +1438,14 @@ Based on:
|
|||||||
### Generated
|
### Generated
|
||||||
- [typescript v0.43.0] .
|
- [typescript v0.43.0] .
|
||||||
### Releases
|
### Releases
|
||||||
- [NPM v0.43.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.43.0 - .
|
- [NPM v0.43.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.43.0 - .
|
||||||
|
|
||||||
|
## 2025-12-01 00:13:55
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [typescript v0.44.0] .
|
||||||
|
### Releases
|
||||||
|
- [NPM v0.44.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.44.0 - .
|
||||||
15
USAGE.md
15
USAGE.md
@@ -25,6 +25,7 @@ const plexAPI = new PlexAPI({
|
|||||||
deviceVendor: "Roku",
|
deviceVendor: "Roku",
|
||||||
deviceName: "Living Room TV",
|
deviceName: "Living Room TV",
|
||||||
marketplace: "googlePlay",
|
marketplace: "googlePlay",
|
||||||
|
token: "<YOUR_API_KEY_HERE>",
|
||||||
});
|
});
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
@@ -34,13 +35,13 @@ async function run() {
|
|||||||
advancedSubtitles: AdvancedSubtitles.Burn,
|
advancedSubtitles: AdvancedSubtitles.Burn,
|
||||||
audioBoost: 50,
|
audioBoost: 50,
|
||||||
audioChannelCount: 5,
|
audioChannelCount: 5,
|
||||||
autoAdjustQuality: BoolInt.One,
|
autoAdjustQuality: BoolInt.True,
|
||||||
autoAdjustSubtitle: BoolInt.One,
|
autoAdjustSubtitle: BoolInt.True,
|
||||||
directPlay: BoolInt.One,
|
directPlay: BoolInt.True,
|
||||||
directStream: BoolInt.One,
|
directStream: BoolInt.True,
|
||||||
directStreamAudio: BoolInt.One,
|
directStreamAudio: BoolInt.True,
|
||||||
disableResolutionRotation: BoolInt.One,
|
disableResolutionRotation: BoolInt.True,
|
||||||
hasMDE: BoolInt.One,
|
hasMDE: BoolInt.True,
|
||||||
location: StartTranscodeSessionLocation.Wan,
|
location: StartTranscodeSessionLocation.Wan,
|
||||||
mediaBufferSize: 102400,
|
mediaBufferSize: 102400,
|
||||||
mediaIndex: 0,
|
mediaIndex: 0,
|
||||||
|
|||||||
727
codeSamples.yaml
727
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
|||||||
|
# GetServerResourcesUnauthorizedError
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetServerResourcesUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.GetServerResourcesError](../../../sdk/models/operations/getserverresourceserror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
18
docs/sdk/models/errors/gettokendetailsbadrequesterror.md
Normal file
18
docs/sdk/models/errors/gettokendetailsbadrequesterror.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetTokenDetailsBadRequestError
|
||||||
|
|
||||||
|
Bad Request - A parameter was not specified, or was specified incorrectly.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.GetTokenDetailsBadRequestError](../../../sdk/models/operations/gettokendetailsbadrequesterror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
18
docs/sdk/models/errors/gettokendetailsunauthorizederror.md
Normal file
18
docs/sdk/models/errors/gettokendetailsunauthorizederror.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetTokenDetailsUnauthorizedError
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.GetTokenDetailsUnauthorizedError](../../../sdk/models/operations/gettokendetailsunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
18
docs/sdk/models/errors/getusersbadrequesterror.md
Normal file
18
docs/sdk/models/errors/getusersbadrequesterror.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetUsersBadRequestError
|
||||||
|
|
||||||
|
Bad Request - A parameter was not specified, or was specified incorrectly.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetUsersBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.GetUsersBadRequestError](../../../sdk/models/operations/getusersbadrequesterror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
18
docs/sdk/models/errors/getusersunauthorizederror.md
Normal file
18
docs/sdk/models/errors/getusersunauthorizederror.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetUsersUnauthorizedError
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetUsersUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.GetUsersUnauthorizedError](../../../sdk/models/operations/getusersunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
18
docs/sdk/models/errors/postuserssignindatabadrequesterror.md
Normal file
18
docs/sdk/models/errors/postuserssignindatabadrequesterror.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# PostUsersSignInDataBadRequestError
|
||||||
|
|
||||||
|
Bad Request - A parameter was not specified, or was specified incorrectly.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { PostUsersSignInDataBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.PostUsersSignInDataBadRequestError](../../../sdk/models/operations/postuserssignindatabadrequesterror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# PostUsersSignInDataUnauthorizedError
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { PostUsersSignInDataUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
|
||||||
|
|
||||||
|
// No examples available for this model
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `errors` | [operations.PostUsersSignInDataUnauthorizedError](../../../sdk/models/operations/postuserssignindataunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { AddDownloadQueueItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { AddDownloadQueueItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
import { AdvancedSubtitles, BoolInt, LocationParameter, Protocol, Subtitles } from "@lukehagar/plexjs/sdk/models/shared";
|
import { AdvancedSubtitles, BoolInt, LocationParameter, ProtocolParameter, Subtitles } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: AddDownloadQueueItemsRequest = {
|
let value: AddDownloadQueueItemsRequest = {
|
||||||
queueId: 44894,
|
queueId: 44894,
|
||||||
@@ -15,13 +15,13 @@ let value: AddDownloadQueueItemsRequest = {
|
|||||||
advancedSubtitles: AdvancedSubtitles.Burn,
|
advancedSubtitles: AdvancedSubtitles.Burn,
|
||||||
audioBoost: 50,
|
audioBoost: 50,
|
||||||
audioChannelCount: 5,
|
audioChannelCount: 5,
|
||||||
autoAdjustQuality: BoolInt.One,
|
autoAdjustQuality: BoolInt.True,
|
||||||
autoAdjustSubtitle: BoolInt.One,
|
autoAdjustSubtitle: BoolInt.True,
|
||||||
directPlay: BoolInt.One,
|
directPlay: BoolInt.True,
|
||||||
directStream: BoolInt.One,
|
directStream: BoolInt.True,
|
||||||
directStreamAudio: BoolInt.One,
|
directStreamAudio: BoolInt.True,
|
||||||
disableResolutionRotation: BoolInt.One,
|
disableResolutionRotation: BoolInt.True,
|
||||||
hasMDE: BoolInt.One,
|
hasMDE: BoolInt.True,
|
||||||
location: LocationParameter.Wan,
|
location: LocationParameter.Wan,
|
||||||
mediaBufferSize: 102400,
|
mediaBufferSize: 102400,
|
||||||
mediaIndex: 0,
|
mediaIndex: 0,
|
||||||
@@ -31,7 +31,7 @@ let value: AddDownloadQueueItemsRequest = {
|
|||||||
path: "/library/metadata/151671",
|
path: "/library/metadata/151671",
|
||||||
peakBitrate: 12000,
|
peakBitrate: 12000,
|
||||||
photoResolution: "1080x1080",
|
photoResolution: "1080x1080",
|
||||||
protocol: Protocol.Dash,
|
protocol: ProtocolParameter.Dash,
|
||||||
secondsPerSegment: 5,
|
secondsPerSegment: 5,
|
||||||
subtitleSize: 50,
|
subtitleSize: 50,
|
||||||
subtitles: Subtitles.Sidecar,
|
subtitles: Subtitles.Sidecar,
|
||||||
@@ -77,7 +77,7 @@ let value: AddDownloadQueueItemsRequest = {
|
|||||||
| `path` | *string* | :heavy_minus_sign: | Internal PMS path of the media to transcode. | /library/metadata/151671 |
|
| `path` | *string* | :heavy_minus_sign: | Internal PMS path of the media to transcode. | /library/metadata/151671 |
|
||||||
| `peakBitrate` | *number* | :heavy_minus_sign: | Maximum bitrate (in kbps) to use in ABR. | 12000 |
|
| `peakBitrate` | *number* | :heavy_minus_sign: | Maximum bitrate (in kbps) to use in ABR. | 12000 |
|
||||||
| `photoResolution` | *string* | :heavy_minus_sign: | Target photo resolution. | 1080x1080 |
|
| `photoResolution` | *string* | :heavy_minus_sign: | Target photo resolution. | 1080x1080 |
|
||||||
| `protocol` | [shared.Protocol](../../../sdk/models/shared/protocol.md) | :heavy_minus_sign: | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/> | dash |
|
| `protocol` | [shared.ProtocolParameter](../../../sdk/models/shared/protocolparameter.md) | :heavy_minus_sign: | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/> | dash |
|
||||||
| `secondsPerSegment` | *number* | :heavy_minus_sign: | Number of seconds to include in each transcoded segment | 5 |
|
| `secondsPerSegment` | *number* | :heavy_minus_sign: | Number of seconds to include in each transcoded segment | 5 |
|
||||||
| `subtitleSize` | *number* | :heavy_minus_sign: | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) | 50 |
|
| `subtitleSize` | *number* | :heavy_minus_sign: | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) | 50 |
|
||||||
| `subtitles` | [shared.Subtitles](../../../sdk/models/shared/subtitles.md) | :heavy_minus_sign: | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn |
|
| `subtitles` | [shared.Subtitles](../../../sdk/models/shared/subtitles.md) | :heavy_minus_sign: | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn |
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ let value: AddSectionRequest = {
|
|||||||
"O:\fatboy\\Media\\My Music",
|
"O:\fatboy\\Media\\My Music",
|
||||||
],
|
],
|
||||||
prefs: {},
|
prefs: {},
|
||||||
relative: BoolInt.One,
|
relative: BoolInt.True,
|
||||||
importFromiTunes: BoolInt.One,
|
importFromiTunes: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: AddSubtitlesRequest = {
|
let value: AddSubtitlesRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
forced: BoolInt.One,
|
forced: BoolInt.True,
|
||||||
hearingImpaired: BoolInt.One,
|
hearingImpaired: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: AddToPlayQueueRequest = {
|
let value: AddToPlayQueueRequest = {
|
||||||
playQueueId: 354193,
|
playQueueId: 354193,
|
||||||
next: BoolInt.One,
|
next: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
18
docs/sdk/models/operations/alllibraries.md
Normal file
18
docs/sdk/models/operations/alllibraries.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllLibraries
|
||||||
|
|
||||||
|
Indicates if the user has access to all libraries.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllLibraries } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllLibraries = AllLibraries.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
18
docs/sdk/models/operations/allowcameraupload.md
Normal file
18
docs/sdk/models/operations/allowcameraupload.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllowCameraUpload
|
||||||
|
|
||||||
|
Indicates if the user is allowed to upload from a camera.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllowCameraUpload } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllowCameraUpload = AllowCameraUpload.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
18
docs/sdk/models/operations/allowchannels.md
Normal file
18
docs/sdk/models/operations/allowchannels.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllowChannels
|
||||||
|
|
||||||
|
Indicates if the user has access to channels.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllowChannels } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllowChannels = AllowChannels.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
18
docs/sdk/models/operations/allowsubtitleadmin.md
Normal file
18
docs/sdk/models/operations/allowsubtitleadmin.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllowSubtitleAdmin
|
||||||
|
|
||||||
|
Indicates if the user can manage subtitles.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllowSubtitleAdmin } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllowSubtitleAdmin = AllowSubtitleAdmin.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
18
docs/sdk/models/operations/allowsync.md
Normal file
18
docs/sdk/models/operations/allowsync.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllowSync
|
||||||
|
|
||||||
|
Indicates if the user is allowed to sync media.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllowSync } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllowSync = AllowSync.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
18
docs/sdk/models/operations/allowtuners.md
Normal file
18
docs/sdk/models/operations/allowtuners.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# AllowTuners
|
||||||
|
|
||||||
|
Indicates if the user is allowed to use tuners.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { AllowTuners } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: AllowTuners = AllowTuners.Enable;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| --------- | --------- |
|
||||||
|
| `Disable` | 0 |
|
||||||
|
| `Enable` | 1 |
|
||||||
@@ -7,8 +7,8 @@ import { ApplyUpdatesRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
|||||||
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: ApplyUpdatesRequest = {
|
let value: ApplyUpdatesRequest = {
|
||||||
tonight: BoolInt.One,
|
tonight: BoolInt.True,
|
||||||
skip: BoolInt.One,
|
skip: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,28 +4,34 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { AutocompleteRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { AutocompleteRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: AutocompleteRequest = {
|
let value: AutocompleteRequest = {
|
||||||
sectionId: 594987,
|
sectionId: 594987,
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
||||||
| `type` | *number* | :heavy_minus_sign: | Item type | |
|
| `type` | *number* | :heavy_minus_sign: | Item type | |
|
||||||
| `fieldQuery` | *string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
|
| `fieldQuery` | *string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
19
docs/sdk/models/operations/billing.md
Normal file
19
docs/sdk/models/operations/billing.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Billing
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { Billing } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: Billing = {
|
||||||
|
internalPaymentMethod: {},
|
||||||
|
paymentMethodId: 575569,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||||
|
| `internalPaymentMethod` | [operations.InternalPaymentMethod](../../../sdk/models/operations/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
|
||||||
|
| `paymentMethodId` | *number* | :heavy_check_mark: | N/A |
|
||||||
@@ -10,6 +10,6 @@ let value: ButlerTasks = {};
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description |
|
||||||
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||||
| `butlerTask` | [operations.ButlerTask](../../../sdk/models/operations/butlertask.md)[] | :heavy_minus_sign: | N/A |
|
| `butlerTask` | [operations.GetTasksButlerTask](../../../sdk/models/operations/gettasksbutlertask.md)[] | :heavy_minus_sign: | N/A |
|
||||||
@@ -7,7 +7,7 @@ import { CheckUpdatesRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
|||||||
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: CheckUpdatesRequest = {
|
let value: CheckUpdatesRequest = {
|
||||||
download: BoolInt.One,
|
download: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,29 +4,31 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { CreateCollectionRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { CreateCollectionRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: CreateCollectionRequest = {
|
let value: CreateCollectionRequest = {
|
||||||
sectionId: "<id>",
|
sectionId: "<id>",
|
||||||
|
type: MediaType.TvShow,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *string* | :heavy_check_mark: | The section where this collection will be created | |
|
| `sectionId` | *string* | :heavy_check_mark: | The section where this collection will be created | |
|
||||||
| `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
|
| `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
|
||||||
| `smart` | *boolean* | :heavy_minus_sign: | Whether this is a smart collection/playlist | |
|
| `smart` | *boolean* | :heavy_minus_sign: | Whether this is a smart collection/playlist | |
|
||||||
| `uri` | *string* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
|
| `uri` | *string* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
|
||||||
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | |
|
| `type` | [shared.MediaType](../../../sdk/models/shared/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
|
||||||
@@ -9,9 +9,9 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
let value: CreateCustomHubRequest = {
|
let value: CreateCustomHubRequest = {
|
||||||
sectionId: 94028,
|
sectionId: 94028,
|
||||||
metadataItemId: 822624,
|
metadataItemId: 822624,
|
||||||
promotedToRecommended: BoolInt.One,
|
promotedToRecommended: BoolInt.True,
|
||||||
promotedToOwnHome: BoolInt.One,
|
promotedToOwnHome: BoolInt.True,
|
||||||
promotedToSharedHome: BoolInt.One,
|
promotedToSharedHome: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: CreatePlayQueueRequest = {
|
let value: CreatePlayQueueRequest = {
|
||||||
type: CreatePlayQueueType.Audio,
|
type: CreatePlayQueueType.Audio,
|
||||||
shuffle: BoolInt.One,
|
shuffle: BoolInt.True,
|
||||||
repeat: BoolInt.One,
|
repeat: BoolInt.True,
|
||||||
continuous: BoolInt.One,
|
continuous: BoolInt.True,
|
||||||
recursive: BoolInt.One,
|
recursive: BoolInt.True,
|
||||||
onDeck: BoolInt.One,
|
onDeck: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { CreateSubscriptionMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { CreateSubscriptionMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: CreateSubscriptionMediaContainer = {
|
let value: CreateSubscriptionMediaContainer = {
|
||||||
mediaSubscription: [
|
mediaSubscription: [
|
||||||
@@ -16,9 +17,14 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -26,9 +32,12 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -39,6 +48,7 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -49,6 +59,7 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -56,16 +67,16 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -82,46 +93,72 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -134,9 +171,12 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -147,6 +187,7 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -154,9 +195,12 @@ let value: CreateSubscriptionMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { CreateSubscriptionResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { CreateSubscriptionResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: CreateSubscriptionResponseBody = {
|
let value: CreateSubscriptionResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -14,9 +15,14 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -24,9 +30,12 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -37,6 +46,7 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -47,6 +57,7 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -54,16 +65,16 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -80,46 +91,72 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -132,9 +169,12 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -145,6 +185,7 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -152,9 +193,12 @@ let value: CreateSubscriptionResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: DeleteLibrarySectionRequest = {
|
let value: DeleteLibrarySectionRequest = {
|
||||||
sectionId: "<id>",
|
sectionId: "<id>",
|
||||||
async: BoolInt.One,
|
async: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
let value: DeleteMediaItemRequest = {
|
let value: DeleteMediaItemRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
mediaItem: "<value>",
|
mediaItem: "<value>",
|
||||||
proxy: BoolInt.One,
|
proxy: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: DeleteMetadataItemRequest = {
|
let value: DeleteMetadataItemRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
proxy: BoolInt.One,
|
proxy: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: DetectCreditsRequest = {
|
let value: DetectCreditsRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
force: BoolInt.One,
|
force: BoolInt.True,
|
||||||
manual: BoolInt.One,
|
manual: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: DetectIntrosRequest = {
|
let value: DetectIntrosRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
force: BoolInt.One,
|
force: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: DetectVoiceActivityRequest = {
|
let value: DetectVoiceActivityRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
force: BoolInt.One,
|
force: BoolInt.True,
|
||||||
manual: BoolInt.One,
|
manual: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GenerateThumbsRequest = {
|
let value: GenerateThumbsRequest = {
|
||||||
ids: "<value>",
|
ids: "<value>",
|
||||||
force: BoolInt.One,
|
force: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetAllHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetAllHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetAllHubsMediaContainer = {
|
let value: GetAllHubsMediaContainer = {
|
||||||
hub: [
|
hub: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,45 +96,71 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -136,9 +173,12 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,6 +189,7 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -156,9 +197,12 @@ let value: GetAllHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { GetAllHubsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
|||||||
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetAllHubsRequest = {
|
let value: GetAllHubsRequest = {
|
||||||
onlyTransient: BoolInt.One,
|
onlyTransient: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetAllHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetAllHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetAllHubsResponseBody = {
|
let value: GetAllHubsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetAllHubsResponseBody = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetAllHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetAllHubsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetAllHubsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetAllHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,72 @@ let value: GetAllHubsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +172,12 @@ let value: GetAllHubsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +188,7 @@ let value: GetAllHubsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +196,12 @@ let value: GetAllHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import { GetAllSubscriptionsRequest } from "@lukehagar/plexjs/sdk/models/operati
|
|||||||
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetAllSubscriptionsRequest = {
|
let value: GetAllSubscriptionsRequest = {
|
||||||
includeGrabs: BoolInt.One,
|
includeGrabs: BoolInt.True,
|
||||||
includeStorage: BoolInt.One,
|
includeStorage: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetAugmentationStatusRequest = {
|
let value: GetAugmentationStatusRequest = {
|
||||||
augmentationId: "<id>",
|
augmentationId: "<id>",
|
||||||
wait: BoolInt.One,
|
wait: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,26 +4,32 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetCollectionsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetCollectionsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetCollectionsRequest = {
|
let value: GetCollectionsRequest = {
|
||||||
sectionId: 298004,
|
sectionId: 298004,
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
@@ -4,27 +4,33 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetCommonRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetCommonRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetCommonRequest = {
|
let value: GetCommonRequest = {
|
||||||
sectionId: 840014,
|
sectionId: 840014,
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
||||||
| `type` | *number* | :heavy_minus_sign: | Item type | |
|
| `type` | *number* | :heavy_minus_sign: | Item type | |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetContinueWatchingMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetContinueWatchingMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetContinueWatchingMediaContainer = {
|
let value: GetContinueWatchingMediaContainer = {
|
||||||
hub: [
|
hub: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,45 +96,71 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -136,9 +173,12 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,6 +189,7 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -156,9 +197,12 @@ let value: GetContinueWatchingMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetContinueWatchingResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetContinueWatchingResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetContinueWatchingResponseBody = {
|
let value: GetContinueWatchingResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,72 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +172,12 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +188,7 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +196,12 @@ let value: GetContinueWatchingResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -4,28 +4,34 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetFirstCharactersRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetFirstCharactersRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetFirstCharactersRequest = {
|
let value: GetFirstCharactersRequest = {
|
||||||
sectionId: 231024,
|
sectionId: 231024,
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
||||||
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
|
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
|
||||||
| `sort` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
|
| `sort` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
@@ -13,7 +13,7 @@ let value: GetImageRequest = {
|
|||||||
bottomLeft: "1c425d",
|
bottomLeft: "1c425d",
|
||||||
width: 1920,
|
width: 1920,
|
||||||
height: 1080,
|
height: 1080,
|
||||||
noise: BoolInt.One,
|
noise: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,19 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetLibraryDetailsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetLibraryDetailsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetLibraryDetailsMediaContainer = {
|
let value: GetLibraryDetailsMediaContainer = {
|
||||||
directory: [
|
directory: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 871584,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -18,9 +24,12 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -31,6 +40,7 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -41,6 +51,7 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -48,16 +59,16 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -74,45 +85,71 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -125,9 +162,12 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -138,6 +178,7 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -145,9 +186,12 @@ let value: GetLibraryDetailsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetLibraryDetailsRequest = {
|
let value: GetLibraryDetailsRequest = {
|
||||||
sectionId: "<id>",
|
sectionId: "<id>",
|
||||||
includeDetails: BoolInt.One,
|
includeDetails: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -6,14 +6,20 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetLibraryDetailsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetLibraryDetailsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetLibraryDetailsResponseBody = {
|
let value: GetLibraryDetailsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
directory: [
|
directory: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 871584,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -21,9 +27,12 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -34,6 +43,7 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -44,6 +54,7 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -51,16 +62,16 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -77,45 +88,71 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -128,9 +165,12 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -141,6 +181,7 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,9 +189,12 @@ let value: GetLibraryDetailsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -4,23 +4,30 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetLibraryItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetLibraryItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetLibraryItemsRequest = {};
|
let value: GetLibraryItemsRequest = {
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
@@ -4,41 +4,42 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetLibraryMatchesRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetLibraryMatchesRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
import { BoolInt, MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetLibraryMatchesRequest = {
|
let value: GetLibraryMatchesRequest = {
|
||||||
includeFullMetadata: BoolInt.One,
|
type: MediaType.TvShow,
|
||||||
includeAncestorMetadata: BoolInt.One,
|
includeFullMetadata: BoolInt.True,
|
||||||
includeAlternateMetadataSources: BoolInt.One,
|
includeAncestorMetadata: BoolInt.True,
|
||||||
|
includeAlternateMetadataSources: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | |
|
| `type` | [shared.MediaType](../../../sdk/models/shared/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
|
||||||
| `includeFullMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
| `includeFullMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
||||||
| `includeAncestorMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
| `includeAncestorMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
||||||
| `includeAlternateMetadataSources` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
| `includeAlternateMetadataSources` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
|
||||||
| `guid` | *string* | :heavy_minus_sign: | Used for movies, shows, artists, albums, and tracks. Allowed for various URI schemes, to be defined. | |
|
| `guid` | *string* | :heavy_minus_sign: | Used for movies, shows, artists, albums, and tracks. Allowed for various URI schemes, to be defined. | |
|
||||||
| `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
|
| `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
|
||||||
| `year` | *number* | :heavy_minus_sign: | Used for movies shows, and albums. Optional. | |
|
| `year` | *number* | :heavy_minus_sign: | Used for movies shows, and albums. Optional. | |
|
||||||
| `path` | *string* | :heavy_minus_sign: | Used for movies, episodes, and tracks. The full path to the media file, used for "cloud-scanning" an item. | |
|
| `path` | *string* | :heavy_minus_sign: | Used for movies, episodes, and tracks. The full path to the media file, used for "cloud-scanning" an item. | |
|
||||||
| `grandparentTitle` | *string* | :heavy_minus_sign: | Used for episodes and tracks. The title of the show/artist. Required if `path` isn't passed. | |
|
| `grandparentTitle` | *string* | :heavy_minus_sign: | Used for episodes and tracks. The title of the show/artist. Required if `path` isn't passed. | |
|
||||||
| `grandparentYear` | *number* | :heavy_minus_sign: | Used for episodes. The year of the show. | |
|
| `grandparentYear` | *number* | :heavy_minus_sign: | Used for episodes. The year of the show. | |
|
||||||
| `parentIndex` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | |
|
| `parentIndex` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | |
|
||||||
| `index` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The episode/tracks number in the season/album. | |
|
| `index` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The episode/tracks number in the season/album. | |
|
||||||
| `originallyAvailableAt` | *string* | :heavy_minus_sign: | Used for episodes. In the format `YYYY-MM-DD`. | |
|
| `originallyAvailableAt` | *string* | :heavy_minus_sign: | Used for episodes. In the format `YYYY-MM-DD`. | |
|
||||||
| `parentTitle` | *string* | :heavy_minus_sign: | Used for albums and tracks. The artist name for albums or the album name for tracks. | |
|
| `parentTitle` | *string* | :heavy_minus_sign: | Used for albums and tracks. The artist name for albums or the album name for tracks. | |
|
||||||
@@ -10,7 +10,7 @@ let value: GetMediaPartRequest = {
|
|||||||
partId: 488589,
|
partId: 488589,
|
||||||
changestamp: 145976,
|
changestamp: 145976,
|
||||||
filename: "example.file",
|
filename: "example.file",
|
||||||
download: BoolInt.One,
|
download: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetMetadataHubsRequest = {
|
let value: GetMetadataHubsRequest = {
|
||||||
metadataId: 795565,
|
metadataId: 795565,
|
||||||
onlyTransient: BoolInt.One,
|
onlyTransient: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,14 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetMetadataItemRequest = {
|
let value: GetMetadataItemRequest = {
|
||||||
ids: [],
|
ids: [],
|
||||||
asyncCheckFiles: BoolInt.One,
|
asyncCheckFiles: BoolInt.True,
|
||||||
asyncRefreshLocalMediaAgent: BoolInt.One,
|
asyncRefreshLocalMediaAgent: BoolInt.True,
|
||||||
asyncRefreshAnalysis: BoolInt.One,
|
asyncRefreshAnalysis: BoolInt.True,
|
||||||
checkFiles: BoolInt.One,
|
checkFiles: BoolInt.True,
|
||||||
skipRefresh: BoolInt.One,
|
skipRefresh: BoolInt.True,
|
||||||
checkFileAvailability: BoolInt.One,
|
checkFileAvailability: BoolInt.True,
|
||||||
asyncAugmentMetadata: BoolInt.One,
|
asyncAugmentMetadata: BoolInt.True,
|
||||||
augmentCount: BoolInt.One,
|
augmentCount: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ let value: GetPersonMediaContainer = {
|
|||||||
directory: [
|
directory: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let value: GetPersonResponseBody = {
|
|||||||
directory: [
|
directory: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
18
docs/sdk/models/operations/getplaylistgeneratoritemsguid.md
Normal file
18
docs/sdk/models/operations/getplaylistgeneratoritemsguid.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetPlaylistGeneratorItemsGuid
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetPlaylistGeneratorItemsGuid } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetPlaylistGeneratorItemsGuid = {
|
||||||
|
id:
|
||||||
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `id` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |
|
||||||
@@ -9,12 +9,18 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetPlaylistGeneratorItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetPlaylistGeneratorItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetPlaylistGeneratorItemsMediaContainer = {
|
let value: GetPlaylistGeneratorItemsMediaContainer = {
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 847588,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -22,9 +28,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -35,6 +44,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -45,6 +55,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,16 +63,16 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -78,45 +89,71 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -129,9 +166,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -142,6 +182,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,9 +190,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,13 +6,19 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetPlaylistGeneratorItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetPlaylistGeneratorItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetPlaylistGeneratorItemsResponseBody = {
|
let value: GetPlaylistGeneratorItemsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 847588,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -20,9 +26,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -33,6 +42,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -43,6 +53,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,16 +61,16 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -76,45 +87,71 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -127,9 +164,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -140,6 +180,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -147,9 +188,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetPlayQueueRequest = {
|
let value: GetPlayQueueRequest = {
|
||||||
playQueueId: 868034,
|
playQueueId: 868034,
|
||||||
own: BoolInt.One,
|
own: BoolInt.True,
|
||||||
includeBefore: BoolInt.One,
|
includeBefore: BoolInt.True,
|
||||||
includeAfter: BoolInt.One,
|
includeAfter: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetPostplayHubsRequest = {
|
let value: GetPostplayHubsRequest = {
|
||||||
metadataId: 202749,
|
metadataId: 202749,
|
||||||
onlyTransient: BoolInt.One,
|
onlyTransient: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetPromotedHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetPromotedHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetPromotedHubsMediaContainer = {
|
let value: GetPromotedHubsMediaContainer = {
|
||||||
hub: [
|
hub: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,45 +96,71 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -136,9 +173,12 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,6 +189,7 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -156,9 +197,12 @@ let value: GetPromotedHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetPromotedHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetPromotedHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetPromotedHubsResponseBody = {
|
let value: GetPromotedHubsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,72 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +172,12 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +188,7 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +196,12 @@ let value: GetPromotedHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetRelatedHubsRequest = {
|
let value: GetRelatedHubsRequest = {
|
||||||
metadataId: 344420,
|
metadataId: 344420,
|
||||||
onlyTransient: BoolInt.One,
|
onlyTransient: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetRelatedItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetRelatedItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetRelatedItemsMediaContainer = {
|
let value: GetRelatedItemsMediaContainer = {
|
||||||
hub: [
|
hub: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,45 +96,71 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -136,9 +173,12 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,6 +189,7 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -156,9 +197,12 @@ let value: GetRelatedItemsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetRelatedItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetRelatedItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetRelatedItemsResponseBody = {
|
let value: GetRelatedItemsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,72 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +172,12 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +188,7 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +196,12 @@ let value: GetRelatedItemsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -9,14 +9,20 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetScheduledRecordingsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetScheduledRecordingsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetScheduledRecordingsMediaContainer = {
|
let value: GetScheduledRecordingsMediaContainer = {
|
||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -24,9 +30,12 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -37,6 +46,7 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -47,6 +57,7 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -54,16 +65,16 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -80,45 +91,71 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -131,9 +168,12 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -144,6 +184,7 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -151,9 +192,12 @@ let value: GetScheduledRecordingsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,15 +6,21 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetScheduledRecordingsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetScheduledRecordingsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetScheduledRecordingsResponseBody = {
|
let value: GetScheduledRecordingsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -22,9 +28,12 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -35,6 +44,7 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -45,6 +55,7 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,16 +63,16 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -78,45 +89,71 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -129,9 +166,12 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -142,6 +182,7 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,9 +190,12 @@ let value: GetScheduledRecordingsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetSectionHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetSectionHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetSectionHubsMediaContainer = {
|
let value: GetSectionHubsMediaContainer = {
|
||||||
hub: [
|
hub: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,45 +96,71 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -136,9 +173,12 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -149,6 +189,7 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -156,9 +197,12 @@ let value: GetSectionHubsMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetSectionHubsRequest = {
|
let value: GetSectionHubsRequest = {
|
||||||
sectionId: 905423,
|
sectionId: 905423,
|
||||||
onlyTransient: BoolInt.One,
|
onlyTransient: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetSectionHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetSectionHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetSectionHubsResponseBody = {
|
let value: GetSectionHubsResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
key: "/hubs/sections/home/onDeck",
|
key: "/hubs/sections/home/onDeck",
|
||||||
metadata: [
|
metadata: [
|
||||||
{
|
{
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 29550,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,72 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +172,12 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +188,7 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +196,12 @@ let value: GetSectionHubsResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -4,29 +4,35 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetSectionImageRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetSectionImageRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetSectionImageRequest = {
|
let value: GetSectionImageRequest = {
|
||||||
sectionId: 16951,
|
sectionId: 16951,
|
||||||
updatedAt: 311971,
|
updatedAt: 311971,
|
||||||
|
mediaQuery: {
|
||||||
|
type: MediaType.Episode,
|
||||||
|
sourceType: 2,
|
||||||
|
sort: "duration:desc,index",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
|
||||||
| `updatedAt` | *number* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
|
| `updatedAt` | *number* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
|
||||||
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
|
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
|
||||||
| `composite` | [shared.Composite](../../../sdk/models/shared/composite.md) | :heavy_minus_sign: | N/A | |
|
| `composite` | [shared.Composite](../../../sdk/models/shared/composite.md) | :heavy_minus_sign: | N/A | |
|
||||||
@@ -9,8 +9,22 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetSectionsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetSectionsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaTypeString } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetSectionsMediaContainer = {};
|
let value: GetSectionsMediaContainer = {
|
||||||
|
directory: [
|
||||||
|
{
|
||||||
|
title: "Movies",
|
||||||
|
type: MediaTypeString.Movie,
|
||||||
|
contentChangedAt: 1556281940,
|
||||||
|
createdAt: 1556281940,
|
||||||
|
language: "<value>",
|
||||||
|
uuid: "e69655a2-ef48-4aba-bb19-d3cc3401e7d6",
|
||||||
|
scannedAt: 1556281940,
|
||||||
|
updatedAt: 1556281940,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|||||||
@@ -6,8 +6,24 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetSectionsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetSectionsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaTypeString } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetSectionsResponseBody = {};
|
let value: GetSectionsResponseBody = {
|
||||||
|
mediaContainer: {
|
||||||
|
directory: [
|
||||||
|
{
|
||||||
|
title: "Movies",
|
||||||
|
type: MediaTypeString.Movie,
|
||||||
|
contentChangedAt: 1556281940,
|
||||||
|
createdAt: 1556281940,
|
||||||
|
language: "<value>",
|
||||||
|
uuid: "e69655a2-ef48-4aba-bb19-d3cc3401e7d6",
|
||||||
|
scannedAt: 1556281940,
|
||||||
|
updatedAt: 1556281940,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|||||||
21
docs/sdk/models/operations/getserverresourceserror.md
Normal file
21
docs/sdk/models/operations/getserverresourceserror.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# GetServerResourcesError
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetServerResourcesError } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetServerResourcesError = {
|
||||||
|
code: 1001,
|
||||||
|
message: "User could not be authenticated",
|
||||||
|
status: 401,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
|
||||||
|
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
|
||||||
|
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
|
||||||
|
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |
|
||||||
18
docs/sdk/models/operations/getserverresourcesglobals.md
Normal file
18
docs/sdk/models/operations/getserverresourcesglobals.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# GetServerResourcesGlobals
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetServerResourcesGlobals } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetServerResourcesGlobals = {
|
||||||
|
clientIdentifier: "abc123",
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
|
||||||
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
23
docs/sdk/models/operations/getserverresourcesrequest.md
Normal file
23
docs/sdk/models/operations/getserverresourcesrequest.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# GetServerResourcesRequest
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetServerResourcesRequest, IncludeHttps, IncludeIPv6, IncludeRelay } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetServerResourcesRequest = {
|
||||||
|
includeHttps: IncludeHttps.True,
|
||||||
|
includeRelay: IncludeRelay.True,
|
||||||
|
includeIPv6: IncludeIPv6.True,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
|
||||||
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
|
| `includeHttps` | [operations.IncludeHttps](../../../sdk/models/operations/includehttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
|
||||||
|
| `includeRelay` | [operations.IncludeRelay](../../../sdk/models/operations/includerelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
|
||||||
|
| `includeIPv6` | [operations.IncludeIPv6](../../../sdk/models/operations/includeipv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
|
||||||
21
docs/sdk/models/operations/getserverresourcesresponse.md
Normal file
21
docs/sdk/models/operations/getserverresourcesresponse.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# GetServerResourcesResponse
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetServerResourcesResponse } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetServerResourcesResponse = {
|
||||||
|
contentType: "<value>",
|
||||||
|
statusCode: 384468,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||||
|
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||||
|
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||||
|
| `plexDevices` | [shared.PlexDevice](../../../sdk/models/shared/plexdevice.md)[] | :heavy_minus_sign: | List of Plex Devices. This includes Plex hosted servers and clients |
|
||||||
@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetSourceConnectionInformationRequest = {
|
let value: GetSourceConnectionInformationRequest = {
|
||||||
source: "<value>",
|
source: "<value>",
|
||||||
refresh: BoolInt.One,
|
refresh: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
let value: GetStreamRequest = {
|
let value: GetStreamRequest = {
|
||||||
streamId: 471434,
|
streamId: 471434,
|
||||||
ext: "<value>",
|
ext: "<value>",
|
||||||
autoAdjustSubtitle: BoolInt.One,
|
autoAdjustSubtitle: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|||||||
|
|
||||||
let value: GetSubscriptionRequest = {
|
let value: GetSubscriptionRequest = {
|
||||||
subscriptionId: 533467,
|
subscriptionId: 533467,
|
||||||
includeGrabs: BoolInt.One,
|
includeGrabs: BoolInt.True,
|
||||||
includeStorage: BoolInt.One,
|
includeStorage: BoolInt.True,
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,23 +4,26 @@
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetTagsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetTagsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
|
||||||
|
|
||||||
let value: GetTagsRequest = {};
|
let value: GetTagsRequest = {
|
||||||
|
type: MediaType.TvShow,
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | |
|
| `type` | [shared.MediaType](../../../sdk/models/shared/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
# ButlerTask
|
# GetTasksButlerTask
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { ButlerTask } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetTasksButlerTask } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
let value: ButlerTask = {};
|
let value: GetTasksButlerTask = {};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetTemplateMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetTemplateMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetTemplateMediaContainer = {
|
let value: GetTemplateMediaContainer = {
|
||||||
subscriptionTemplate: [
|
subscriptionTemplate: [
|
||||||
@@ -19,9 +20,14 @@ let value: GetTemplateMediaContainer = {
|
|||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -29,9 +35,12 @@ let value: GetTemplateMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -42,6 +51,7 @@ let value: GetTemplateMediaContainer = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -52,6 +62,7 @@ let value: GetTemplateMediaContainer = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -59,16 +70,16 @@ let value: GetTemplateMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -85,46 +96,73 @@ let value: GetTemplateMediaContainer = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle:
|
||||||
|
"4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -137,9 +175,12 @@ let value: GetTemplateMediaContainer = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -150,6 +191,7 @@ let value: GetTemplateMediaContainer = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -157,9 +199,12 @@ let value: GetTemplateMediaContainer = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ OK
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { GetTemplateResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
import { GetTemplateResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
|
||||||
|
|
||||||
let value: GetTemplateResponseBody = {
|
let value: GetTemplateResponseBody = {
|
||||||
mediaContainer: {
|
mediaContainer: {
|
||||||
@@ -17,9 +18,14 @@ let value: GetTemplateResponseBody = {
|
|||||||
mediaGrabOperation: [
|
mediaGrabOperation: [
|
||||||
{
|
{
|
||||||
metadata: {
|
metadata: {
|
||||||
|
title: "<value>",
|
||||||
|
type: "<value>",
|
||||||
|
addedAt: 3539,
|
||||||
|
art: "/library/metadata/58683/art/1703239236",
|
||||||
autotag: [
|
autotag: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -27,9 +33,12 @@ let value: GetTemplateResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
chapterSource: "media",
|
||||||
|
childCount: 1,
|
||||||
country: [
|
country: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -40,6 +49,7 @@ let value: GetTemplateResponseBody = {
|
|||||||
director: [
|
director: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -50,6 +60,7 @@ let value: GetTemplateResponseBody = {
|
|||||||
genre: [
|
genre: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -57,16 +68,16 @@ let value: GetTemplateResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
guid: [
|
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
|
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||||
|
guids: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
id:
|
||||||
role: "Secretary",
|
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
|
||||||
tag: "Shaun Lawton",
|
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
|
||||||
thumb:
|
|
||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
key: "<key>",
|
||||||
|
lastViewedAt: 1556281940,
|
||||||
media: [
|
media: [
|
||||||
{
|
{
|
||||||
aspectRatio: 2.35,
|
aspectRatio: 2.35,
|
||||||
@@ -83,46 +94,73 @@ let value: GetTemplateResponseBody = {
|
|||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
part: [
|
part: [
|
||||||
{
|
{
|
||||||
|
accessible: true,
|
||||||
audioProfile: "lc",
|
audioProfile: "lc",
|
||||||
container: "mov",
|
container: "mov",
|
||||||
duration: 150192,
|
duration: 150192,
|
||||||
|
exists: true,
|
||||||
file:
|
file:
|
||||||
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
|
||||||
has64bitOffsets: false,
|
has64bitOffsets: false,
|
||||||
id: 1,
|
id: 1,
|
||||||
|
indexes: "sd",
|
||||||
key: "/library/parts/1/1531779263/file.mov",
|
key: "/library/parts/1/1531779263/file.mov",
|
||||||
optimizedForStreaming: false,
|
optimizedForStreaming: false,
|
||||||
size: 105355654,
|
size: 105355654,
|
||||||
stream: [
|
stream: [
|
||||||
{
|
{
|
||||||
default: true,
|
default: true,
|
||||||
audioChannelLayout: "stereo",
|
audioChannelLayout: "5.1(side)",
|
||||||
bitDepth: 8,
|
channels: 6,
|
||||||
bitrate: 5466,
|
bitDepth: 10,
|
||||||
canAutoSync: true,
|
doviblCompatID: 1,
|
||||||
|
doviblPresent: true,
|
||||||
|
dovielPresent: false,
|
||||||
|
doviLevel: 6,
|
||||||
|
doviPresent: true,
|
||||||
|
doviProfile: 8,
|
||||||
|
dovirpuPresent: true,
|
||||||
|
doviVersion: "1.0",
|
||||||
|
bitrate: 24743,
|
||||||
|
canAutoSync: false,
|
||||||
chromaLocation: "topleft",
|
chromaLocation: "topleft",
|
||||||
chromaSubsampling: "4:2:0",
|
chromaSubsampling: "4:2:0",
|
||||||
codec: "h264",
|
codedHeight: 1608,
|
||||||
colorPrimaries: "bt709",
|
codedWidth: 3840,
|
||||||
|
closedCaptions: true,
|
||||||
|
codec: "hevc",
|
||||||
|
colorPrimaries: "bt2020",
|
||||||
colorRange: "tv",
|
colorRange: "tv",
|
||||||
colorSpace: "bt709",
|
colorSpace: "bt2020nc",
|
||||||
colorTrc: "bt709",
|
colorTrc: "smpte2084",
|
||||||
displayTitle: "English (H.264 Main)",
|
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
|
extendedDisplayTitle:
|
||||||
|
"4K DoVi/HDR10 (HEVC Main 10)",
|
||||||
frameRate: 23.976,
|
frameRate: 23.976,
|
||||||
hasScalingMatrix: false,
|
hasScalingMatrix: false,
|
||||||
height: 544,
|
height: 1602,
|
||||||
id: 1,
|
id: 1002625,
|
||||||
index: 0,
|
index: 0,
|
||||||
key: "/library/streams/1",
|
key: "/library/streams/216389",
|
||||||
language: "English",
|
language: "English",
|
||||||
languageCode: "eng",
|
languageCode: "eng",
|
||||||
level: 31,
|
languageTag: "en",
|
||||||
profile: "main",
|
format: "srt",
|
||||||
refFrames: 2,
|
headerCompression: true,
|
||||||
|
level: 150,
|
||||||
|
original: true,
|
||||||
|
profile: "main 10",
|
||||||
|
refFrames: 1,
|
||||||
samplingRate: 48000,
|
samplingRate: 48000,
|
||||||
|
scanType: "progressive",
|
||||||
|
embeddedInVideo: "progressive",
|
||||||
|
selected: true,
|
||||||
|
forced: true,
|
||||||
|
hearingImpaired: true,
|
||||||
|
dub: true,
|
||||||
|
title: "SDH",
|
||||||
streamIdentifier: 1,
|
streamIdentifier: 1,
|
||||||
streamType: 1,
|
width: 3840,
|
||||||
width: 1280,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
videoProfile: "main",
|
videoProfile: "main",
|
||||||
@@ -135,9 +173,12 @@ let value: GetTemplateResponseBody = {
|
|||||||
width: 1280,
|
width: 1280,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
originallyAvailableAt: new RFCDate("2022-12-14"),
|
||||||
|
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||||
ratingArray: [
|
ratingArray: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -148,6 +189,7 @@ let value: GetTemplateResponseBody = {
|
|||||||
role: [
|
role: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
@@ -155,9 +197,12 @@ let value: GetTemplateResponseBody = {
|
|||||||
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
theme: "/library/metadata/1/theme/1705636920",
|
||||||
|
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||||
writer: [
|
writer: [
|
||||||
{
|
{
|
||||||
filter: "actor=49",
|
filter: "actor=49",
|
||||||
|
ratingKey: "58683",
|
||||||
role: "Secretary",
|
role: "Secretary",
|
||||||
tag: "Shaun Lawton",
|
tag: "Shaun Lawton",
|
||||||
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
tagKey: "5d3ee12c4cde6a001c3e0b27",
|
||||||
|
|||||||
21
docs/sdk/models/operations/gettokendetailsbadrequesterror.md
Normal file
21
docs/sdk/models/operations/gettokendetailsbadrequesterror.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# GetTokenDetailsBadRequestError
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsBadRequestError } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetTokenDetailsBadRequestError = {
|
||||||
|
code: 1000,
|
||||||
|
message: "X-Plex-Client-Identifier is missing",
|
||||||
|
status: 400,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
||||||
|
| `code` | *number* | :heavy_minus_sign: | N/A | 1000 |
|
||||||
|
| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
|
||||||
|
| `status` | *number* | :heavy_minus_sign: | N/A | 400 |
|
||||||
36
docs/sdk/models/operations/gettokendetailsglobals.md
Normal file
36
docs/sdk/models/operations/gettokendetailsglobals.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# GetTokenDetailsGlobals
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsGlobals } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetTokenDetailsGlobals = {
|
||||||
|
clientIdentifier: "abc123",
|
||||||
|
product: "Plex for Roku",
|
||||||
|
version: "2.4.1",
|
||||||
|
platform: "Roku",
|
||||||
|
platformVersion: "4.3 build 1057",
|
||||||
|
device: "Roku 3",
|
||||||
|
model: "4200X",
|
||||||
|
deviceVendor: "Roku",
|
||||||
|
deviceName: "Living Room TV",
|
||||||
|
marketplace: "googlePlay",
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||||
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
25
docs/sdk/models/operations/gettokendetailsrequest.md
Normal file
25
docs/sdk/models/operations/gettokendetailsrequest.md
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# GetTokenDetailsRequest
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsRequest } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetTokenDetailsRequest = {};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||||
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
21
docs/sdk/models/operations/gettokendetailsresponse.md
Normal file
21
docs/sdk/models/operations/gettokendetailsresponse.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# GetTokenDetailsResponse
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsResponse } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetTokenDetailsResponse = {
|
||||||
|
contentType: "<value>",
|
||||||
|
statusCode: 77667,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||||
|
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||||
|
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||||
|
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||||
|
| `userPlexAccount` | [shared.UserPlexAccount](../../../sdk/models/shared/userplexaccount.md) | :heavy_minus_sign: | Logged in user details |
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# GetTokenDetailsUnauthorizedError
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetTokenDetailsUnauthorizedError } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetTokenDetailsUnauthorizedError = {
|
||||||
|
code: 1001,
|
||||||
|
message: "User could not be authenticated",
|
||||||
|
status: 401,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
|
||||||
|
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
|
||||||
|
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
|
||||||
|
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |
|
||||||
21
docs/sdk/models/operations/getusersbadrequesterror.md
Normal file
21
docs/sdk/models/operations/getusersbadrequesterror.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# GetUsersBadRequestError
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetUsersBadRequestError } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetUsersBadRequestError = {
|
||||||
|
code: 1000,
|
||||||
|
message: "X-Plex-Client-Identifier is missing",
|
||||||
|
status: 400,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
||||||
|
| `code` | *number* | :heavy_minus_sign: | N/A | 1000 |
|
||||||
|
| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
|
||||||
|
| `status` | *number* | :heavy_minus_sign: | N/A | 400 |
|
||||||
36
docs/sdk/models/operations/getusersglobals.md
Normal file
36
docs/sdk/models/operations/getusersglobals.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# GetUsersGlobals
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { GetUsersGlobals } from "@lukehagar/plexjs/sdk/models/operations";
|
||||||
|
|
||||||
|
let value: GetUsersGlobals = {
|
||||||
|
clientIdentifier: "abc123",
|
||||||
|
product: "Plex for Roku",
|
||||||
|
version: "2.4.1",
|
||||||
|
platform: "Roku",
|
||||||
|
platformVersion: "4.3 build 1057",
|
||||||
|
device: "Roku 3",
|
||||||
|
model: "4200X",
|
||||||
|
deviceVendor: "Roku",
|
||||||
|
deviceName: "Living Room TV",
|
||||||
|
marketplace: "googlePlay",
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||||
|
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
|
||||||
|
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
|
||||||
|
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
|
||||||
|
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
|
||||||
|
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
|
||||||
|
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
|
||||||
|
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
|
||||||
|
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
|
||||||
|
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
|
||||||
|
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
|
||||||
|
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user