mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 20:47:48 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4db9f59ee | ||
|
|
79aced35cd | ||
|
|
2135733290 | ||
|
|
66d2bed79b | ||
|
|
42be0c1e5b | ||
|
|
4f8ae99d93 | ||
|
|
1802af77f6 | ||
|
|
d77dabeb98 | ||
|
|
7b82e1d5a3 | ||
|
|
f677adc9a9 | ||
|
|
9de12cb55c | ||
|
|
52e3fd977d | ||
|
|
88cd5f17cf | ||
|
|
6e9e5028bc |
@@ -11,6 +11,10 @@ permissions:
|
|||||||
description: Force generation of SDKs
|
description: Force generation of SDKs
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
push_code_samples_only:
|
||||||
|
description: Force push only code samples from SDK generation
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
schedule:
|
schedule:
|
||||||
- cron: 0 0 * * *
|
- cron: 0 0 * * *
|
||||||
jobs:
|
jobs:
|
||||||
@@ -19,6 +23,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
force: ${{ github.event.inputs.force }}
|
force: ${{ github.event.inputs.force }}
|
||||||
mode: direct
|
mode: direct
|
||||||
|
push_code_samples_only: ${{ fromJSON(github.event.inputs.push_code_samples_only) }}
|
||||||
speakeasy_version: latest
|
speakeasy_version: latest
|
||||||
secrets:
|
secrets:
|
||||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
20
.github/workflows/tagging.yaml
vendored
Normal file
20
.github/workflows/tagging.yaml
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
name: Speakeasy Tagging
|
||||||
|
permissions:
|
||||||
|
checks: write
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
statuses: write
|
||||||
|
"on":
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths: []
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
tag:
|
||||||
|
uses: speakeasy-api/sdk-generation-action/.github/workflows/tag.yaml@v15
|
||||||
|
with:
|
||||||
|
registry_tags: main
|
||||||
|
secrets:
|
||||||
|
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
lockVersion: 2.0.0
|
lockVersion: 2.0.0
|
||||||
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
|
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
|
||||||
management:
|
management:
|
||||||
docChecksum: 37654ea0982ab5e87a9a9576014c9d19
|
docChecksum: e73920abd3a55e8d249592f2e3090574
|
||||||
docVersion: 0.0.3
|
docVersion: 0.0.3
|
||||||
speakeasyVersion: 1.308.1
|
speakeasyVersion: 1.323.0
|
||||||
generationVersion: 2.342.6
|
generationVersion: 2.356.0
|
||||||
releaseVersion: 0.9.0
|
releaseVersion: 0.10.1
|
||||||
configChecksum: 21802bb6ef89f8b23e39a8afe2761568
|
configChecksum: 513d92bc28d06bf5f85b74de4e501cc1
|
||||||
repoURL: https://github.com/LukeHagar/plexgo.git
|
repoURL: https://github.com/LukeHagar/plexgo.git
|
||||||
repoSubDirectory: .
|
repoSubDirectory: .
|
||||||
installationURL: https://github.com/LukeHagar/plexgo
|
installationURL: https://github.com/LukeHagar/plexgo
|
||||||
@@ -15,7 +15,7 @@ features:
|
|||||||
go:
|
go:
|
||||||
additionalDependencies: 0.1.0
|
additionalDependencies: 0.1.0
|
||||||
constsAndDefaults: 0.1.4
|
constsAndDefaults: 0.1.4
|
||||||
core: 3.4.11
|
core: 3.4.14
|
||||||
flattening: 2.81.1
|
flattening: 2.81.1
|
||||||
globalSecurity: 2.82.9
|
globalSecurity: 2.82.9
|
||||||
globalSecurityCallbacks: 0.1.0
|
globalSecurityCallbacks: 0.1.0
|
||||||
@@ -25,9 +25,11 @@ features:
|
|||||||
intellisenseMarkdownSupport: 0.1.0
|
intellisenseMarkdownSupport: 0.1.0
|
||||||
methodServerURLs: 2.82.1
|
methodServerURLs: 2.82.1
|
||||||
nameOverrides: 2.81.2
|
nameOverrides: 2.81.2
|
||||||
|
nullables: 0.1.0
|
||||||
responseFormat: 0.1.2
|
responseFormat: 0.1.2
|
||||||
sdkHooks: 0.1.0
|
sdkHooks: 0.1.0
|
||||||
typeOverrides: 2.81.1
|
typeOverrides: 2.81.1
|
||||||
|
unions: 2.85.8
|
||||||
generatedFiles:
|
generatedFiles:
|
||||||
- server.go
|
- server.go
|
||||||
- media.go
|
- media.go
|
||||||
@@ -102,6 +104,7 @@ generatedFiles:
|
|||||||
- /models/operations/searchlibrary.go
|
- /models/operations/searchlibrary.go
|
||||||
- /models/operations/getmetadata.go
|
- /models/operations/getmetadata.go
|
||||||
- /models/operations/getmetadatachildren.go
|
- /models/operations/getmetadatachildren.go
|
||||||
|
- /models/operations/gettopwatchedcontent.go
|
||||||
- /models/operations/getondeck.go
|
- /models/operations/getondeck.go
|
||||||
- /models/operations/logline.go
|
- /models/operations/logline.go
|
||||||
- /models/operations/logmultiline.go
|
- /models/operations/logmultiline.go
|
||||||
@@ -118,6 +121,8 @@ generatedFiles:
|
|||||||
- /models/operations/gettransienttoken.go
|
- /models/operations/gettransienttoken.go
|
||||||
- /models/operations/getsourceconnectioninformation.go
|
- /models/operations/getsourceconnectioninformation.go
|
||||||
- /models/operations/getstatistics.go
|
- /models/operations/getstatistics.go
|
||||||
|
- /models/operations/getresourcesstatistics.go
|
||||||
|
- /models/operations/getbandwidthstatistics.go
|
||||||
- /models/operations/getsessions.go
|
- /models/operations/getsessions.go
|
||||||
- /models/operations/getsessionhistory.go
|
- /models/operations/getsessionhistory.go
|
||||||
- /models/operations/gettranscodesessions.go
|
- /models/operations/gettranscodesessions.go
|
||||||
@@ -180,6 +185,8 @@ generatedFiles:
|
|||||||
- /models/sdkerrors/gettransienttoken.go
|
- /models/sdkerrors/gettransienttoken.go
|
||||||
- /models/sdkerrors/getsourceconnectioninformation.go
|
- /models/sdkerrors/getsourceconnectioninformation.go
|
||||||
- /models/sdkerrors/getstatistics.go
|
- /models/sdkerrors/getstatistics.go
|
||||||
|
- /models/sdkerrors/getresourcesstatistics.go
|
||||||
|
- /models/sdkerrors/getbandwidthstatistics.go
|
||||||
- /models/sdkerrors/getsessions.go
|
- /models/sdkerrors/getsessions.go
|
||||||
- /models/sdkerrors/getsessionhistory.go
|
- /models/sdkerrors/getsessionhistory.go
|
||||||
- /models/sdkerrors/gettranscodesessions.go
|
- /models/sdkerrors/gettranscodesessions.go
|
||||||
@@ -334,6 +341,7 @@ generatedFiles:
|
|||||||
- docs/models/operations/deletelibraryresponse.md
|
- docs/models/operations/deletelibraryresponse.md
|
||||||
- docs/models/operations/tag.md
|
- docs/models/operations/tag.md
|
||||||
- docs/models/operations/getlibraryitemsrequest.md
|
- docs/models/operations/getlibraryitemsrequest.md
|
||||||
|
- docs/models/operations/librarysectionid.md
|
||||||
- docs/models/operations/getlibraryitemspart.md
|
- docs/models/operations/getlibraryitemspart.md
|
||||||
- docs/models/operations/getlibraryitemsmedia.md
|
- docs/models/operations/getlibraryitemsmedia.md
|
||||||
- docs/models/operations/getlibraryitemsgenre.md
|
- docs/models/operations/getlibraryitemsgenre.md
|
||||||
@@ -375,6 +383,16 @@ generatedFiles:
|
|||||||
- docs/models/operations/getmetadatachildrenmediacontainer.md
|
- docs/models/operations/getmetadatachildrenmediacontainer.md
|
||||||
- docs/models/operations/getmetadatachildrenresponsebody.md
|
- docs/models/operations/getmetadatachildrenresponsebody.md
|
||||||
- docs/models/operations/getmetadatachildrenresponse.md
|
- docs/models/operations/getmetadatachildrenresponse.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentrequest.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentgenre.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentcountry.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentguids.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentrole.md
|
||||||
|
- docs/models/operations/user.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentmetadata.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentmediacontainer.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentresponsebody.md
|
||||||
|
- docs/models/operations/gettopwatchedcontentresponse.md
|
||||||
- docs/models/operations/getondeckstream.md
|
- docs/models/operations/getondeckstream.md
|
||||||
- docs/models/operations/getondeckpart.md
|
- docs/models/operations/getondeckpart.md
|
||||||
- docs/models/operations/getondeckmedia.md
|
- docs/models/operations/getondeckmedia.md
|
||||||
@@ -446,16 +464,30 @@ generatedFiles:
|
|||||||
- docs/models/operations/getstatisticsmediacontainer.md
|
- docs/models/operations/getstatisticsmediacontainer.md
|
||||||
- docs/models/operations/getstatisticsresponsebody.md
|
- docs/models/operations/getstatisticsresponsebody.md
|
||||||
- docs/models/operations/getstatisticsresponse.md
|
- docs/models/operations/getstatisticsresponse.md
|
||||||
|
- docs/models/operations/getresourcesstatisticsrequest.md
|
||||||
|
- docs/models/operations/statisticsresources.md
|
||||||
|
- docs/models/operations/getresourcesstatisticsmediacontainer.md
|
||||||
|
- docs/models/operations/getresourcesstatisticsresponsebody.md
|
||||||
|
- docs/models/operations/getresourcesstatisticsresponse.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsrequest.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsdevice.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsaccount.md
|
||||||
|
- docs/models/operations/statisticsbandwidth.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsmediacontainer.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsresponsebody.md
|
||||||
|
- docs/models/operations/getbandwidthstatisticsresponse.md
|
||||||
- docs/models/operations/getsessionsstream.md
|
- docs/models/operations/getsessionsstream.md
|
||||||
- docs/models/operations/getsessionspart.md
|
- docs/models/operations/getsessionspart.md
|
||||||
- docs/models/operations/getsessionsmedia.md
|
- docs/models/operations/getsessionsmedia.md
|
||||||
- docs/models/operations/user.md
|
- docs/models/operations/getsessionsuser.md
|
||||||
- docs/models/operations/player.md
|
- docs/models/operations/player.md
|
||||||
- docs/models/operations/session.md
|
- docs/models/operations/session.md
|
||||||
- docs/models/operations/getsessionsmetadata.md
|
- docs/models/operations/getsessionsmetadata.md
|
||||||
- docs/models/operations/getsessionsmediacontainer.md
|
- docs/models/operations/getsessionsmediacontainer.md
|
||||||
- docs/models/operations/getsessionsresponsebody.md
|
- docs/models/operations/getsessionsresponsebody.md
|
||||||
- docs/models/operations/getsessionsresponse.md
|
- docs/models/operations/getsessionsresponse.md
|
||||||
|
- docs/models/operations/filter.md
|
||||||
|
- docs/models/operations/getsessionhistoryrequest.md
|
||||||
- docs/models/operations/getsessionhistorymetadata.md
|
- docs/models/operations/getsessionhistorymetadata.md
|
||||||
- docs/models/operations/getsessionhistorymediacontainer.md
|
- docs/models/operations/getsessionhistorymediacontainer.md
|
||||||
- docs/models/operations/getsessionhistoryresponsebody.md
|
- docs/models/operations/getsessionhistoryresponsebody.md
|
||||||
@@ -477,7 +509,7 @@ generatedFiles:
|
|||||||
- docs/models/operations/skip.md
|
- docs/models/operations/skip.md
|
||||||
- docs/models/operations/applyupdatesrequest.md
|
- docs/models/operations/applyupdatesrequest.md
|
||||||
- docs/models/operations/applyupdatesresponse.md
|
- docs/models/operations/applyupdatesresponse.md
|
||||||
- docs/models/operations/filter.md
|
- docs/models/operations/pathparamfilter.md
|
||||||
- docs/models/operations/libtype.md
|
- docs/models/operations/libtype.md
|
||||||
- docs/models/operations/includecollections.md
|
- docs/models/operations/includecollections.md
|
||||||
- docs/models/operations/includeexternalmedia.md
|
- docs/models/operations/includeexternalmedia.md
|
||||||
@@ -594,6 +626,10 @@ generatedFiles:
|
|||||||
- docs/models/sdkerrors/getsourceconnectioninformationresponsebody.md
|
- docs/models/sdkerrors/getsourceconnectioninformationresponsebody.md
|
||||||
- docs/models/sdkerrors/getstatisticserrors.md
|
- docs/models/sdkerrors/getstatisticserrors.md
|
||||||
- docs/models/sdkerrors/getstatisticsresponsebody.md
|
- docs/models/sdkerrors/getstatisticsresponsebody.md
|
||||||
|
- docs/models/sdkerrors/getresourcesstatisticserrors.md
|
||||||
|
- docs/models/sdkerrors/getresourcesstatisticsresponsebody.md
|
||||||
|
- docs/models/sdkerrors/getbandwidthstatisticserrors.md
|
||||||
|
- docs/models/sdkerrors/getbandwidthstatisticsresponsebody.md
|
||||||
- docs/models/sdkerrors/getsessionserrors.md
|
- docs/models/sdkerrors/getsessionserrors.md
|
||||||
- docs/models/sdkerrors/getsessionsresponsebody.md
|
- docs/models/sdkerrors/getsessionsresponsebody.md
|
||||||
- docs/models/sdkerrors/getsessionhistoryerrors.md
|
- docs/models/sdkerrors/getsessionhistoryerrors.md
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ generation:
|
|||||||
auth:
|
auth:
|
||||||
oAuth2ClientCredentialsEnabled: true
|
oAuth2ClientCredentialsEnabled: true
|
||||||
go:
|
go:
|
||||||
version: 0.9.0
|
version: 0.10.1
|
||||||
additionalDependencies: {}
|
additionalDependencies: {}
|
||||||
allowUnknownFieldsInWeakUnions: false
|
allowUnknownFieldsInWeakUnions: false
|
||||||
clientServerStatusCodesAsErrors: true
|
clientServerStatusCodesAsErrors: true
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
speakeasyVersion: 1.308.1
|
speakeasyVersion: 1.323.0
|
||||||
sources:
|
sources:
|
||||||
my-source:
|
my-source:
|
||||||
sourceNamespace: my-source
|
sourceNamespace: my-source
|
||||||
sourceRevisionDigest: sha256:7c8d6aba90098356ba6c93b2ec679c4a6b7bf28eebdfbe12ab238a47b31eebd9
|
sourceRevisionDigest: sha256:ff9779ff7b4bdff35d146a962e94b766578532ac129d6adff9883756f1e4e8ed
|
||||||
sourceBlobDigest: sha256:673b2e8e0f4802ebdce582bd11cf375fb435a50e5a67b08b56ede08efc49aefe
|
sourceBlobDigest: sha256:f5d953ec4a6fb0e4fc2a8fa79009d6d5c818c97394020a744172870ea27a0e32
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- main
|
- main
|
||||||
@@ -11,8 +11,10 @@ targets:
|
|||||||
plexgo:
|
plexgo:
|
||||||
source: my-source
|
source: my-source
|
||||||
sourceNamespace: my-source
|
sourceNamespace: my-source
|
||||||
sourceRevisionDigest: sha256:7c8d6aba90098356ba6c93b2ec679c4a6b7bf28eebdfbe12ab238a47b31eebd9
|
sourceRevisionDigest: sha256:ff9779ff7b4bdff35d146a962e94b766578532ac129d6adff9883756f1e4e8ed
|
||||||
sourceBlobDigest: sha256:673b2e8e0f4802ebdce582bd11cf375fb435a50e5a67b08b56ede08efc49aefe
|
sourceBlobDigest: sha256:f5d953ec4a6fb0e4fc2a8fa79009d6d5c818c97394020a744172870ea27a0e32
|
||||||
|
codeSamplesNamespace: code-samples-go-plexgo
|
||||||
|
codeSamplesRevisionDigest: sha256:2ba78526af38dcbc157c79a2ffe44ed0a6746610f0fa145e806ad99d3f45dacb
|
||||||
outLocation: /github/workspace/repo
|
outLocation: /github/workspace/repo
|
||||||
workflow:
|
workflow:
|
||||||
workflowVersion: 1.0.0
|
workflowVersion: 1.0.0
|
||||||
@@ -29,3 +31,5 @@ workflow:
|
|||||||
source: my-source
|
source: my-source
|
||||||
codeSamples:
|
codeSamples:
|
||||||
output: codeSamples.yaml
|
output: codeSamples.yaml
|
||||||
|
registry:
|
||||||
|
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-go-plexgo
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ targets:
|
|||||||
source: my-source
|
source: my-source
|
||||||
codeSamples:
|
codeSamples:
|
||||||
output: codeSamples.yaml
|
output: codeSamples.yaml
|
||||||
|
registry:
|
||||||
|
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-go-plexgo
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -53,7 +53,7 @@ func main() {
|
|||||||
|
|
||||||
### [Server](docs/sdks/server/README.md)
|
### [Server](docs/sdks/server/README.md)
|
||||||
|
|
||||||
* [GetServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Server Capabilities
|
* [GetServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
|
||||||
* [GetServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
|
* [GetServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
|
||||||
* [GetAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
|
* [GetAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
|
||||||
* [GetDevices](docs/sdks/server/README.md#getdevices) - Get Devices
|
* [GetDevices](docs/sdks/server/README.md#getdevices) - Get Devices
|
||||||
@@ -115,6 +115,7 @@ func main() {
|
|||||||
* [SearchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
* [SearchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
||||||
* [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
* [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
||||||
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
||||||
|
* [GetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
|
||||||
* [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
|
* [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
|
||||||
|
|
||||||
### [Log](docs/sdks/log/README.md)
|
### [Log](docs/sdks/log/README.md)
|
||||||
@@ -143,6 +144,8 @@ func main() {
|
|||||||
### [Statistics](docs/sdks/statistics/README.md)
|
### [Statistics](docs/sdks/statistics/README.md)
|
||||||
|
|
||||||
* [GetStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
|
* [GetStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
|
||||||
|
* [GetResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
|
||||||
|
* [GetBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
|
||||||
|
|
||||||
### [Sessions](docs/sdks/sessions/README.md)
|
### [Sessions](docs/sdks/sessions/README.md)
|
||||||
|
|
||||||
@@ -424,18 +427,18 @@ d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on
|
|||||||
<!-- Start Global Parameters [global-parameters] -->
|
<!-- Start Global Parameters [global-parameters] -->
|
||||||
## Global Parameters
|
## Global Parameters
|
||||||
|
|
||||||
A parameter is configured globally. This parameter must be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
|
A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
|
||||||
|
|
||||||
For example, you can set `X-Plex-Client-Identifier` to `"Postman"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
|
For example, you can set `X-Plex-Client-Identifier` to `"Postman"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
|
||||||
|
|
||||||
|
|
||||||
### Available Globals
|
### Available Globals
|
||||||
|
|
||||||
The following global parameter is available. The required parameter must be set when you initialize the SDK client.
|
The following global parameter is available.
|
||||||
|
|
||||||
| Name | Type | Required | Description |
|
| Name | Type | Required | Description |
|
||||||
| ---- | ---- |:--------:| ----------- |
|
| ---- | ---- |:--------:| ----------- |
|
||||||
| XPlexClientIdentifier | string | ✔️ | The unique identifier for the client application
|
| XPlexClientIdentifier | string | | The unique identifier for the client application
|
||||||
This is used to track the client application and its usage
|
This is used to track the client application and its usage
|
||||||
(UUID, serial number, or other number unique per device)
|
(UUID, serial number, or other number unique per device)
|
||||||
|
|
|
|
||||||
|
|||||||
112
RELEASES.md
112
RELEASES.md
@@ -642,4 +642,114 @@ Based on:
|
|||||||
### Generated
|
### Generated
|
||||||
- [go v0.9.0] .
|
- [go v0.9.0] .
|
||||||
### Releases
|
### Releases
|
||||||
- [Go v0.9.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.9.0 - .
|
- [Go v0.9.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.9.0 - .
|
||||||
|
|
||||||
|
## 2024-06-22 00:10:02
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-23 00:10:38
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-24 00:11:02
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-25 00:09:42
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.315.2 (2.352.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-26 00:09:52
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.318.0 (2.352.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-27 00:10:00
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.321.0 (2.354.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-28 00:09:54
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.322.1 (2.354.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-29 00:09:38
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-06-30 00:10:54
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-07-01 00:11:32
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.0] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.0 - .
|
||||||
|
|
||||||
|
## 2024-07-01 15:43:13
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.323.0 (2.356.0) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [go v0.10.1] .
|
||||||
|
### Releases
|
||||||
|
- [Go v0.10.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.10.1 - .
|
||||||
2318
codeSamples.yaml
2318
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,11 @@
|
|||||||
# Filter
|
# Filter
|
||||||
|
|
||||||
Filter
|
Filters content by field and direction/equality
|
||||||
|
(Unknown if viewedAt is the only supported column)
|
||||||
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Name | Value |
|
## Fields
|
||||||
| ----------------- | ----------------- |
|
|
||||||
| `FilterAll` | all |
|
| Field | Type | Required | Description |
|
||||||
| `FilterAvailable` | available |
|
| ----------- | ----------- | ----------- | ----------- |
|
||||||
| `FilterReleased` | released |
|
|
||||||
15
docs/models/operations/getbandwidthstatisticsaccount.md
Normal file
15
docs/models/operations/getbandwidthstatisticsaccount.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# GetBandwidthStatisticsAccount
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
||||||
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 238960586 |
|
||||||
|
| `Key` | **string* | :heavy_minus_sign: | N/A | /accounts/238960586 |
|
||||||
|
| `Name` | **string* | :heavy_minus_sign: | N/A | Diane |
|
||||||
|
| `DefaultAudioLanguage` | **string* | :heavy_minus_sign: | N/A | en |
|
||||||
|
| `AutoSelectAudio` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||||
|
| `DefaultSubtitleLanguage` | **string* | :heavy_minus_sign: | N/A | en |
|
||||||
|
| `SubtitleMode` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||||
|
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/users/50d83634246da1de/avatar?c=1707110967 |
|
||||||
12
docs/models/operations/getbandwidthstatisticsdevice.md
Normal file
12
docs/models/operations/getbandwidthstatisticsdevice.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# GetBandwidthStatisticsDevice
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
|
||||||
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 208 |
|
||||||
|
| `Name` | **string* | :heavy_minus_sign: | N/A | Roku Express |
|
||||||
|
| `Platform` | **string* | :heavy_minus_sign: | N/A | Roku |
|
||||||
|
| `ClientIdentifier` | **string* | :heavy_minus_sign: | N/A | 793095d235660625108ef785cc7646e9 |
|
||||||
|
| `CreatedAt` | **int* | :heavy_minus_sign: | N/A | 1706470556 |
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# GetBandwidthStatisticsMediaContainer
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
|
||||||
|
| `Size` | **int* | :heavy_minus_sign: | N/A | 5497 |
|
||||||
|
| `Device` | [][operations.GetBandwidthStatisticsDevice](../../models/operations/getbandwidthstatisticsdevice.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `Account` | [][operations.GetBandwidthStatisticsAccount](../../models/operations/getbandwidthstatisticsaccount.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `StatisticsBandwidth` | [][operations.StatisticsBandwidth](../../models/operations/statisticsbandwidth.md) | :heavy_minus_sign: | N/A | |
|
||||||
8
docs/models/operations/getbandwidthstatisticsrequest.md
Normal file
8
docs/models/operations/getbandwidthstatisticsrequest.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# GetBandwidthStatisticsRequest
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| `Timespan` | **int64* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | 4 |
|
||||||
11
docs/models/operations/getbandwidthstatisticsresponse.md
Normal file
11
docs/models/operations/getbandwidthstatisticsresponse.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetBandwidthStatisticsResponse
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||||
|
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||||
|
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||||
|
| `Object` | [*operations.GetBandwidthStatisticsResponseBody](../../models/operations/getbandwidthstatisticsresponsebody.md) | :heavy_minus_sign: | Bandwidth Statistics |
|
||||||
10
docs/models/operations/getbandwidthstatisticsresponsebody.md
Normal file
10
docs/models/operations/getbandwidthstatisticsresponsebody.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetBandwidthStatisticsResponseBody
|
||||||
|
|
||||||
|
Bandwidth Statistics
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `MediaContainer` | [*operations.GetBandwidthStatisticsMediaContainer](../../models/operations/getbandwidthstatisticsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true |
|
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||||
| `Art` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
| `Art` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||||
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||||
| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 |
|
| `LibrarySectionID` | [*operations.LibrarySectionID](../../models/operations/librarysectionid.md) | :heavy_minus_sign: | N/A | |
|
||||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||||
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||||
| `SectionID` | *any* | :heavy_check_mark: | the Id of the library to query |
|
| `SectionID` | *any* | :heavy_check_mark: | the Id of the library to query | |
|
||||||
| `Tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |
|
| `Tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
|
||||||
|
| `IncludeGuids` | **int64* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description |
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||||
| `RatingKey` | *float64* | :heavy_check_mark: | the id of the library item to return the children of. |
|
| `RatingKey` | *float64* | :heavy_check_mark: | the id of the library item to return the children of. |
|
||||||
|
| `IncludeElements` | **string* | :heavy_minus_sign: | Adds additional elements to the response. Supported types are (Stream)<br/> |
|
||||||
@@ -5,4 +5,4 @@
|
|||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
| `XPlexClientIdentifier` | **string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||||
@@ -18,4 +18,4 @@ The Pin
|
|||||||
| `CreatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:00:03 +0000 UTC |
|
| `CreatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:00:03 +0000 UTC |
|
||||||
| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:30:03 +0000 UTC |
|
| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:30:03 +0000 UTC |
|
||||||
| `AuthToken` | **string* | :heavy_minus_sign: | N/A | |
|
| `AuthToken` | **string* | :heavy_minus_sign: | N/A | |
|
||||||
| `NewRegistration` | **string* | :heavy_minus_sign: | N/A | |
|
| `NewRegistration` | **bool* | :heavy_minus_sign: | N/A | |
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# GetResourcesStatisticsMediaContainer
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||||
|
| `Size` | **int* | :heavy_minus_sign: | N/A | 5497 |
|
||||||
|
| `StatisticsResources` | [][operations.StatisticsResources](../../models/operations/statisticsresources.md) | :heavy_minus_sign: | N/A | |
|
||||||
8
docs/models/operations/getresourcesstatisticsrequest.md
Normal file
8
docs/models/operations/getresourcesstatisticsrequest.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# GetResourcesStatisticsRequest
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| `Timespan` | **int64* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | 4 |
|
||||||
11
docs/models/operations/getresourcesstatisticsresponse.md
Normal file
11
docs/models/operations/getresourcesstatisticsresponse.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetResourcesStatisticsResponse
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||||
|
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||||
|
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||||
|
| `Object` | [*operations.GetResourcesStatisticsResponseBody](../../models/operations/getresourcesstatisticsresponsebody.md) | :heavy_minus_sign: | Resource Statistics |
|
||||||
10
docs/models/operations/getresourcesstatisticsresponsebody.md
Normal file
10
docs/models/operations/getresourcesstatisticsresponsebody.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetResourcesStatisticsResponseBody
|
||||||
|
|
||||||
|
Resource Statistics
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `MediaContainer` | [*operations.GetResourcesStatisticsMediaContainer](../../models/operations/getresourcesstatisticsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||||
11
docs/models/operations/getsessionhistoryrequest.md
Normal file
11
docs/models/operations/getsessionhistoryrequest.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetSessionHistoryRequest
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `Sort` | **string* | :heavy_minus_sign: | Sorts the results by the specified field followed by the direction (asc, desc)<br/> | |
|
||||||
|
| `AccountID` | **int64* | :heavy_minus_sign: | Filter results by those that are related to a specific users id<br/> | 1 |
|
||||||
|
| `Filter` | [*operations.Filter](../../models/operations/filter.md) | :heavy_minus_sign: | Filters content by field and direction/equality<br/>(Unknown if viewedAt is the only supported column)<br/> | {<br/>"viewed-at-greater-than": {<br/>"value": "viewedAt\u003e"<br/>},<br/>"viewed-at-greater-than-or-equal-to": {<br/>"value": "viewedAt\u003e=\u003e"<br/>},<br/>"viewed-at-less-than": {<br/>"value": "viewedAt\u003c"<br/>}<br/>} |
|
||||||
|
| `LibrarySectionID` | **int64* | :heavy_minus_sign: | Filters the results based on the id of a valid library section<br/> | 12 |
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705543314 |
|
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705543314 |
|
||||||
| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 1000 |
|
| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 1000 |
|
||||||
| `Media` | [][operations.GetSessionsMedia](../../models/operations/getsessionsmedia.md) | :heavy_minus_sign: | N/A | |
|
| `Media` | [][operations.GetSessionsMedia](../../models/operations/getsessionsmedia.md) | :heavy_minus_sign: | N/A | |
|
||||||
| `User` | [*operations.User](../../models/operations/user.md) | :heavy_minus_sign: | N/A | |
|
| `User` | [*operations.GetSessionsUser](../../models/operations/getsessionsuser.md) | :heavy_minus_sign: | N/A | |
|
||||||
| `Player` | [*operations.Player](../../models/operations/player.md) | :heavy_minus_sign: | N/A | |
|
| `Player` | [*operations.Player](../../models/operations/player.md) | :heavy_minus_sign: | N/A | |
|
||||||
| `Session` | [*operations.Session](../../models/operations/session.md) | :heavy_minus_sign: | N/A | |
|
| `Session` | [*operations.Session](../../models/operations/session.md) | :heavy_minus_sign: | N/A | |
|
||||||
10
docs/models/operations/getsessionsuser.md
Normal file
10
docs/models/operations/getsessionsuser.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetSessionsUser
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
||||||
|
| `ID` | **string* | :heavy_minus_sign: | N/A | 1 |
|
||||||
|
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661 |
|
||||||
|
| `Title` | **string* | :heavy_minus_sign: | N/A | Blindkitty38 |
|
||||||
@@ -5,4 +5,4 @@
|
|||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
| `XPlexClientIdentifier` | **string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||||
10
docs/models/operations/gettopwatchedcontentcountry.md
Normal file
10
docs/models/operations/gettopwatchedcontentcountry.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetTopWatchedContentCountry
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
|
||||||
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 116 |
|
||||||
|
| `Filter` | **string* | :heavy_minus_sign: | N/A | country=116 |
|
||||||
|
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |
|
||||||
10
docs/models/operations/gettopwatchedcontentgenre.md
Normal file
10
docs/models/operations/gettopwatchedcontentgenre.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetTopWatchedContentGenre
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||||
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 184 |
|
||||||
|
| `Filter` | **string* | :heavy_minus_sign: | N/A | genre=184 |
|
||||||
|
| `Tag` | **string* | :heavy_minus_sign: | N/A | Thriller |
|
||||||
8
docs/models/operations/gettopwatchedcontentguids.md
Normal file
8
docs/models/operations/gettopwatchedcontentguids.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# GetTopWatchedContentGuids
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||||
|
| `ID` | **string* | :heavy_minus_sign: | N/A | tvdb://2337 |
|
||||||
13
docs/models/operations/gettopwatchedcontentmediacontainer.md
Normal file
13
docs/models/operations/gettopwatchedcontentmediacontainer.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# GetTopWatchedContentMediaContainer
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||||
|
| `Size` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||||
|
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||||
|
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||||
|
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||||
|
| `MediaTagVersion` | **int* | :heavy_minus_sign: | N/A | 1698860922 |
|
||||||
|
| `Metadata` | [][operations.GetTopWatchedContentMetadata](../../models/operations/gettopwatchedcontentmetadata.md) | :heavy_minus_sign: | N/A | |
|
||||||
39
docs/models/operations/gettopwatchedcontentmetadata.md
Normal file
39
docs/models/operations/gettopwatchedcontentmetadata.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# GetTopWatchedContentMetadata
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 17 |
|
||||||
|
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17 |
|
||||||
|
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 |
|
||||||
|
| `Slug` | **string* | :heavy_minus_sign: | N/A | waterloo-road |
|
||||||
|
| `Studio` | **string* | :heavy_minus_sign: | N/A | Universal Pictures |
|
||||||
|
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
|
||||||
|
| `Title` | **string* | :heavy_minus_sign: | N/A | Serenity |
|
||||||
|
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||||
|
| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||||
|
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 |
|
||||||
|
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
|
||||||
|
| `Summary` | **string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. |
|
||||||
|
| `Index` | **int64* | :heavy_minus_sign: | N/A | 1 |
|
||||||
|
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.1 |
|
||||||
|
| `Year` | **int* | :heavy_minus_sign: | N/A | 2005 |
|
||||||
|
| `Tagline` | **string* | :heavy_minus_sign: | N/A | They aim to misbehave. |
|
||||||
|
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 |
|
||||||
|
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 |
|
||||||
|
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141417 |
|
||||||
|
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC |
|
||||||
|
| `LeafCount` | **int64* | :heavy_minus_sign: | N/A | 222 |
|
||||||
|
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | N/A | 100 |
|
||||||
|
| `ChildCount` | **int64* | :heavy_minus_sign: | N/A | 13 |
|
||||||
|
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705637164 |
|
||||||
|
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705637165 |
|
||||||
|
| `GlobalViewCount` | **int64* | :heavy_minus_sign: | N/A | 80 |
|
||||||
|
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
|
||||||
|
| `Genre` | [][operations.GetTopWatchedContentGenre](../../models/operations/gettopwatchedcontentgenre.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `Country` | [][operations.GetTopWatchedContentCountry](../../models/operations/gettopwatchedcontentcountry.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `Guids` | [][operations.GetTopWatchedContentGuids](../../models/operations/gettopwatchedcontentguids.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `Role` | [][operations.GetTopWatchedContentRole](../../models/operations/gettopwatchedcontentrole.md) | :heavy_minus_sign: | N/A | |
|
||||||
|
| `User` | [][operations.User](../../models/operations/user.md) | :heavy_minus_sign: | N/A | |
|
||||||
9
docs/models/operations/gettopwatchedcontentrequest.md
Normal file
9
docs/models/operations/gettopwatchedcontentrequest.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# GetTopWatchedContentRequest
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
|
||||||
|
| `Type` | *int64* | :heavy_check_mark: | the library type (1 - movies, 2 - shows, 3 - music) | |
|
||||||
|
| `IncludeGuids` | **int64* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
|
||||||
11
docs/models/operations/gettopwatchedcontentresponse.md
Normal file
11
docs/models/operations/gettopwatchedcontentresponse.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetTopWatchedContentResponse
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||||
|
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||||
|
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||||
|
| `Object` | [*operations.GetTopWatchedContentResponseBody](../../models/operations/gettopwatchedcontentresponsebody.md) | :heavy_minus_sign: | The metadata of the library item. |
|
||||||
10
docs/models/operations/gettopwatchedcontentresponsebody.md
Normal file
10
docs/models/operations/gettopwatchedcontentresponsebody.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetTopWatchedContentResponseBody
|
||||||
|
|
||||||
|
The metadata of the library item.
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `MediaContainer` | [*operations.GetTopWatchedContentMediaContainer](../../models/operations/gettopwatchedcontentmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||||
13
docs/models/operations/gettopwatchedcontentrole.md
Normal file
13
docs/models/operations/gettopwatchedcontentrole.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# GetTopWatchedContentRole
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||||
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 220 |
|
||||||
|
| `Filter` | **string* | :heavy_minus_sign: | N/A | actor=220 |
|
||||||
|
| `Tag` | **string* | :heavy_minus_sign: | N/A | Dennis Keiffer |
|
||||||
|
| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 |
|
||||||
|
| `Role` | **string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) |
|
||||||
|
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg |
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
| Field | Type | Required | Description |
|
| Field | Type | Required | Description |
|
||||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `Filter` | [operations.Filter](../../models/operations/filter.md) | :heavy_check_mark: | Filter |
|
| `Filter` | [operations.PathParamFilter](../../models/operations/pathparamfilter.md) | :heavy_check_mark: | Filter |
|
||||||
| `Sort` | **string* | :heavy_minus_sign: | In the format "field:dir". Available fields are "watchlistedAt" (Added At),<br/>"titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).<br/>"dir" can be "asc" or "desc"<br/> |
|
| `Sort` | **string* | :heavy_minus_sign: | In the format "field:dir". Available fields are "watchlistedAt" (Added At),<br/>"titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).<br/>"dir" can be "asc" or "desc"<br/> |
|
||||||
| `Libtype` | [*operations.Libtype](../../models/operations/libtype.md) | :heavy_minus_sign: | The type of library to filter. Can be "movie" or "show", or all if not present.<br/> |
|
| `Libtype` | [*operations.Libtype](../../models/operations/libtype.md) | :heavy_minus_sign: | The type of library to filter. Can be "movie" or "show", or all if not present.<br/> |
|
||||||
| `Maxresults` | **int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/> |
|
| `Maxresults` | **int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/> |
|
||||||
|
|||||||
17
docs/models/operations/librarysectionid.md
Normal file
17
docs/models/operations/librarysectionid.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# LibrarySectionID
|
||||||
|
|
||||||
|
|
||||||
|
## Supported Types
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
```go
|
||||||
|
librarySectionID := operations.CreateLibrarySectionIDInteger(int64{/* values here */})
|
||||||
|
```
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
```go
|
||||||
|
librarySectionID := operations.CreateLibrarySectionIDStr(string{/* values here */})
|
||||||
|
```
|
||||||
|
|
||||||
12
docs/models/operations/pathparamfilter.md
Normal file
12
docs/models/operations/pathparamfilter.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# PathParamFilter
|
||||||
|
|
||||||
|
Filter
|
||||||
|
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Name | Value |
|
||||||
|
| -------------------------- | -------------------------- |
|
||||||
|
| `PathParamFilterAll` | all |
|
||||||
|
| `PathParamFilterAvailable` | available |
|
||||||
|
| `PathParamFilterReleased` | released |
|
||||||
13
docs/models/operations/statisticsbandwidth.md
Normal file
13
docs/models/operations/statisticsbandwidth.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# StatisticsBandwidth
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||||
|
| `AccountID` | **int* | :heavy_minus_sign: | N/A | 238960586 |
|
||||||
|
| `DeviceID` | **int* | :heavy_minus_sign: | N/A | |
|
||||||
|
| `Timespan` | **int64* | :heavy_minus_sign: | N/A | 6 |
|
||||||
|
| `At` | **int* | :heavy_minus_sign: | N/A | 1718387650 |
|
||||||
|
| `Lan` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||||
|
| `Bytes` | **int64* | :heavy_minus_sign: | N/A | 22 |
|
||||||
13
docs/models/operations/statisticsresources.md
Normal file
13
docs/models/operations/statisticsresources.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# StatisticsResources
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- |
|
||||||
|
| `Timespan` | **int64* | :heavy_minus_sign: | N/A | 6 |
|
||||||
|
| `At` | **int64* | :heavy_minus_sign: | N/A | 1718384427 |
|
||||||
|
| `HostCPUUtilization` | **float32* | :heavy_minus_sign: | N/A | 1.276 |
|
||||||
|
| `ProcessCPUUtilization` | **float32* | :heavy_minus_sign: | N/A | 0.025 |
|
||||||
|
| `HostMemoryUtilization` | **float32* | :heavy_minus_sign: | N/A | 17.026 |
|
||||||
|
| `ProcessMemoryUtilization` | **float32* | :heavy_minus_sign: | N/A | 0.493 |
|
||||||
@@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
## Fields
|
## Fields
|
||||||
|
|
||||||
| Field | Type | Required | Description | Example |
|
| Field | Type | Required | Description | Example |
|
||||||
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||||
| `ID` | **string* | :heavy_minus_sign: | N/A | 1 |
|
| `ID` | **int* | :heavy_minus_sign: | N/A | 220 |
|
||||||
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661 |
|
|
||||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Blindkitty38 |
|
|
||||||
10
docs/models/sdkerrors/getbandwidthstatisticserrors.md
Normal file
10
docs/models/sdkerrors/getbandwidthstatisticserrors.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetBandwidthStatisticsErrors
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
|
||||||
|
| `Code` | **float64* | :heavy_minus_sign: | N/A | 1001 |
|
||||||
|
| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated |
|
||||||
|
| `Status` | **float64* | :heavy_minus_sign: | N/A | 401 |
|
||||||
11
docs/models/sdkerrors/getbandwidthstatisticsresponsebody.md
Normal file
11
docs/models/sdkerrors/getbandwidthstatisticsresponsebody.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetBandwidthStatisticsResponseBody
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||||
|
| `Errors` | [][sdkerrors.GetBandwidthStatisticsErrors](../../models/sdkerrors/getbandwidthstatisticserrors.md) | :heavy_minus_sign: | N/A |
|
||||||
|
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
10
docs/models/sdkerrors/getresourcesstatisticserrors.md
Normal file
10
docs/models/sdkerrors/getresourcesstatisticserrors.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# GetResourcesStatisticsErrors
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description | Example |
|
||||||
|
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
|
||||||
|
| `Code` | **float64* | :heavy_minus_sign: | N/A | 1001 |
|
||||||
|
| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated |
|
||||||
|
| `Status` | **float64* | :heavy_minus_sign: | N/A | 401 |
|
||||||
11
docs/models/sdkerrors/getresourcesstatisticsresponsebody.md
Normal file
11
docs/models/sdkerrors/getresourcesstatisticsresponsebody.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# GetResourcesStatisticsResponseBody
|
||||||
|
|
||||||
|
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
|
||||||
|
|
||||||
|
## Fields
|
||||||
|
|
||||||
|
| Field | Type | Required | Description |
|
||||||
|
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||||
|
| `Errors` | [][sdkerrors.GetResourcesStatisticsErrors](../../models/sdkerrors/getresourcesstatisticserrors.md) | :heavy_minus_sign: | N/A |
|
||||||
|
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||||
@@ -18,6 +18,7 @@ API Calls interacting with Plex Media Server Libraries
|
|||||||
* [SearchLibrary](#searchlibrary) - Search Library
|
* [SearchLibrary](#searchlibrary) - Search Library
|
||||||
* [GetMetadata](#getmetadata) - Get Items Metadata
|
* [GetMetadata](#getmetadata) - Get Items Metadata
|
||||||
* [GetMetadataChildren](#getmetadatachildren) - Get Items Children
|
* [GetMetadataChildren](#getmetadatachildren) - Get Items Children
|
||||||
|
* [GetTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content
|
||||||
* [GetOnDeck](#getondeck) - Get On Deck
|
* [GetOnDeck](#getondeck) - Get On Deck
|
||||||
|
|
||||||
## GetFileHash
|
## GetFileHash
|
||||||
@@ -355,8 +356,10 @@ func main() {
|
|||||||
var sectionID any = "<value>"
|
var sectionID any = "<value>"
|
||||||
|
|
||||||
var tag operations.Tag = operations.TagGenre
|
var tag operations.Tag = operations.TagGenre
|
||||||
|
|
||||||
|
var includeGuids *int64 = plexgo.Int64(1)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
res, err := s.Library.GetLibraryItems(ctx, sectionID, tag)
|
res, err := s.Library.GetLibraryItems(ctx, sectionID, tag, includeGuids)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -368,11 +371,12 @@ func main() {
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||||
| `sectionID` | *any* | :heavy_check_mark: | the Id of the library to query |
|
| `sectionID` | *any* | :heavy_check_mark: | the Id of the library to query | |
|
||||||
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |
|
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
|
||||||
|
| `includeGuids` | **int64* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
@@ -573,8 +577,10 @@ func main() {
|
|||||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
)
|
)
|
||||||
var ratingKey float64 = 1539.14
|
var ratingKey float64 = 1539.14
|
||||||
|
|
||||||
|
var includeElements *string = plexgo.String("<value>")
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
res, err := s.Library.GetMetadataChildren(ctx, ratingKey)
|
res, err := s.Library.GetMetadataChildren(ctx, ratingKey, includeElements)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -586,10 +592,11 @@ func main() {
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
||||||
| `ratingKey` | *float64* | :heavy_check_mark: | the id of the library item to return the children of. |
|
| `ratingKey` | *float64* | :heavy_check_mark: | the id of the library item to return the children of. |
|
||||||
|
| `includeElements` | **string* | :heavy_minus_sign: | Adds additional elements to the response. Supported types are (Stream)<br/> |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
@@ -600,6 +607,57 @@ func main() {
|
|||||||
| sdkerrors.GetMetadataChildrenResponseBody | 401 | application/json |
|
| sdkerrors.GetMetadataChildrenResponseBody | 401 | application/json |
|
||||||
| sdkerrors.SDKError | 4xx-5xx | */* |
|
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||||
|
|
||||||
|
## GetTopWatchedContent
|
||||||
|
|
||||||
|
This endpoint will return the top watched content from libraries of a certain type
|
||||||
|
|
||||||
|
|
||||||
|
### Example Usage
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import(
|
||||||
|
"github.com/LukeHagar/plexgo"
|
||||||
|
"context"
|
||||||
|
"log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
s := plexgo.New(
|
||||||
|
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||||
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
|
)
|
||||||
|
var type_ int64 = 505531
|
||||||
|
|
||||||
|
var includeGuids *int64 = plexgo.Int64(1)
|
||||||
|
ctx := context.Background()
|
||||||
|
res, err := s.Library.GetTopWatchedContent(ctx, type_, includeGuids)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if res.Object != nil {
|
||||||
|
// handle response
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
| Parameter | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||||
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||||
|
| `type_` | *int64* | :heavy_check_mark: | the library type (1 - movies, 2 - shows, 3 - music) | |
|
||||||
|
| `includeGuids` | **int64* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
|
||||||
|
|
||||||
|
|
||||||
|
### Response
|
||||||
|
|
||||||
|
**[*operations.GetTopWatchedContentResponse](../../models/operations/gettopwatchedcontentresponse.md), error**
|
||||||
|
| Error Object | Status Code | Content Type |
|
||||||
|
| ------------------ | ------------------ | ------------------ |
|
||||||
|
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||||
|
|
||||||
## GetOnDeck
|
## GetOnDeck
|
||||||
|
|
||||||
This endpoint will return the on deck content.
|
This endpoint will return the on deck content.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Operations against the Plex Media Server System.
|
|||||||
|
|
||||||
### Available Operations
|
### Available Operations
|
||||||
|
|
||||||
* [GetServerCapabilities](#getservercapabilities) - Server Capabilities
|
* [GetServerCapabilities](#getservercapabilities) - Get Server Capabilities
|
||||||
* [GetServerPreferences](#getserverpreferences) - Get Server Preferences
|
* [GetServerPreferences](#getserverpreferences) - Get Server Preferences
|
||||||
* [GetAvailableClients](#getavailableclients) - Get Available Clients
|
* [GetAvailableClients](#getavailableclients) - Get Available Clients
|
||||||
* [GetDevices](#getdevices) - Get Devices
|
* [GetDevices](#getdevices) - Get Devices
|
||||||
@@ -19,7 +19,7 @@ Operations against the Plex Media Server System.
|
|||||||
|
|
||||||
## GetServerCapabilities
|
## GetServerCapabilities
|
||||||
|
|
||||||
Server Capabilities
|
Get Server Capabilities
|
||||||
|
|
||||||
### Example Usage
|
### Example Usage
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ package main
|
|||||||
|
|
||||||
import(
|
import(
|
||||||
"github.com/LukeHagar/plexgo"
|
"github.com/LukeHagar/plexgo"
|
||||||
|
"github.com/LukeHagar/plexgo/models/operations"
|
||||||
"context"
|
"context"
|
||||||
"log"
|
"log"
|
||||||
)
|
)
|
||||||
@@ -80,9 +81,15 @@ func main() {
|
|||||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
)
|
)
|
||||||
|
var sort *string = plexgo.String("<value>")
|
||||||
|
|
||||||
|
var accountID *int64 = plexgo.Int64(1)
|
||||||
|
|
||||||
|
var filter *operations.Filter = &operations.Filter{}
|
||||||
|
|
||||||
|
var librarySectionID *int64 = plexgo.Int64(12)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
res, err := s.Sessions.GetSessionHistory(ctx)
|
res, err := s.Sessions.GetSessionHistory(ctx, sort, accountID, filter, librarySectionID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -94,9 +101,13 @@ func main() {
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description | Example |
|
||||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||||
|
| `sort` | **string* | :heavy_minus_sign: | Sorts the results by the specified field followed by the direction (asc, desc)<br/> | |
|
||||||
|
| `accountID` | **int64* | :heavy_minus_sign: | Filter results by those that are related to a specific users id<br/> | 1 |
|
||||||
|
| `filter` | [*operations.Filter](../../models/operations/filter.md) | :heavy_minus_sign: | Filters content by field and direction/equality<br/>(Unknown if viewedAt is the only supported column)<br/> | {<br/>"viewed-at-greater-than": {<br/>"value": "viewedAt\u003e"<br/>},<br/>"viewed-at-greater-than-or-equal-to": {<br/>"value": "viewedAt\u003e=\u003e"<br/>},<br/>"viewed-at-less-than": {<br/>"value": "viewedAt\u003c"<br/>}<br/>} |
|
||||||
|
| `librarySectionID` | **int64* | :heavy_minus_sign: | Filters the results based on the id of a valid library section<br/> | 12 |
|
||||||
|
|
||||||
|
|
||||||
### Response
|
### Response
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ API Calls that perform operations with Plex Media Server Statistics
|
|||||||
### Available Operations
|
### Available Operations
|
||||||
|
|
||||||
* [GetStatistics](#getstatistics) - Get Media Statistics
|
* [GetStatistics](#getstatistics) - Get Media Statistics
|
||||||
|
* [GetResourcesStatistics](#getresourcesstatistics) - Get Resources Statistics
|
||||||
|
* [GetBandwidthStatistics](#getbandwidthstatistics) - Get Bandwidth Statistics
|
||||||
|
|
||||||
## GetStatistics
|
## GetStatistics
|
||||||
|
|
||||||
@@ -57,3 +59,99 @@ func main() {
|
|||||||
| ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
| ----------------------------------- | ----------------------------------- | ----------------------------------- |
|
||||||
| sdkerrors.GetStatisticsResponseBody | 401 | application/json |
|
| sdkerrors.GetStatisticsResponseBody | 401 | application/json |
|
||||||
| sdkerrors.SDKError | 4xx-5xx | */* |
|
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||||
|
|
||||||
|
## GetResourcesStatistics
|
||||||
|
|
||||||
|
This will return the resources for the server
|
||||||
|
|
||||||
|
### Example Usage
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import(
|
||||||
|
"github.com/LukeHagar/plexgo"
|
||||||
|
"context"
|
||||||
|
"log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
s := plexgo.New(
|
||||||
|
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||||
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
|
)
|
||||||
|
var timespan *int64 = plexgo.Int64(4)
|
||||||
|
ctx := context.Background()
|
||||||
|
res, err := s.Statistics.GetResourcesStatistics(ctx, timespan)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if res.Object != nil {
|
||||||
|
// handle response
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
| Parameter | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||||
|
| `timespan` | **int64* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | 4 |
|
||||||
|
|
||||||
|
|
||||||
|
### Response
|
||||||
|
|
||||||
|
**[*operations.GetResourcesStatisticsResponse](../../models/operations/getresourcesstatisticsresponse.md), error**
|
||||||
|
| Error Object | Status Code | Content Type |
|
||||||
|
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
|
||||||
|
| sdkerrors.GetResourcesStatisticsResponseBody | 401 | application/json |
|
||||||
|
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||||
|
|
||||||
|
## GetBandwidthStatistics
|
||||||
|
|
||||||
|
This will return the bandwidth statistics for the server
|
||||||
|
|
||||||
|
### Example Usage
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import(
|
||||||
|
"github.com/LukeHagar/plexgo"
|
||||||
|
"context"
|
||||||
|
"log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
s := plexgo.New(
|
||||||
|
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||||
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
|
)
|
||||||
|
var timespan *int64 = plexgo.Int64(4)
|
||||||
|
ctx := context.Background()
|
||||||
|
res, err := s.Statistics.GetBandwidthStatistics(ctx, timespan)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if res.Object != nil {
|
||||||
|
// handle response
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
| Parameter | Type | Required | Description | Example |
|
||||||
|
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||||
|
| `timespan` | **int64* | :heavy_minus_sign: | The timespan to retrieve statistics for<br/>the exact meaning of this parameter is not known<br/> | 4 |
|
||||||
|
|
||||||
|
|
||||||
|
### Response
|
||||||
|
|
||||||
|
**[*operations.GetBandwidthStatisticsResponse](../../models/operations/getbandwidthstatisticsresponse.md), error**
|
||||||
|
| Error Object | Status Code | Content Type |
|
||||||
|
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
|
||||||
|
| sdkerrors.GetBandwidthStatisticsResponseBody | 401 | application/json |
|
||||||
|
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ func main() {
|
|||||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||||
)
|
)
|
||||||
request := operations.GetWatchlistRequest{
|
request := operations.GetWatchlistRequest{
|
||||||
Filter: operations.FilterReleased,
|
Filter: operations.PathParamFilterReleased,
|
||||||
XPlexToken: "<value>",
|
XPlexToken: "<value>",
|
||||||
}
|
}
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ type Globals struct {
|
|||||||
// This is used to track the client application and its usage
|
// This is used to track the client application and its usage
|
||||||
// (UUID, serial number, or other number unique per device)
|
// (UUID, serial number, or other number unique per device)
|
||||||
//
|
//
|
||||||
XPlexClientIdentifier string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
XPlexClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Globals) GetXPlexClientIdentifier() string {
|
func (o *Globals) GetXPlexClientIdentifier() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return ""
|
return nil
|
||||||
}
|
}
|
||||||
return o.XPlexClientIdentifier
|
return o.XPlexClientIdentifier
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func MatchContentType(contentType string, pattern string) bool {
|
func MatchContentType(contentType string, pattern string) bool {
|
||||||
|
if contentType == "" {
|
||||||
|
contentType = "application/octet-stream"
|
||||||
|
}
|
||||||
|
|
||||||
if contentType == pattern || pattern == "*" || pattern == "*/*" {
|
if contentType == pattern || pattern == "*" || pattern == "*/*" {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
123
library.go
123
library.go
@@ -635,7 +635,7 @@ func (s *Library) DeleteLibrary(ctx context.Context, sectionID float64) (*operat
|
|||||||
// - `resolution`: Items categorized by resolution.
|
// - `resolution`: Items categorized by resolution.
|
||||||
// - `firstCharacter`: Items categorized by the first letter.
|
// - `firstCharacter`: Items categorized by the first letter.
|
||||||
// - `folder`: Items categorized by folder.
|
// - `folder`: Items categorized by folder.
|
||||||
func (s *Library) GetLibraryItems(ctx context.Context, sectionID any, tag operations.Tag) (*operations.GetLibraryItemsResponse, error) {
|
func (s *Library) GetLibraryItems(ctx context.Context, sectionID any, tag operations.Tag, includeGuids *int64) (*operations.GetLibraryItemsResponse, error) {
|
||||||
hookCtx := hooks.HookContext{
|
hookCtx := hooks.HookContext{
|
||||||
Context: ctx,
|
Context: ctx,
|
||||||
OperationID: "getLibraryItems",
|
OperationID: "getLibraryItems",
|
||||||
@@ -644,8 +644,9 @@ func (s *Library) GetLibraryItems(ctx context.Context, sectionID any, tag operat
|
|||||||
}
|
}
|
||||||
|
|
||||||
request := operations.GetLibraryItemsRequest{
|
request := operations.GetLibraryItemsRequest{
|
||||||
SectionID: sectionID,
|
SectionID: sectionID,
|
||||||
Tag: tag,
|
Tag: tag,
|
||||||
|
IncludeGuids: includeGuids,
|
||||||
}
|
}
|
||||||
|
|
||||||
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
@@ -661,6 +662,10 @@ func (s *Library) GetLibraryItems(ctx context.Context, sectionID any, tag operat
|
|||||||
req.Header.Set("Accept", "application/json")
|
req.Header.Set("Accept", "application/json")
|
||||||
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -1099,7 +1104,7 @@ func (s *Library) GetMetadata(ctx context.Context, ratingKey float64) (*operatio
|
|||||||
|
|
||||||
// GetMetadataChildren - Get Items Children
|
// GetMetadataChildren - Get Items Children
|
||||||
// This endpoint will return the children of of a library item specified with the ratingKey.
|
// This endpoint will return the children of of a library item specified with the ratingKey.
|
||||||
func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64) (*operations.GetMetadataChildrenResponse, error) {
|
func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64, includeElements *string) (*operations.GetMetadataChildrenResponse, error) {
|
||||||
hookCtx := hooks.HookContext{
|
hookCtx := hooks.HookContext{
|
||||||
Context: ctx,
|
Context: ctx,
|
||||||
OperationID: "getMetadataChildren",
|
OperationID: "getMetadataChildren",
|
||||||
@@ -1108,7 +1113,8 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64) (*
|
|||||||
}
|
}
|
||||||
|
|
||||||
request := operations.GetMetadataChildrenRequest{
|
request := operations.GetMetadataChildrenRequest{
|
||||||
RatingKey: ratingKey,
|
RatingKey: ratingKey,
|
||||||
|
IncludeElements: includeElements,
|
||||||
}
|
}
|
||||||
|
|
||||||
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
@@ -1124,6 +1130,10 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64) (*
|
|||||||
req.Header.Set("Accept", "application/json")
|
req.Header.Set("Accept", "application/json")
|
||||||
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -1210,6 +1220,109 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64) (*
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTopWatchedContent - Get Top Watched Content
|
||||||
|
// This endpoint will return the top watched content from libraries of a certain type
|
||||||
|
func (s *Library) GetTopWatchedContent(ctx context.Context, type_ int64, includeGuids *int64) (*operations.GetTopWatchedContentResponse, error) {
|
||||||
|
hookCtx := hooks.HookContext{
|
||||||
|
Context: ctx,
|
||||||
|
OperationID: "getTopWatchedContent",
|
||||||
|
OAuth2Scopes: []string{},
|
||||||
|
SecuritySource: s.sdkConfiguration.Security,
|
||||||
|
}
|
||||||
|
|
||||||
|
request := operations.GetTopWatchedContentRequest{
|
||||||
|
Type: type_,
|
||||||
|
IncludeGuids: includeGuids,
|
||||||
|
}
|
||||||
|
|
||||||
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
|
opURL, err := url.JoinPath(baseURL, "/library/all/top")
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating request: %w", err)
|
||||||
|
}
|
||||||
|
req.Header.Set("Accept", "application/json")
|
||||||
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
httpRes, err := s.sdkConfiguration.Client.Do(req)
|
||||||
|
if err != nil || httpRes == nil {
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("error sending request: %w", err)
|
||||||
|
} else {
|
||||||
|
err = fmt.Errorf("error sending request: no response")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||||
|
return nil, err
|
||||||
|
} else if utils.MatchStatusCodes([]string{"4XX", "5XX"}, httpRes.StatusCode) {
|
||||||
|
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
} else if _httpRes != nil {
|
||||||
|
httpRes = _httpRes
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
res := &operations.GetTopWatchedContentResponse{
|
||||||
|
StatusCode: httpRes.StatusCode,
|
||||||
|
ContentType: httpRes.Header.Get("Content-Type"),
|
||||||
|
RawResponse: httpRes,
|
||||||
|
}
|
||||||
|
|
||||||
|
rawBody, err := io.ReadAll(httpRes.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error reading response body: %w", err)
|
||||||
|
}
|
||||||
|
httpRes.Body.Close()
|
||||||
|
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case httpRes.StatusCode == 200:
|
||||||
|
switch {
|
||||||
|
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||||
|
var out operations.GetTopWatchedContentResponseBody
|
||||||
|
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res.Object = &out
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||||
|
fallthrough
|
||||||
|
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||||
|
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// GetOnDeck - Get On Deck
|
// GetOnDeck - Get On Deck
|
||||||
// This endpoint will return the on deck content.
|
// This endpoint will return the on deck content.
|
||||||
func (s *Library) GetOnDeck(ctx context.Context) (*operations.GetOnDeckResponse, error) {
|
func (s *Library) GetOnDeck(ctx context.Context) (*operations.GetOnDeckResponse, error) {
|
||||||
|
|||||||
268
models/operations/getbandwidthstatistics.go
Normal file
268
models/operations/getbandwidthstatistics.go
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
|
|
||||||
|
package operations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsRequest struct {
|
||||||
|
// The timespan to retrieve statistics for
|
||||||
|
// the exact meaning of this parameter is not known
|
||||||
|
//
|
||||||
|
Timespan *int64 `queryParam:"style=form,explode=true,name=Timespan"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsRequest) GetTimespan() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Timespan
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsDevice struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
Name *string `json:"name,omitempty"`
|
||||||
|
Platform *string `json:"platform,omitempty"`
|
||||||
|
ClientIdentifier *string `json:"clientIdentifier,omitempty"`
|
||||||
|
CreatedAt *int `json:"createdAt,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsDevice) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsDevice) GetName() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsDevice) GetPlatform() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Platform
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsDevice) GetClientIdentifier() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ClientIdentifier
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsDevice) GetCreatedAt() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.CreatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsAccount struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
Key *string `json:"key,omitempty"`
|
||||||
|
Name *string `json:"name,omitempty"`
|
||||||
|
DefaultAudioLanguage *string `json:"defaultAudioLanguage,omitempty"`
|
||||||
|
AutoSelectAudio *bool `json:"autoSelectAudio,omitempty"`
|
||||||
|
DefaultSubtitleLanguage *string `json:"defaultSubtitleLanguage,omitempty"`
|
||||||
|
SubtitleMode *int `json:"subtitleMode,omitempty"`
|
||||||
|
Thumb *string `json:"thumb,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetKey() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Key
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetName() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetDefaultAudioLanguage() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.DefaultAudioLanguage
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetAutoSelectAudio() *bool {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AutoSelectAudio
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetDefaultSubtitleLanguage() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.DefaultSubtitleLanguage
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetSubtitleMode() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.SubtitleMode
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsAccount) GetThumb() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Thumb
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatisticsBandwidth struct {
|
||||||
|
AccountID *int `json:"accountID,omitempty"`
|
||||||
|
DeviceID *int `json:"deviceID,omitempty"`
|
||||||
|
Timespan *int64 `json:"timespan,omitempty"`
|
||||||
|
At *int `json:"at,omitempty"`
|
||||||
|
Lan *bool `json:"lan,omitempty"`
|
||||||
|
Bytes *int64 `json:"bytes,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetAccountID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AccountID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetDeviceID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.DeviceID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetTimespan() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Timespan
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetAt() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.At
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetLan() *bool {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Lan
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsBandwidth) GetBytes() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Bytes
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsMediaContainer struct {
|
||||||
|
Size *int `json:"size,omitempty"`
|
||||||
|
Device []GetBandwidthStatisticsDevice `json:"Device,omitempty"`
|
||||||
|
Account []GetBandwidthStatisticsAccount `json:"Account,omitempty"`
|
||||||
|
StatisticsBandwidth []StatisticsBandwidth `json:"StatisticsBandwidth,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsMediaContainer) GetSize() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Size
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsMediaContainer) GetDevice() []GetBandwidthStatisticsDevice {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Device
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsMediaContainer) GetAccount() []GetBandwidthStatisticsAccount {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Account
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsMediaContainer) GetStatisticsBandwidth() []StatisticsBandwidth {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.StatisticsBandwidth
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBandwidthStatisticsResponseBody - Bandwidth Statistics
|
||||||
|
type GetBandwidthStatisticsResponseBody struct {
|
||||||
|
MediaContainer *GetBandwidthStatisticsMediaContainer `json:"MediaContainer,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsResponseBody) GetMediaContainer() *GetBandwidthStatisticsMediaContainer {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.MediaContainer
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsResponse struct {
|
||||||
|
// HTTP response content type for this operation
|
||||||
|
ContentType string
|
||||||
|
// HTTP response status code for this operation
|
||||||
|
StatusCode int
|
||||||
|
// Raw HTTP response; suitable for custom response parsing
|
||||||
|
RawResponse *http.Response
|
||||||
|
// Bandwidth Statistics
|
||||||
|
Object *GetBandwidthStatisticsResponseBody
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsResponse) GetContentType() string {
|
||||||
|
if o == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return o.ContentType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsResponse) GetStatusCode() int {
|
||||||
|
if o == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return o.StatusCode
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsResponse) GetRawResponse() *http.Response {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.RawResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsResponse) GetObject() *GetBandwidthStatisticsResponseBody {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Object
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ package operations
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/LukeHagar/plexgo/internal/utils"
|
"github.com/LukeHagar/plexgo/internal/utils"
|
||||||
"github.com/LukeHagar/plexgo/types"
|
"github.com/LukeHagar/plexgo/types"
|
||||||
@@ -93,6 +94,9 @@ type GetLibraryItemsRequest struct {
|
|||||||
SectionID any `pathParam:"style=simple,explode=false,name=sectionId"`
|
SectionID any `pathParam:"style=simple,explode=false,name=sectionId"`
|
||||||
// A key representing a specific tag within the section.
|
// A key representing a specific tag within the section.
|
||||||
Tag Tag `pathParam:"style=simple,explode=false,name=tag"`
|
Tag Tag `pathParam:"style=simple,explode=false,name=tag"`
|
||||||
|
// Adds the Guids object to the response
|
||||||
|
//
|
||||||
|
IncludeGuids *int64 `queryParam:"style=form,explode=true,name=includeGuids"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetLibraryItemsRequest) GetSectionID() any {
|
func (o *GetLibraryItemsRequest) GetSectionID() any {
|
||||||
@@ -109,6 +113,76 @@ func (o *GetLibraryItemsRequest) GetTag() Tag {
|
|||||||
return o.Tag
|
return o.Tag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *GetLibraryItemsRequest) GetIncludeGuids() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.IncludeGuids
|
||||||
|
}
|
||||||
|
|
||||||
|
type LibrarySectionIDType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
LibrarySectionIDTypeInteger LibrarySectionIDType = "integer"
|
||||||
|
LibrarySectionIDTypeStr LibrarySectionIDType = "str"
|
||||||
|
)
|
||||||
|
|
||||||
|
type LibrarySectionID struct {
|
||||||
|
Integer *int64
|
||||||
|
Str *string
|
||||||
|
|
||||||
|
Type LibrarySectionIDType
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateLibrarySectionIDInteger(integer int64) LibrarySectionID {
|
||||||
|
typ := LibrarySectionIDTypeInteger
|
||||||
|
|
||||||
|
return LibrarySectionID{
|
||||||
|
Integer: &integer,
|
||||||
|
Type: typ,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateLibrarySectionIDStr(str string) LibrarySectionID {
|
||||||
|
typ := LibrarySectionIDTypeStr
|
||||||
|
|
||||||
|
return LibrarySectionID{
|
||||||
|
Str: &str,
|
||||||
|
Type: typ,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (u *LibrarySectionID) UnmarshalJSON(data []byte) error {
|
||||||
|
|
||||||
|
var integer int64 = int64(0)
|
||||||
|
if err := utils.UnmarshalJSON(data, &integer, "", true, true); err == nil {
|
||||||
|
u.Integer = &integer
|
||||||
|
u.Type = LibrarySectionIDTypeInteger
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var str string = ""
|
||||||
|
if err := utils.UnmarshalJSON(data, &str, "", true, true); err == nil {
|
||||||
|
u.Str = &str
|
||||||
|
u.Type = LibrarySectionIDTypeStr
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Errorf("could not unmarshal `%s` into any supported union types for LibrarySectionID", string(data))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (u LibrarySectionID) MarshalJSON() ([]byte, error) {
|
||||||
|
if u.Integer != nil {
|
||||||
|
return utils.MarshalJSON(u.Integer, "", true)
|
||||||
|
}
|
||||||
|
|
||||||
|
if u.Str != nil {
|
||||||
|
return utils.MarshalJSON(u.Str, "", true)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, errors.New("could not marshal union type LibrarySectionID: all fields are null")
|
||||||
|
}
|
||||||
|
|
||||||
type GetLibraryItemsPart struct {
|
type GetLibraryItemsPart struct {
|
||||||
ID *int `json:"id,omitempty"`
|
ID *int `json:"id,omitempty"`
|
||||||
Key *string `json:"key,omitempty"`
|
Key *string `json:"key,omitempty"`
|
||||||
@@ -813,7 +887,7 @@ type GetLibraryItemsMediaContainer struct {
|
|||||||
AllowSync *bool `json:"allowSync,omitempty"`
|
AllowSync *bool `json:"allowSync,omitempty"`
|
||||||
Art *string `json:"art,omitempty"`
|
Art *string `json:"art,omitempty"`
|
||||||
Identifier *string `json:"identifier,omitempty"`
|
Identifier *string `json:"identifier,omitempty"`
|
||||||
LibrarySectionID *int `json:"librarySectionID,omitempty"`
|
LibrarySectionID *LibrarySectionID `json:"librarySectionID,omitempty"`
|
||||||
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
|
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
|
||||||
LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"`
|
LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"`
|
||||||
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
|
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
|
||||||
@@ -855,7 +929,7 @@ func (o *GetLibraryItemsMediaContainer) GetIdentifier() *string {
|
|||||||
return o.Identifier
|
return o.Identifier
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetLibraryItemsMediaContainer) GetLibrarySectionID() *int {
|
func (o *GetLibraryItemsMediaContainer) GetLibrarySectionID() *LibrarySectionID {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ import (
|
|||||||
type GetMetadataChildrenRequest struct {
|
type GetMetadataChildrenRequest struct {
|
||||||
// the id of the library item to return the children of.
|
// the id of the library item to return the children of.
|
||||||
RatingKey float64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
RatingKey float64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
||||||
|
// Adds additional elements to the response. Supported types are (Stream)
|
||||||
|
//
|
||||||
|
IncludeElements *string `queryParam:"style=form,explode=true,name=includeElements"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetMetadataChildrenRequest) GetRatingKey() float64 {
|
func (o *GetMetadataChildrenRequest) GetRatingKey() float64 {
|
||||||
@@ -18,6 +21,13 @@ func (o *GetMetadataChildrenRequest) GetRatingKey() float64 {
|
|||||||
return o.RatingKey
|
return o.RatingKey
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *GetMetadataChildrenRequest) GetIncludeElements() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.IncludeElements
|
||||||
|
}
|
||||||
|
|
||||||
type GetMetadataChildrenDirectory struct {
|
type GetMetadataChildrenDirectory struct {
|
||||||
LeafCount *int `json:"leafCount,omitempty"`
|
LeafCount *int `json:"leafCount,omitempty"`
|
||||||
Thumb *string `json:"thumb,omitempty"`
|
Thumb *string `json:"thumb,omitempty"`
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ type GetPinGlobals struct {
|
|||||||
// This is used to track the client application and its usage
|
// This is used to track the client application and its usage
|
||||||
// (UUID, serial number, or other number unique per device)
|
// (UUID, serial number, or other number unique per device)
|
||||||
//
|
//
|
||||||
XPlexClientIdentifier string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
XPlexClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetPinGlobals) GetXPlexClientIdentifier() string {
|
func (o *GetPinGlobals) GetXPlexClientIdentifier() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return ""
|
return nil
|
||||||
}
|
}
|
||||||
return o.XPlexClientIdentifier
|
return o.XPlexClientIdentifier
|
||||||
}
|
}
|
||||||
@@ -176,7 +176,7 @@ type GetPinResponseBody struct {
|
|||||||
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||||
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
|
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
|
||||||
AuthToken *string `json:"authToken,omitempty"`
|
AuthToken *string `json:"authToken,omitempty"`
|
||||||
NewRegistration *string `json:"newRegistration,omitempty"`
|
NewRegistration *bool `json:"newRegistration,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g GetPinResponseBody) MarshalJSON() ([]byte, error) {
|
func (g GetPinResponseBody) MarshalJSON() ([]byte, error) {
|
||||||
@@ -267,7 +267,7 @@ func (o *GetPinResponseBody) GetAuthToken() *string {
|
|||||||
return o.AuthToken
|
return o.AuthToken
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetPinResponseBody) GetNewRegistration() *string {
|
func (o *GetPinResponseBody) GetNewRegistration() *bool {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
142
models/operations/getresourcesstatistics.go
Normal file
142
models/operations/getresourcesstatistics.go
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
|
|
||||||
|
package operations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetResourcesStatisticsRequest struct {
|
||||||
|
// The timespan to retrieve statistics for
|
||||||
|
// the exact meaning of this parameter is not known
|
||||||
|
//
|
||||||
|
Timespan *int64 `queryParam:"style=form,explode=true,name=Timespan"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsRequest) GetTimespan() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Timespan
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatisticsResources struct {
|
||||||
|
Timespan *int64 `json:"timespan,omitempty"`
|
||||||
|
At *int64 `json:"at,omitempty"`
|
||||||
|
HostCPUUtilization *float32 `json:"hostCpuUtilization,omitempty"`
|
||||||
|
ProcessCPUUtilization *float32 `json:"processCpuUtilization,omitempty"`
|
||||||
|
HostMemoryUtilization *float32 `json:"hostMemoryUtilization,omitempty"`
|
||||||
|
ProcessMemoryUtilization *float32 `json:"processMemoryUtilization,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetTimespan() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Timespan
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetAt() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.At
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetHostCPUUtilization() *float32 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.HostCPUUtilization
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetProcessCPUUtilization() *float32 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ProcessCPUUtilization
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetHostMemoryUtilization() *float32 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.HostMemoryUtilization
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *StatisticsResources) GetProcessMemoryUtilization() *float32 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ProcessMemoryUtilization
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetResourcesStatisticsMediaContainer struct {
|
||||||
|
Size *int `json:"size,omitempty"`
|
||||||
|
StatisticsResources []StatisticsResources `json:"StatisticsResources,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsMediaContainer) GetSize() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Size
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsMediaContainer) GetStatisticsResources() []StatisticsResources {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.StatisticsResources
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetResourcesStatisticsResponseBody - Resource Statistics
|
||||||
|
type GetResourcesStatisticsResponseBody struct {
|
||||||
|
MediaContainer *GetResourcesStatisticsMediaContainer `json:"MediaContainer,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsResponseBody) GetMediaContainer() *GetResourcesStatisticsMediaContainer {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.MediaContainer
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetResourcesStatisticsResponse struct {
|
||||||
|
// HTTP response content type for this operation
|
||||||
|
ContentType string
|
||||||
|
// HTTP response status code for this operation
|
||||||
|
StatusCode int
|
||||||
|
// Raw HTTP response; suitable for custom response parsing
|
||||||
|
RawResponse *http.Response
|
||||||
|
// Resource Statistics
|
||||||
|
Object *GetResourcesStatisticsResponseBody
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsResponse) GetContentType() string {
|
||||||
|
if o == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return o.ContentType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsResponse) GetStatusCode() int {
|
||||||
|
if o == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return o.StatusCode
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsResponse) GetRawResponse() *http.Response {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.RawResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsResponse) GetObject() *GetResourcesStatisticsResponseBody {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Object
|
||||||
|
}
|
||||||
@@ -8,6 +8,55 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Filter - Filters content by field and direction/equality
|
||||||
|
// (Unknown if viewedAt is the only supported column)
|
||||||
|
type Filter struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetSessionHistoryRequest struct {
|
||||||
|
// Sorts the results by the specified field followed by the direction (asc, desc)
|
||||||
|
//
|
||||||
|
Sort *string `queryParam:"style=form,explode=true,name=sort"`
|
||||||
|
// Filter results by those that are related to a specific users id
|
||||||
|
//
|
||||||
|
AccountID *int64 `queryParam:"style=form,explode=true,name=accountId"`
|
||||||
|
// Filters content by field and direction/equality
|
||||||
|
// (Unknown if viewedAt is the only supported column)
|
||||||
|
//
|
||||||
|
Filter *Filter `queryParam:"style=form,explode=true,name=filter"`
|
||||||
|
// Filters the results based on the id of a valid library section
|
||||||
|
//
|
||||||
|
LibrarySectionID *int64 `queryParam:"style=form,explode=true,name=librarySectionID"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetSessionHistoryRequest) GetSort() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Sort
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetSessionHistoryRequest) GetAccountID() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AccountID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetSessionHistoryRequest) GetFilter() *Filter {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Filter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetSessionHistoryRequest) GetLibrarySectionID() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.LibrarySectionID
|
||||||
|
}
|
||||||
|
|
||||||
type GetSessionHistoryMetadata struct {
|
type GetSessionHistoryMetadata struct {
|
||||||
HistoryKey *string `json:"historyKey,omitempty"`
|
HistoryKey *string `json:"historyKey,omitempty"`
|
||||||
Key *string `json:"key,omitempty"`
|
Key *string `json:"key,omitempty"`
|
||||||
|
|||||||
@@ -319,27 +319,27 @@ func (o *GetSessionsMedia) GetPart() []GetSessionsPart {
|
|||||||
return o.Part
|
return o.Part
|
||||||
}
|
}
|
||||||
|
|
||||||
type User struct {
|
type GetSessionsUser struct {
|
||||||
ID *string `json:"id,omitempty"`
|
ID *string `json:"id,omitempty"`
|
||||||
Thumb *string `json:"thumb,omitempty"`
|
Thumb *string `json:"thumb,omitempty"`
|
||||||
Title *string `json:"title,omitempty"`
|
Title *string `json:"title,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *User) GetID() *string {
|
func (o *GetSessionsUser) GetID() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return o.ID
|
return o.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *User) GetThumb() *string {
|
func (o *GetSessionsUser) GetThumb() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return o.Thumb
|
return o.Thumb
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *User) GetTitle() *string {
|
func (o *GetSessionsUser) GetTitle() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -531,7 +531,7 @@ type GetSessionsMetadata struct {
|
|||||||
UpdatedAt *int `json:"updatedAt,omitempty"`
|
UpdatedAt *int `json:"updatedAt,omitempty"`
|
||||||
ViewOffset *int `json:"viewOffset,omitempty"`
|
ViewOffset *int `json:"viewOffset,omitempty"`
|
||||||
Media []GetSessionsMedia `json:"Media,omitempty"`
|
Media []GetSessionsMedia `json:"Media,omitempty"`
|
||||||
User *User `json:"User,omitempty"`
|
User *GetSessionsUser `json:"User,omitempty"`
|
||||||
Player *Player `json:"Player,omitempty"`
|
Player *Player `json:"Player,omitempty"`
|
||||||
Session *Session `json:"Session,omitempty"`
|
Session *Session `json:"Session,omitempty"`
|
||||||
}
|
}
|
||||||
@@ -774,7 +774,7 @@ func (o *GetSessionsMetadata) GetMedia() []GetSessionsMedia {
|
|||||||
return o.Media
|
return o.Media
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetSessionsMetadata) GetUser() *User {
|
func (o *GetSessionsMetadata) GetUser() *GetSessionsUser {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ type GetTokenGlobals struct {
|
|||||||
// This is used to track the client application and its usage
|
// This is used to track the client application and its usage
|
||||||
// (UUID, serial number, or other number unique per device)
|
// (UUID, serial number, or other number unique per device)
|
||||||
//
|
//
|
||||||
XPlexClientIdentifier string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
XPlexClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetTokenGlobals) GetXPlexClientIdentifier() string {
|
func (o *GetTokenGlobals) GetXPlexClientIdentifier() *string {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return ""
|
return nil
|
||||||
}
|
}
|
||||||
return o.XPlexClientIdentifier
|
return o.XPlexClientIdentifier
|
||||||
}
|
}
|
||||||
|
|||||||
530
models/operations/gettopwatchedcontent.go
Normal file
530
models/operations/gettopwatchedcontent.go
Normal file
@@ -0,0 +1,530 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
|
|
||||||
|
package operations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/LukeHagar/plexgo/internal/utils"
|
||||||
|
"github.com/LukeHagar/plexgo/types"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetTopWatchedContentRequest struct {
|
||||||
|
// the library type (1 - movies, 2 - shows, 3 - music)
|
||||||
|
Type int64 `queryParam:"style=form,explode=true,name=type"`
|
||||||
|
// Adds the Guids object to the response
|
||||||
|
//
|
||||||
|
IncludeGuids *int64 `queryParam:"style=form,explode=true,name=includeGuids"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRequest) GetType() int64 {
|
||||||
|
if o == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return o.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRequest) GetIncludeGuids() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.IncludeGuids
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentGenre struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
Filter *string `json:"filter,omitempty"`
|
||||||
|
Tag *string `json:"tag,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentGenre) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentGenre) GetFilter() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Filter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentGenre) GetTag() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Tag
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentCountry struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
Filter *string `json:"filter,omitempty"`
|
||||||
|
Tag *string `json:"tag,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentCountry) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentCountry) GetFilter() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Filter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentCountry) GetTag() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Tag
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentGuids struct {
|
||||||
|
ID *string `json:"id,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentGuids) GetID() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentRole struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
Filter *string `json:"filter,omitempty"`
|
||||||
|
Tag *string `json:"tag,omitempty"`
|
||||||
|
TagKey *string `json:"tagKey,omitempty"`
|
||||||
|
Role *string `json:"role,omitempty"`
|
||||||
|
Thumb *string `json:"thumb,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetFilter() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Filter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetTag() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Tag
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetTagKey() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.TagKey
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetRole() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Role
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentRole) GetThumb() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Thumb
|
||||||
|
}
|
||||||
|
|
||||||
|
type User struct {
|
||||||
|
ID *int `json:"id,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *User) GetID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ID
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentMetadata struct {
|
||||||
|
RatingKey *string `json:"ratingKey,omitempty"`
|
||||||
|
Key *string `json:"key,omitempty"`
|
||||||
|
GUID *string `json:"guid,omitempty"`
|
||||||
|
Slug *string `json:"slug,omitempty"`
|
||||||
|
Studio *string `json:"studio,omitempty"`
|
||||||
|
Type *string `json:"type,omitempty"`
|
||||||
|
Title *string `json:"title,omitempty"`
|
||||||
|
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
|
||||||
|
LibrarySectionID *int `json:"librarySectionID,omitempty"`
|
||||||
|
LibrarySectionKey *string `json:"librarySectionKey,omitempty"`
|
||||||
|
ContentRating *string `json:"contentRating,omitempty"`
|
||||||
|
Summary *string `json:"summary,omitempty"`
|
||||||
|
Index *int64 `json:"index,omitempty"`
|
||||||
|
AudienceRating *float64 `json:"audienceRating,omitempty"`
|
||||||
|
Year *int `json:"year,omitempty"`
|
||||||
|
Tagline *string `json:"tagline,omitempty"`
|
||||||
|
Thumb *string `json:"thumb,omitempty"`
|
||||||
|
Art *string `json:"art,omitempty"`
|
||||||
|
Duration *int `json:"duration,omitempty"`
|
||||||
|
OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"`
|
||||||
|
LeafCount *int64 `json:"leafCount,omitempty"`
|
||||||
|
ViewedLeafCount *int64 `json:"viewedLeafCount,omitempty"`
|
||||||
|
ChildCount *int64 `json:"childCount,omitempty"`
|
||||||
|
AddedAt *int `json:"addedAt,omitempty"`
|
||||||
|
UpdatedAt *int `json:"updatedAt,omitempty"`
|
||||||
|
GlobalViewCount *int64 `json:"globalViewCount,omitempty"`
|
||||||
|
AudienceRatingImage *string `json:"audienceRatingImage,omitempty"`
|
||||||
|
Genre []GetTopWatchedContentGenre `json:"Genre,omitempty"`
|
||||||
|
Country []GetTopWatchedContentCountry `json:"Country,omitempty"`
|
||||||
|
Guids []GetTopWatchedContentGuids `json:"Guid,omitempty"`
|
||||||
|
Role []GetTopWatchedContentRole `json:"Role,omitempty"`
|
||||||
|
User []User `json:"User,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g GetTopWatchedContentMetadata) MarshalJSON() ([]byte, error) {
|
||||||
|
return utils.MarshalJSON(g, "", false)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *GetTopWatchedContentMetadata) UnmarshalJSON(data []byte) error {
|
||||||
|
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetRatingKey() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.RatingKey
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetKey() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Key
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetGUID() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.GUID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetSlug() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Slug
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetStudio() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Studio
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetType() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetTitle() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Title
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetLibrarySectionTitle() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.LibrarySectionTitle
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetLibrarySectionID() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.LibrarySectionID
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetLibrarySectionKey() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.LibrarySectionKey
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetContentRating() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ContentRating
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetSummary() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Summary
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetIndex() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Index
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetAudienceRating() *float64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AudienceRating
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetYear() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Year
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetTagline() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Tagline
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetThumb() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Thumb
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetArt() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Art
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetDuration() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetOriginallyAvailableAt() *types.Date {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.OriginallyAvailableAt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetLeafCount() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.LeafCount
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetViewedLeafCount() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ViewedLeafCount
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetChildCount() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.ChildCount
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetAddedAt() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AddedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetUpdatedAt() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.UpdatedAt
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetGlobalViewCount() *int64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.GlobalViewCount
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetAudienceRatingImage() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AudienceRatingImage
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetGenre() []GetTopWatchedContentGenre {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Genre
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetCountry() []GetTopWatchedContentCountry {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Country
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetGuids() []GetTopWatchedContentGuids {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Guids
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetRole() []GetTopWatchedContentRole {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Role
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMetadata) GetUser() []User {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.User
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentMediaContainer struct {
|
||||||
|
Size *int `json:"size,omitempty"`
|
||||||
|
AllowSync *bool `json:"allowSync,omitempty"`
|
||||||
|
Identifier *string `json:"identifier,omitempty"`
|
||||||
|
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
|
||||||
|
MediaTagVersion *int `json:"mediaTagVersion,omitempty"`
|
||||||
|
Metadata []GetTopWatchedContentMetadata `json:"Metadata,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetSize() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Size
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetAllowSync() *bool {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.AllowSync
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetIdentifier() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Identifier
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetMediaTagPrefix() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.MediaTagPrefix
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetMediaTagVersion() *int {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.MediaTagVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentMediaContainer) GetMetadata() []GetTopWatchedContentMetadata {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Metadata
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetTopWatchedContentResponseBody - The metadata of the library item.
|
||||||
|
type GetTopWatchedContentResponseBody struct {
|
||||||
|
MediaContainer *GetTopWatchedContentMediaContainer `json:"MediaContainer,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentResponseBody) GetMediaContainer() *GetTopWatchedContentMediaContainer {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.MediaContainer
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetTopWatchedContentResponse struct {
|
||||||
|
// HTTP response content type for this operation
|
||||||
|
ContentType string
|
||||||
|
// HTTP response status code for this operation
|
||||||
|
StatusCode int
|
||||||
|
// Raw HTTP response; suitable for custom response parsing
|
||||||
|
RawResponse *http.Response
|
||||||
|
// The metadata of the library item.
|
||||||
|
Object *GetTopWatchedContentResponseBody
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentResponse) GetContentType() string {
|
||||||
|
if o == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return o.ContentType
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentResponse) GetStatusCode() int {
|
||||||
|
if o == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return o.StatusCode
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentResponse) GetRawResponse() *http.Response {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.RawResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetTopWatchedContentResponse) GetObject() *GetTopWatchedContentResponseBody {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Object
|
||||||
|
}
|
||||||
@@ -14,19 +14,19 @@ var GetWatchlistServerList = []string{
|
|||||||
"https://metadata.provider.plex.tv",
|
"https://metadata.provider.plex.tv",
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter
|
// PathParamFilter - Filter
|
||||||
type Filter string
|
type PathParamFilter string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
FilterAll Filter = "all"
|
PathParamFilterAll PathParamFilter = "all"
|
||||||
FilterAvailable Filter = "available"
|
PathParamFilterAvailable PathParamFilter = "available"
|
||||||
FilterReleased Filter = "released"
|
PathParamFilterReleased PathParamFilter = "released"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (e Filter) ToPointer() *Filter {
|
func (e PathParamFilter) ToPointer() *PathParamFilter {
|
||||||
return &e
|
return &e
|
||||||
}
|
}
|
||||||
func (e *Filter) UnmarshalJSON(data []byte) error {
|
func (e *PathParamFilter) UnmarshalJSON(data []byte) error {
|
||||||
var v string
|
var v string
|
||||||
if err := json.Unmarshal(data, &v); err != nil {
|
if err := json.Unmarshal(data, &v); err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -37,10 +37,10 @@ func (e *Filter) UnmarshalJSON(data []byte) error {
|
|||||||
case "available":
|
case "available":
|
||||||
fallthrough
|
fallthrough
|
||||||
case "released":
|
case "released":
|
||||||
*e = Filter(v)
|
*e = PathParamFilter(v)
|
||||||
return nil
|
return nil
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("invalid value for Filter: %v", v)
|
return fmt.Errorf("invalid value for PathParamFilter: %v", v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ func (e *IncludeExternalMedia) UnmarshalJSON(data []byte) error {
|
|||||||
|
|
||||||
type GetWatchlistRequest struct {
|
type GetWatchlistRequest struct {
|
||||||
// Filter
|
// Filter
|
||||||
Filter Filter `pathParam:"style=simple,explode=false,name=filter"`
|
Filter PathParamFilter `pathParam:"style=simple,explode=false,name=filter"`
|
||||||
// In the format "field:dir". Available fields are "watchlistedAt" (Added At),
|
// In the format "field:dir". Available fields are "watchlistedAt" (Added At),
|
||||||
// "titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).
|
// "titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).
|
||||||
// "dir" can be "asc" or "desc"
|
// "dir" can be "asc" or "desc"
|
||||||
@@ -158,9 +158,9 @@ type GetWatchlistRequest struct {
|
|||||||
XPlexContainerSize *int `queryParam:"style=form,explode=true,name=X-Plex-Container-Size"`
|
XPlexContainerSize *int `queryParam:"style=form,explode=true,name=X-Plex-Container-Size"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *GetWatchlistRequest) GetFilter() Filter {
|
func (o *GetWatchlistRequest) GetFilter() PathParamFilter {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return Filter("")
|
return PathParamFilter("")
|
||||||
}
|
}
|
||||||
return o.Filter
|
return o.Filter
|
||||||
}
|
}
|
||||||
|
|||||||
49
models/sdkerrors/getbandwidthstatistics.go
Normal file
49
models/sdkerrors/getbandwidthstatistics.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
|
|
||||||
|
package sdkerrors
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetBandwidthStatisticsErrors struct {
|
||||||
|
Code *float64 `json:"code,omitempty"`
|
||||||
|
Message *string `json:"message,omitempty"`
|
||||||
|
Status *float64 `json:"status,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsErrors) GetCode() *float64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Code
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsErrors) GetMessage() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Message
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetBandwidthStatisticsErrors) GetStatus() *float64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBandwidthStatisticsResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
type GetBandwidthStatisticsResponseBody struct {
|
||||||
|
Errors []GetBandwidthStatisticsErrors `json:"errors,omitempty"`
|
||||||
|
// Raw HTTP response; suitable for custom response parsing
|
||||||
|
RawResponse *http.Response `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = &GetBandwidthStatisticsResponseBody{}
|
||||||
|
|
||||||
|
func (e *GetBandwidthStatisticsResponseBody) Error() string {
|
||||||
|
data, _ := json.Marshal(e)
|
||||||
|
return string(data)
|
||||||
|
}
|
||||||
49
models/sdkerrors/getresourcesstatistics.go
Normal file
49
models/sdkerrors/getresourcesstatistics.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||||
|
|
||||||
|
package sdkerrors
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GetResourcesStatisticsErrors struct {
|
||||||
|
Code *float64 `json:"code,omitempty"`
|
||||||
|
Message *string `json:"message,omitempty"`
|
||||||
|
Status *float64 `json:"status,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsErrors) GetCode() *float64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Code
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsErrors) GetMessage() *string {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Message
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *GetResourcesStatisticsErrors) GetStatus() *float64 {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return o.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetResourcesStatisticsResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||||
|
type GetResourcesStatisticsResponseBody struct {
|
||||||
|
Errors []GetResourcesStatisticsErrors `json:"errors,omitempty"`
|
||||||
|
// Raw HTTP response; suitable for custom response parsing
|
||||||
|
RawResponse *http.Response `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = &GetResourcesStatisticsResponseBody{}
|
||||||
|
|
||||||
|
func (e *GetResourcesStatisticsResponseBody) Error() string {
|
||||||
|
data, _ := json.Marshal(e)
|
||||||
|
return string(data)
|
||||||
|
}
|
||||||
@@ -450,7 +450,7 @@ func (s *Playlists) DeletePlaylist(ctx context.Context, playlistID float64) (*op
|
|||||||
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
case httpRes.StatusCode == 200:
|
case httpRes.StatusCode == 204:
|
||||||
case httpRes.StatusCode == 400:
|
case httpRes.StatusCode == 400:
|
||||||
fallthrough
|
fallthrough
|
||||||
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||||
|
|||||||
@@ -163,7 +163,6 @@ func WithServerIndex(serverIndex int) SDKOption {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServerProtocol - The protocol to use when connecting to your plex server.
|
|
||||||
type ServerProtocol string
|
type ServerProtocol string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -256,7 +255,7 @@ func WithSecuritySource(security func(context.Context) (components.Security, err
|
|||||||
// WithXPlexClientIdentifier allows setting the XPlexClientIdentifier parameter for all supported operations
|
// WithXPlexClientIdentifier allows setting the XPlexClientIdentifier parameter for all supported operations
|
||||||
func WithXPlexClientIdentifier(xPlexClientIdentifier string) SDKOption {
|
func WithXPlexClientIdentifier(xPlexClientIdentifier string) SDKOption {
|
||||||
return func(sdk *PlexAPI) {
|
return func(sdk *PlexAPI) {
|
||||||
sdk.sdkConfiguration.Globals.XPlexClientIdentifier = xPlexClientIdentifier
|
sdk.sdkConfiguration.Globals.XPlexClientIdentifier = &xPlexClientIdentifier
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -272,9 +271,9 @@ func New(opts ...SDKOption) *PlexAPI {
|
|||||||
sdkConfiguration: sdkConfiguration{
|
sdkConfiguration: sdkConfiguration{
|
||||||
Language: "go",
|
Language: "go",
|
||||||
OpenAPIDocVersion: "0.0.3",
|
OpenAPIDocVersion: "0.0.3",
|
||||||
SDKVersion: "0.9.0",
|
SDKVersion: "0.10.1",
|
||||||
GenVersion: "2.342.6",
|
GenVersion: "2.356.0",
|
||||||
UserAgent: "speakeasy-sdk/go 0.9.0 2.342.6 0.0.3 github.com/LukeHagar/plexgo",
|
UserAgent: "speakeasy-sdk/go 0.10.1 2.356.0 0.0.3 github.com/LukeHagar/plexgo",
|
||||||
Globals: globals.Globals{},
|
Globals: globals.Globals{},
|
||||||
ServerDefaults: []map[string]string{
|
ServerDefaults: []map[string]string{
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ func newServer(sdkConfig sdkConfiguration) *Server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetServerCapabilities - Server Capabilities
|
// GetServerCapabilities - Get Server Capabilities
|
||||||
// Server Capabilities
|
// Get Server Capabilities
|
||||||
func (s *Server) GetServerCapabilities(ctx context.Context) (*operations.GetServerCapabilitiesResponse, error) {
|
func (s *Server) GetServerCapabilities(ctx context.Context) (*operations.GetServerCapabilitiesResponse, error) {
|
||||||
hookCtx := hooks.HookContext{
|
hookCtx := hooks.HookContext{
|
||||||
Context: ctx,
|
Context: ctx,
|
||||||
|
|||||||
13
sessions.go
13
sessions.go
@@ -137,7 +137,7 @@ func (s *Sessions) GetSessions(ctx context.Context) (*operations.GetSessionsResp
|
|||||||
|
|
||||||
// GetSessionHistory - Get Session History
|
// GetSessionHistory - Get Session History
|
||||||
// This will Retrieve a listing of all history views.
|
// This will Retrieve a listing of all history views.
|
||||||
func (s *Sessions) GetSessionHistory(ctx context.Context) (*operations.GetSessionHistoryResponse, error) {
|
func (s *Sessions) GetSessionHistory(ctx context.Context, sort *string, accountID *int64, filter *operations.Filter, librarySectionID *int64) (*operations.GetSessionHistoryResponse, error) {
|
||||||
hookCtx := hooks.HookContext{
|
hookCtx := hooks.HookContext{
|
||||||
Context: ctx,
|
Context: ctx,
|
||||||
OperationID: "getSessionHistory",
|
OperationID: "getSessionHistory",
|
||||||
@@ -145,6 +145,13 @@ func (s *Sessions) GetSessionHistory(ctx context.Context) (*operations.GetSessio
|
|||||||
SecuritySource: s.sdkConfiguration.Security,
|
SecuritySource: s.sdkConfiguration.Security,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
request := operations.GetSessionHistoryRequest{
|
||||||
|
Sort: sort,
|
||||||
|
AccountID: accountID,
|
||||||
|
Filter: filter,
|
||||||
|
LibrarySectionID: librarySectionID,
|
||||||
|
}
|
||||||
|
|
||||||
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
opURL, err := url.JoinPath(baseURL, "/status/sessions/history/all")
|
opURL, err := url.JoinPath(baseURL, "/status/sessions/history/all")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -158,6 +165,10 @@ func (s *Sessions) GetSessionHistory(ctx context.Context) (*operations.GetSessio
|
|||||||
req.Header.Set("Accept", "application/json")
|
req.Header.Set("Accept", "application/json")
|
||||||
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
234
statistics.go
234
statistics.go
@@ -142,3 +142,237 @@ func (s *Statistics) GetStatistics(ctx context.Context, timespan *int64) (*opera
|
|||||||
return res, nil
|
return res, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetResourcesStatistics - Get Resources Statistics
|
||||||
|
// This will return the resources for the server
|
||||||
|
func (s *Statistics) GetResourcesStatistics(ctx context.Context, timespan *int64) (*operations.GetResourcesStatisticsResponse, error) {
|
||||||
|
hookCtx := hooks.HookContext{
|
||||||
|
Context: ctx,
|
||||||
|
OperationID: "getResourcesStatistics",
|
||||||
|
OAuth2Scopes: []string{},
|
||||||
|
SecuritySource: s.sdkConfiguration.Security,
|
||||||
|
}
|
||||||
|
|
||||||
|
request := operations.GetResourcesStatisticsRequest{
|
||||||
|
Timespan: timespan,
|
||||||
|
}
|
||||||
|
|
||||||
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
|
opURL, err := url.JoinPath(baseURL, "/statistics/resources")
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating request: %w", err)
|
||||||
|
}
|
||||||
|
req.Header.Set("Accept", "application/json")
|
||||||
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
httpRes, err := s.sdkConfiguration.Client.Do(req)
|
||||||
|
if err != nil || httpRes == nil {
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("error sending request: %w", err)
|
||||||
|
} else {
|
||||||
|
err = fmt.Errorf("error sending request: no response")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||||
|
return nil, err
|
||||||
|
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||||
|
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
} else if _httpRes != nil {
|
||||||
|
httpRes = _httpRes
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
res := &operations.GetResourcesStatisticsResponse{
|
||||||
|
StatusCode: httpRes.StatusCode,
|
||||||
|
ContentType: httpRes.Header.Get("Content-Type"),
|
||||||
|
RawResponse: httpRes,
|
||||||
|
}
|
||||||
|
|
||||||
|
rawBody, err := io.ReadAll(httpRes.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error reading response body: %w", err)
|
||||||
|
}
|
||||||
|
httpRes.Body.Close()
|
||||||
|
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case httpRes.StatusCode == 200:
|
||||||
|
switch {
|
||||||
|
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||||
|
var out operations.GetResourcesStatisticsResponseBody
|
||||||
|
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res.Object = &out
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
case httpRes.StatusCode == 400:
|
||||||
|
fallthrough
|
||||||
|
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||||
|
fallthrough
|
||||||
|
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||||
|
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
case httpRes.StatusCode == 401:
|
||||||
|
switch {
|
||||||
|
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||||
|
var out sdkerrors.GetResourcesStatisticsResponseBody
|
||||||
|
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out.RawResponse = httpRes
|
||||||
|
return nil, &out
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBandwidthStatistics - Get Bandwidth Statistics
|
||||||
|
// This will return the bandwidth statistics for the server
|
||||||
|
func (s *Statistics) GetBandwidthStatistics(ctx context.Context, timespan *int64) (*operations.GetBandwidthStatisticsResponse, error) {
|
||||||
|
hookCtx := hooks.HookContext{
|
||||||
|
Context: ctx,
|
||||||
|
OperationID: "getBandwidthStatistics",
|
||||||
|
OAuth2Scopes: []string{},
|
||||||
|
SecuritySource: s.sdkConfiguration.Security,
|
||||||
|
}
|
||||||
|
|
||||||
|
request := operations.GetBandwidthStatisticsRequest{
|
||||||
|
Timespan: timespan,
|
||||||
|
}
|
||||||
|
|
||||||
|
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||||
|
opURL, err := url.JoinPath(baseURL, "/statistics/bandwidth")
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating request: %w", err)
|
||||||
|
}
|
||||||
|
req.Header.Set("Accept", "application/json")
|
||||||
|
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||||
|
|
||||||
|
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
|
||||||
|
return nil, fmt.Errorf("error populating query params: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
httpRes, err := s.sdkConfiguration.Client.Do(req)
|
||||||
|
if err != nil || httpRes == nil {
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("error sending request: %w", err)
|
||||||
|
} else {
|
||||||
|
err = fmt.Errorf("error sending request: no response")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||||
|
return nil, err
|
||||||
|
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||||
|
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
} else if _httpRes != nil {
|
||||||
|
httpRes = _httpRes
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
res := &operations.GetBandwidthStatisticsResponse{
|
||||||
|
StatusCode: httpRes.StatusCode,
|
||||||
|
ContentType: httpRes.Header.Get("Content-Type"),
|
||||||
|
RawResponse: httpRes,
|
||||||
|
}
|
||||||
|
|
||||||
|
rawBody, err := io.ReadAll(httpRes.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error reading response body: %w", err)
|
||||||
|
}
|
||||||
|
httpRes.Body.Close()
|
||||||
|
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case httpRes.StatusCode == 200:
|
||||||
|
switch {
|
||||||
|
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||||
|
var out operations.GetBandwidthStatisticsResponseBody
|
||||||
|
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
res.Object = &out
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
case httpRes.StatusCode == 400:
|
||||||
|
fallthrough
|
||||||
|
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||||
|
fallthrough
|
||||||
|
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||||
|
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
case httpRes.StatusCode == 401:
|
||||||
|
switch {
|
||||||
|
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||||
|
var out sdkerrors.GetBandwidthStatisticsResponseBody
|
||||||
|
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out.RawResponse = httpRes
|
||||||
|
return nil, &out
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user