mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5fc7421ebf | ||
|
|
caedf0fada | ||
|
|
2e6d62cc3d | ||
|
|
ee418c915d | ||
|
|
89eb756371 | ||
|
|
747f1cc472 | ||
|
|
3caad468dc | ||
|
|
135f07bb5b | ||
|
|
f713adaa5f | ||
|
|
afd7c86d0b |
@@ -1,12 +1,12 @@
|
||||
lockVersion: 2.0.0
|
||||
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
|
||||
management:
|
||||
docChecksum: 911d74baa0d06121d2ce2c71d94e977a
|
||||
docChecksum: 37654ea0982ab5e87a9a9576014c9d19
|
||||
docVersion: 0.0.3
|
||||
speakeasyVersion: 1.299.6
|
||||
generationVersion: 2.338.12
|
||||
releaseVersion: 0.8.1
|
||||
configChecksum: b899da965d1d55861cb2c0c7e96b4864
|
||||
speakeasyVersion: 1.308.1
|
||||
generationVersion: 2.342.6
|
||||
releaseVersion: 0.9.0
|
||||
configChecksum: 21802bb6ef89f8b23e39a8afe2761568
|
||||
repoURL: https://github.com/LukeHagar/plexgo.git
|
||||
repoSubDirectory: .
|
||||
installationURL: https://github.com/LukeHagar/plexgo
|
||||
@@ -27,22 +27,24 @@ features:
|
||||
nameOverrides: 2.81.2
|
||||
responseFormat: 0.1.2
|
||||
sdkHooks: 0.1.0
|
||||
typeOverrides: 2.81.1
|
||||
generatedFiles:
|
||||
- server.go
|
||||
- media.go
|
||||
- video.go
|
||||
- activities.go
|
||||
- butler.go
|
||||
- plex.go
|
||||
- hubs.go
|
||||
- search.go
|
||||
- library.go
|
||||
- log.go
|
||||
- plex.go
|
||||
- playlists.go
|
||||
- authentication.go
|
||||
- statistics.go
|
||||
- sessions.go
|
||||
- updater.go
|
||||
- watchlist.go
|
||||
- plexapi.go
|
||||
- go.mod
|
||||
- models/sdkerrors/sdkerror.go
|
||||
@@ -82,6 +84,9 @@ generatedFiles:
|
||||
- /models/operations/stopalltasks.go
|
||||
- /models/operations/starttask.go
|
||||
- /models/operations/stoptask.go
|
||||
- /models/operations/gethomedata.go
|
||||
- /models/operations/getpin.go
|
||||
- /models/operations/gettoken.go
|
||||
- /models/operations/getglobalhubs.go
|
||||
- /models/operations/getlibraryhubs.go
|
||||
- /models/operations/performsearch.go
|
||||
@@ -101,8 +106,6 @@ generatedFiles:
|
||||
- /models/operations/logline.go
|
||||
- /models/operations/logmultiline.go
|
||||
- /models/operations/enablepapertrail.go
|
||||
- /models/operations/getpin.go
|
||||
- /models/operations/gettoken.go
|
||||
- /models/operations/createplaylist.go
|
||||
- /models/operations/getplaylists.go
|
||||
- /models/operations/getplaylist.go
|
||||
@@ -122,6 +125,7 @@ generatedFiles:
|
||||
- /models/operations/getupdatestatus.go
|
||||
- /models/operations/checkforupdates.go
|
||||
- /models/operations/applyupdates.go
|
||||
- /models/operations/getwatchlist.go
|
||||
- /models/sdkerrors/getservercapabilities.go
|
||||
- /models/sdkerrors/getserverpreferences.go
|
||||
- /models/sdkerrors/getavailableclients.go
|
||||
@@ -142,6 +146,9 @@ generatedFiles:
|
||||
- /models/sdkerrors/stopalltasks.go
|
||||
- /models/sdkerrors/starttask.go
|
||||
- /models/sdkerrors/stoptask.go
|
||||
- /models/sdkerrors/gethomedata.go
|
||||
- /models/sdkerrors/getpin.go
|
||||
- /models/sdkerrors/gettoken.go
|
||||
- /models/sdkerrors/getglobalhubs.go
|
||||
- /models/sdkerrors/getlibraryhubs.go
|
||||
- /models/sdkerrors/performsearch.go
|
||||
@@ -161,8 +168,6 @@ generatedFiles:
|
||||
- /models/sdkerrors/logline.go
|
||||
- /models/sdkerrors/logmultiline.go
|
||||
- /models/sdkerrors/enablepapertrail.go
|
||||
- /models/sdkerrors/getpin.go
|
||||
- /models/sdkerrors/gettoken.go
|
||||
- /models/sdkerrors/createplaylist.go
|
||||
- /models/sdkerrors/getplaylists.go
|
||||
- /models/sdkerrors/getplaylist.go
|
||||
@@ -182,6 +187,7 @@ generatedFiles:
|
||||
- /models/sdkerrors/getupdatestatus.go
|
||||
- /models/sdkerrors/checkforupdates.go
|
||||
- /models/sdkerrors/applyupdates.go
|
||||
- /models/sdkerrors/getwatchlist.go
|
||||
- /models/components/security.go
|
||||
- docs/models/operations/directory.md
|
||||
- docs/models/operations/mediacontainer.md
|
||||
@@ -243,6 +249,18 @@ generatedFiles:
|
||||
- docs/models/operations/pathparamtaskname.md
|
||||
- docs/models/operations/stoptaskrequest.md
|
||||
- docs/models/operations/stoptaskresponse.md
|
||||
- docs/models/operations/gethomedataresponsebody.md
|
||||
- docs/models/operations/gethomedataresponse.md
|
||||
- docs/models/operations/getpinglobals.md
|
||||
- docs/models/operations/getpinrequest.md
|
||||
- docs/models/operations/location.md
|
||||
- docs/models/operations/getpinresponsebody.md
|
||||
- docs/models/operations/getpinresponse.md
|
||||
- docs/models/operations/gettokenglobals.md
|
||||
- docs/models/operations/gettokenrequest.md
|
||||
- docs/models/operations/gettokenlocation.md
|
||||
- docs/models/operations/gettokenresponsebody.md
|
||||
- docs/models/operations/gettokenresponse.md
|
||||
- docs/models/operations/onlytransient.md
|
||||
- docs/models/operations/getglobalhubsrequest.md
|
||||
- docs/models/operations/getglobalhubsmetadata.md
|
||||
@@ -291,7 +309,7 @@ generatedFiles:
|
||||
- docs/models/operations/writer.md
|
||||
- docs/models/operations/country.md
|
||||
- docs/models/operations/role.md
|
||||
- docs/models/operations/metadata.md
|
||||
- docs/models/operations/getrecentlyaddedmetadata.md
|
||||
- docs/models/operations/getrecentlyaddedmediacontainer.md
|
||||
- docs/models/operations/getrecentlyaddedresponsebody.md
|
||||
- docs/models/operations/getrecentlyaddedresponse.md
|
||||
@@ -303,7 +321,7 @@ generatedFiles:
|
||||
- docs/models/operations/includedetails.md
|
||||
- docs/models/operations/getlibraryrequest.md
|
||||
- docs/models/operations/getlibrarydirectory.md
|
||||
- docs/models/operations/filter.md
|
||||
- docs/models/operations/getlibraryfilter.md
|
||||
- docs/models/operations/sort.md
|
||||
- docs/models/operations/field.md
|
||||
- docs/models/operations/getlibrarytype.md
|
||||
@@ -370,14 +388,6 @@ generatedFiles:
|
||||
- docs/models/operations/loglineresponse.md
|
||||
- docs/models/operations/logmultilineresponse.md
|
||||
- docs/models/operations/enablepapertrailresponse.md
|
||||
- docs/models/operations/getpinglobals.md
|
||||
- docs/models/operations/getpinrequest.md
|
||||
- docs/models/operations/location.md
|
||||
- docs/models/operations/getpinresponsebody.md
|
||||
- docs/models/operations/getpinresponse.md
|
||||
- docs/models/operations/gettokenglobals.md
|
||||
- docs/models/operations/gettokenrequest.md
|
||||
- docs/models/operations/gettokenresponse.md
|
||||
- docs/models/operations/queryparamtype.md
|
||||
- docs/models/operations/smart.md
|
||||
- docs/models/operations/createplaylistrequest.md
|
||||
@@ -467,6 +477,15 @@ generatedFiles:
|
||||
- docs/models/operations/skip.md
|
||||
- docs/models/operations/applyupdatesrequest.md
|
||||
- docs/models/operations/applyupdatesresponse.md
|
||||
- docs/models/operations/filter.md
|
||||
- docs/models/operations/libtype.md
|
||||
- docs/models/operations/includecollections.md
|
||||
- docs/models/operations/includeexternalmedia.md
|
||||
- docs/models/operations/getwatchlistrequest.md
|
||||
- docs/models/operations/image.md
|
||||
- docs/models/operations/metadata.md
|
||||
- docs/models/operations/getwatchlistresponsebody.md
|
||||
- docs/models/operations/getwatchlistresponse.md
|
||||
- docs/models/sdkerrors/errors.md
|
||||
- docs/models/sdkerrors/getservercapabilitiesresponsebody.md
|
||||
- docs/models/sdkerrors/getserverpreferenceserrors.md
|
||||
@@ -507,6 +526,12 @@ generatedFiles:
|
||||
- docs/models/sdkerrors/starttaskresponsebody.md
|
||||
- docs/models/sdkerrors/stoptaskerrors.md
|
||||
- docs/models/sdkerrors/stoptaskresponsebody.md
|
||||
- docs/models/sdkerrors/gethomedataerrors.md
|
||||
- docs/models/sdkerrors/gethomedataresponsebody.md
|
||||
- docs/models/sdkerrors/getpinerrors.md
|
||||
- docs/models/sdkerrors/getpinresponsebody.md
|
||||
- docs/models/sdkerrors/gettokenerrors.md
|
||||
- docs/models/sdkerrors/gettokenresponsebody.md
|
||||
- docs/models/sdkerrors/getglobalhubserrors.md
|
||||
- docs/models/sdkerrors/getglobalhubsresponsebody.md
|
||||
- docs/models/sdkerrors/getlibraryhubserrors.md
|
||||
@@ -545,10 +570,6 @@ generatedFiles:
|
||||
- docs/models/sdkerrors/logmultilineresponsebody.md
|
||||
- docs/models/sdkerrors/enablepapertrailerrors.md
|
||||
- docs/models/sdkerrors/enablepapertrailresponsebody.md
|
||||
- docs/models/sdkerrors/getpinerrors.md
|
||||
- docs/models/sdkerrors/getpinresponsebody.md
|
||||
- docs/models/sdkerrors/gettokenerrors.md
|
||||
- docs/models/sdkerrors/gettokenresponsebody.md
|
||||
- docs/models/sdkerrors/createplaylisterrors.md
|
||||
- docs/models/sdkerrors/createplaylistresponsebody.md
|
||||
- docs/models/sdkerrors/getplaylistserrors.md
|
||||
@@ -587,6 +608,8 @@ generatedFiles:
|
||||
- docs/models/sdkerrors/checkforupdatesresponsebody.md
|
||||
- docs/models/sdkerrors/applyupdateserrors.md
|
||||
- docs/models/sdkerrors/applyupdatesresponsebody.md
|
||||
- docs/models/sdkerrors/getwatchlisterrors.md
|
||||
- docs/models/sdkerrors/getwatchlistresponsebody.md
|
||||
- docs/models/components/security.md
|
||||
- docs/sdks/plexapi/README.md
|
||||
- docs/sdks/server/README.md
|
||||
@@ -594,17 +617,18 @@ generatedFiles:
|
||||
- docs/sdks/video/README.md
|
||||
- docs/sdks/activities/README.md
|
||||
- docs/sdks/butler/README.md
|
||||
- docs/models/operations/option.md
|
||||
- docs/sdks/plex/README.md
|
||||
- docs/sdks/hubs/README.md
|
||||
- docs/sdks/search/README.md
|
||||
- docs/sdks/library/README.md
|
||||
- docs/sdks/log/README.md
|
||||
- docs/models/operations/option.md
|
||||
- docs/sdks/plex/README.md
|
||||
- docs/sdks/playlists/README.md
|
||||
- docs/sdks/authentication/README.md
|
||||
- docs/sdks/statistics/README.md
|
||||
- docs/sdks/sessions/README.md
|
||||
- docs/sdks/updater/README.md
|
||||
- docs/sdks/watchlist/README.md
|
||||
- USAGE.md
|
||||
- models/operations/options.go
|
||||
- .gitattributes
|
||||
|
||||
@@ -12,7 +12,7 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
go:
|
||||
version: 0.8.1
|
||||
version: 0.9.0
|
||||
additionalDependencies: {}
|
||||
allowUnknownFieldsInWeakUnions: false
|
||||
clientServerStatusCodesAsErrors: true
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
speakeasyVersion: 1.299.6
|
||||
speakeasyVersion: 1.308.1
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:f9b7f945b0be0fcc16cb4ed171d04b72c333eb162daea0db8a4e9c2d489db91c
|
||||
sourceBlobDigest: sha256:c62fefed624e49b6dd213da5aa3f0b350a118b9de9228e75abd952a85093b9ad
|
||||
sourceRevisionDigest: sha256:7c8d6aba90098356ba6c93b2ec679c4a6b7bf28eebdfbe12ab238a47b31eebd9
|
||||
sourceBlobDigest: sha256:673b2e8e0f4802ebdce582bd11cf375fb435a50e5a67b08b56ede08efc49aefe
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
@@ -11,8 +11,8 @@ targets:
|
||||
plexgo:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:f9b7f945b0be0fcc16cb4ed171d04b72c333eb162daea0db8a4e9c2d489db91c
|
||||
sourceBlobDigest: sha256:c62fefed624e49b6dd213da5aa3f0b350a118b9de9228e75abd952a85093b9ad
|
||||
sourceRevisionDigest: sha256:7c8d6aba90098356ba6c93b2ec679c4a6b7bf28eebdfbe12ab238a47b31eebd9
|
||||
sourceBlobDigest: sha256:673b2e8e0f4802ebdce582bd11cf375fb435a50e5a67b08b56ede08efc49aefe
|
||||
outLocation: /github/workspace/repo
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
|
||||
23
README.md
23
README.md
@@ -86,6 +86,12 @@ func main() {
|
||||
* [StartTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task
|
||||
* [StopTask](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
|
||||
|
||||
### [Plex](docs/sdks/plex/README.md)
|
||||
|
||||
* [GetHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
|
||||
* [GetPin](docs/sdks/plex/README.md#getpin) - Get a Pin
|
||||
* [GetToken](docs/sdks/plex/README.md#gettoken) - Get Access Token
|
||||
|
||||
### [Hubs](docs/sdks/hubs/README.md)
|
||||
|
||||
* [GetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
|
||||
@@ -117,11 +123,6 @@ func main() {
|
||||
* [LogMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
|
||||
* [EnablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
|
||||
|
||||
### [Plex](docs/sdks/plex/README.md)
|
||||
|
||||
* [GetPin](docs/sdks/plex/README.md#getpin) - Get a Pin
|
||||
* [GetToken](docs/sdks/plex/README.md#gettoken) - Get Access Token
|
||||
|
||||
### [Playlists](docs/sdks/playlists/README.md)
|
||||
|
||||
* [CreatePlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
|
||||
@@ -155,6 +156,10 @@ func main() {
|
||||
* [GetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
|
||||
* [CheckForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
|
||||
* [ApplyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
|
||||
|
||||
### [Watchlist](docs/sdks/watchlist/README.md)
|
||||
|
||||
* [GetWatchlist](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
|
||||
<!-- End Available Resources and Operations [operations] -->
|
||||
|
||||
<!-- Start Error Handling [errors] -->
|
||||
@@ -303,11 +308,13 @@ func main() {
|
||||
s := plexgo.New(
|
||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||
)
|
||||
var xPlexProduct string = "Postman"
|
||||
|
||||
var strong *bool = plexgo.Bool(false)
|
||||
|
||||
var xPlexClientIdentifier *string = plexgo.String("Postman")
|
||||
ctx := context.Background()
|
||||
res, err := s.Plex.GetPin(ctx, strong, xPlexClientIdentifier, operations.WithServerURL("https://plex.tv/api/v2"))
|
||||
res, err := s.Plex.GetPin(ctx, xPlexProduct, strong, xPlexClientIdentifier, operations.WithServerURL("https://plex.tv/api/v2"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -449,11 +456,13 @@ func main() {
|
||||
s := plexgo.New(
|
||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||
)
|
||||
var xPlexProduct string = "Postman"
|
||||
|
||||
var strong *bool = plexgo.Bool(false)
|
||||
|
||||
var xPlexClientIdentifier *string = plexgo.String("Postman")
|
||||
ctx := context.Background()
|
||||
res, err := s.Plex.GetPin(ctx, strong, xPlexClientIdentifier)
|
||||
res, err := s.Plex.GetPin(ctx, xPlexProduct, strong, xPlexClientIdentifier)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
100
RELEASES.md
100
RELEASES.md
@@ -543,3 +543,103 @@ Based on:
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-05 00:50:03
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.299.7 (2.338.12) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-06 00:49:48
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.300.0 (2.338.14) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-07 00:52:21
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-08 00:50:36
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-09 00:55:16
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-10 00:52:30
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-12 00:51:32
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.305.0 (2.340.3) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-13 00:10:09
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.306.0 (2.340.3) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-14 00:09:51
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.307.2 (2.342.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.8.1] .
|
||||
### Releases
|
||||
- [Go v0.8.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.8.1 - .
|
||||
|
||||
## 2024-06-15 00:09:44
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.308.1 (2.342.6) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.9.0] .
|
||||
### Releases
|
||||
- [Go v0.9.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.9.0 - .
|
||||
2372
codeSamples.yaml
2372
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,12 @@
|
||||
# Filter
|
||||
|
||||
Filter
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
|
||||
| `Filter` | **string* | :heavy_minus_sign: | N/A | label |
|
||||
| `FilterType` | **string* | :heavy_minus_sign: | N/A | string |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/label |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Labels |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | filter |
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------- |
|
||||
| `FilterAll` | all |
|
||||
| `FilterAvailable` | available |
|
||||
| `FilterReleased` | released |
|
||||
11
docs/models/operations/gethomedataresponse.md
Normal file
11
docs/models/operations/gethomedataresponse.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetHomeDataResponse
|
||||
|
||||
|
||||
## 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.GetHomeDataResponseBody](../../models/operations/gethomedataresponsebody.md) | :heavy_minus_sign: | Home Data |
|
||||
15
docs/models/operations/gethomedataresponsebody.md
Normal file
15
docs/models/operations/gethomedataresponsebody.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# GetHomeDataResponseBody
|
||||
|
||||
Home Data
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
|
||||
| `ID` | **float64* | :heavy_minus_sign: | N/A | 1841489 |
|
||||
| `Name` | **string* | :heavy_minus_sign: | N/A | Blindkitty38's home |
|
||||
| `GuestUserID` | **float64* | :heavy_minus_sign: | N/A | 58815432 |
|
||||
| `GuestUserUUID` | **string* | :heavy_minus_sign: | N/A | f3df4e01bfca0787 |
|
||||
| `GuestEnabled` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Subscription` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
12
docs/models/operations/getlibraryfilter.md
Normal file
12
docs/models/operations/getlibraryfilter.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# GetLibraryFilter
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
|
||||
| `Filter` | **string* | :heavy_minus_sign: | N/A | label |
|
||||
| `FilterType` | **string* | :heavy_minus_sign: | N/A | string |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/label |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Labels |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | filter |
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `SectionID` | *int64* | :heavy_check_mark: | the Id of the library to query | 1 |
|
||||
| `Tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `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. |
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Filter` | [][operations.Filter](../../models/operations/filter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.Sort](../../models/operations/sort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.Field](../../models/operations/field.md) | :heavy_minus_sign: | N/A | |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Filter` | [][operations.GetLibraryFilter](../../models/operations/getlibraryfilter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.Sort](../../models/operations/sort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.Field](../../models/operations/field.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -7,3 +7,4 @@
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Strong` | **bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||
| `XPlexClientIdentifier` | **string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||
| `XPlexProduct` | *string* | :heavy_check_mark: | Product name of the application shown in the list of devices<br/> | Postman |
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| `Size` | **float64* | :heavy_minus_sign: | N/A | 50 |
|
||||
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | **float64* | :heavy_minus_sign: | N/A | 1680021154 |
|
||||
| `MixedParents` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Metadata` | [][operations.Metadata](../../models/operations/metadata.md) | :heavy_minus_sign: | N/A | |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `Size` | **float64* | :heavy_minus_sign: | N/A | 50 |
|
||||
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | **float64* | :heavy_minus_sign: | N/A | 1680021154 |
|
||||
| `MixedParents` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Metadata` | [][operations.GetRecentlyAddedMetadata](../../models/operations/getrecentlyaddedmetadata.md) | :heavy_minus_sign: | N/A | |
|
||||
39
docs/models/operations/getrecentlyaddedmetadata.md
Normal file
39
docs/models/operations/getrecentlyaddedmetadata.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# GetRecentlyAddedMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `LibrarySectionID` | **float64* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `RatingKey` | **float64* | :heavy_minus_sign: | N/A | 59398 |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398 |
|
||||
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | N/A | Marvel Studios |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
|
||||
| `Summary` | **string* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. |
|
||||
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 4.7 |
|
||||
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 8.3 |
|
||||
| `Year` | **float64* | :heavy_minus_sign: | N/A | 2023 |
|
||||
| `Tagline` | **string* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 |
|
||||
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 |
|
||||
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 7474422 |
|
||||
| `OriginallyAvailableAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC |
|
||||
| `AddedAt` | **float64* | :heavy_minus_sign: | N/A | 1681803215 |
|
||||
| `UpdatedAt` | **float64* | :heavy_minus_sign: | N/A | 1681888010 |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
|
||||
| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media |
|
||||
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59399 |
|
||||
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten |
|
||||
| `Media` | [][operations.Media](../../models/operations/media.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Genre` | [][operations.Genre](../../models/operations/genre.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Director` | [][operations.Director](../../models/operations/director.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Writer` | [][operations.Writer](../../models/operations/writer.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Country` | [][operations.Country](../../models/operations/country.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Role` | [][operations.Role](../../models/operations/role.md) | :heavy_minus_sign: | N/A | |
|
||||
17
docs/models/operations/gettokenlocation.md
Normal file
17
docs/models/operations/gettokenlocation.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# GetTokenLocation
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- |
|
||||
| `Code` | **string* | :heavy_minus_sign: | N/A | US |
|
||||
| `EuropeanUnionMember` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `ContinentCode` | **string* | :heavy_minus_sign: | N/A | NA |
|
||||
| `Country` | **string* | :heavy_minus_sign: | N/A | United States |
|
||||
| `City` | **string* | :heavy_minus_sign: | N/A | Austin |
|
||||
| `TimeZone` | **string* | :heavy_minus_sign: | N/A | America/Chicago |
|
||||
| `PostalCode` | **string* | :heavy_minus_sign: | N/A | 78732 |
|
||||
| `InPrivacyRestrictedCountry` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Subdivisions` | **string* | :heavy_minus_sign: | N/A | Texas |
|
||||
| `Coordinates` | **string* | :heavy_minus_sign: | N/A | 30.3768 -97.8935 |
|
||||
@@ -3,8 +3,9 @@
|
||||
|
||||
## 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 |
|
||||
| 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.GetTokenResponseBody](../../models/operations/gettokenresponsebody.md) | :heavy_minus_sign: | Access Token |
|
||||
21
docs/models/operations/gettokenresponsebody.md
Normal file
21
docs/models/operations/gettokenresponsebody.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# GetTokenResponseBody
|
||||
|
||||
Access Token
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | **float64* | :heavy_minus_sign: | PinID for use with authentication | 1272322473 |
|
||||
| `Code` | **string* | :heavy_minus_sign: | N/A | 3patfx1a78ukcbr7x0n9bl26t |
|
||||
| `Product` | **string* | :heavy_minus_sign: | N/A | Plex Web |
|
||||
| `Trusted` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Qr` | **string* | :heavy_minus_sign: | a link to a QR code hosted on plex.tv <br/>The QR code redirects to the relevant `plex.tv/link` authentication page<br/>Which then prompts the user for the 4 Digit Link Pin<br/> | https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t |
|
||||
| `ClientIdentifier` | **string* | :heavy_minus_sign: | N/A | Postman |
|
||||
| `Location` | [*operations.GetTokenLocation](../../models/operations/gettokenlocation.md) | :heavy_minus_sign: | N/A | |
|
||||
| `ExpiresIn` | **float64* | :heavy_minus_sign: | N/A | 1800 |
|
||||
| `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 |
|
||||
| `AuthToken` | **string* | :heavy_minus_sign: | N/A | |
|
||||
| `NewRegistration` | **string* | :heavy_minus_sign: | N/A | |
|
||||
16
docs/models/operations/getwatchlistrequest.md
Normal file
16
docs/models/operations/getwatchlistrequest.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# GetWatchlistRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Filter` | [operations.Filter](../../models/operations/filter.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/> |
|
||||
| `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/> |
|
||||
| `IncludeCollections` | [*operations.IncludeCollections](../../models/operations/includecollections.md) | :heavy_minus_sign: | include collections in the results<br/> |
|
||||
| `IncludeExternalMedia` | [*operations.IncludeExternalMedia](../../models/operations/includeexternalmedia.md) | :heavy_minus_sign: | include external media in the results<br/> |
|
||||
| `XPlexToken` | *string* | :heavy_check_mark: | User Token |
|
||||
| `XPlexContainerStart` | **int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/> |
|
||||
| `XPlexContainerSize` | **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/> |
|
||||
11
docs/models/operations/getwatchlistresponse.md
Normal file
11
docs/models/operations/getwatchlistresponse.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetWatchlistResponse
|
||||
|
||||
|
||||
## 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.GetWatchlistResponseBody](../../models/operations/getwatchlistresponsebody.md) | :heavy_minus_sign: | Watchlist Data |
|
||||
16
docs/models/operations/getwatchlistresponsebody.md
Normal file
16
docs/models/operations/getwatchlistresponsebody.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# GetWatchlistResponseBody
|
||||
|
||||
Watchlist Data
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| `LibrarySectionID` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Offset` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `TotalSize` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `Identifier` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Size` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `Metadata` | [][operations.Metadata](../../models/operations/metadata.md) | :heavy_minus_sign: | N/A |
|
||||
10
docs/models/operations/image.md
Normal file
10
docs/models/operations/image.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Image
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Alt` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `URL` | **string* | :heavy_minus_sign: | N/A |
|
||||
12
docs/models/operations/includecollections.md
Normal file
12
docs/models/operations/includecollections.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# IncludeCollections
|
||||
|
||||
include collections in the results
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------ | ------------------------ |
|
||||
| `IncludeCollectionsOne` | 1 |
|
||||
| `IncludeCollectionsZero` | 0 |
|
||||
12
docs/models/operations/includeexternalmedia.md
Normal file
12
docs/models/operations/includeexternalmedia.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# IncludeExternalMedia
|
||||
|
||||
include external media in the results
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------- | -------------------------- |
|
||||
| `IncludeExternalMediaOne` | 1 |
|
||||
| `IncludeExternalMediaZero` | 0 |
|
||||
12
docs/models/operations/libtype.md
Normal file
12
docs/models/operations/libtype.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Libtype
|
||||
|
||||
The type of library to filter. Can be "movie" or "show", or all if not present.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------- | -------------- |
|
||||
| `LibtypeMovie` | movie |
|
||||
| `LibtypeShow` | show |
|
||||
@@ -11,7 +11,7 @@
|
||||
| `Country` | **string* | :heavy_minus_sign: | N/A | United States |
|
||||
| `City` | **string* | :heavy_minus_sign: | N/A | Austin |
|
||||
| `TimeZone` | **string* | :heavy_minus_sign: | N/A | America/Chicago |
|
||||
| `PostalCode` | **float64* | :heavy_minus_sign: | N/A | 78732 |
|
||||
| `PostalCode` | **string* | :heavy_minus_sign: | N/A | 78732 |
|
||||
| `InPrivacyRestrictedCountry` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `Subdivisions` | **string* | :heavy_minus_sign: | N/A | Texas |
|
||||
| `Coordinates` | **string* | :heavy_minus_sign: | N/A | 30.3768 -97.8935 |
|
||||
@@ -3,37 +3,40 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
|
||||
| `LibrarySectionID` | **float64* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `RatingKey` | **float64* | :heavy_minus_sign: | N/A | 59398 |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398 |
|
||||
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | N/A | Marvel Studios |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
|
||||
| `Summary` | **string* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. |
|
||||
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 4.7 |
|
||||
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 8.3 |
|
||||
| `Year` | **float64* | :heavy_minus_sign: | N/A | 2023 |
|
||||
| `Tagline` | **string* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 |
|
||||
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 |
|
||||
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 7474422 |
|
||||
| `OriginallyAvailableAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC |
|
||||
| `AddedAt` | **float64* | :heavy_minus_sign: | N/A | 1681803215 |
|
||||
| `UpdatedAt` | **float64* | :heavy_minus_sign: | N/A | 1681888010 |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
|
||||
| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media |
|
||||
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/59399 |
|
||||
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten |
|
||||
| `Media` | [][operations.Media](../../models/operations/media.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Genre` | [][operations.Genre](../../models/operations/genre.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Director` | [][operations.Director](../../models/operations/director.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Writer` | [][operations.Writer](../../models/operations/writer.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Country` | [][operations.Country](../../models/operations/country.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Role` | [][operations.Role](../../models/operations/role.md) | :heavy_minus_sign: | N/A | |
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
|
||||
| `Art` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `GUID` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Key` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `RatingKey` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Tagline` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Type` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `AddedAt` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `PublicPagesURL` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Slug` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `UserState` | **bool* | :heavy_minus_sign: | N/A |
|
||||
| `Title` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A |
|
||||
| `Year` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `Image` | [][operations.Image](../../models/operations/image.md) | :heavy_minus_sign: | N/A |
|
||||
| `Banner` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Rating` | **float64* | :heavy_minus_sign: | N/A |
|
||||
| `ExpiresAt` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `RatingImage` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `ImdbRatingCount` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `Subtype` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `Theme` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `LeafCount` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `ChildCount` | **int* | :heavy_minus_sign: | N/A |
|
||||
| `IsContinuingSeries` | **bool* | :heavy_minus_sign: | N/A |
|
||||
| `SkipChildren` | **bool* | :heavy_minus_sign: | N/A |
|
||||
| `AvailabilityID` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `StreamingMediaID` | **string* | :heavy_minus_sign: | N/A |
|
||||
| `PlayableKey` | **string* | :heavy_minus_sign: | N/A |
|
||||
10
docs/models/sdkerrors/gethomedataerrors.md
Normal file
10
docs/models/sdkerrors/gethomedataerrors.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetHomeDataErrors
|
||||
|
||||
|
||||
## 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/gethomedataresponsebody.md
Normal file
11
docs/models/sdkerrors/gethomedataresponsebody.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetHomeDataResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `Errors` | [][sdkerrors.GetHomeDataErrors](../../models/sdkerrors/gethomedataerrors.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/getwatchlisterrors.md
Normal file
10
docs/models/sdkerrors/getwatchlisterrors.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetWatchlistErrors
|
||||
|
||||
|
||||
## 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/getwatchlistresponsebody.md
Normal file
11
docs/models/sdkerrors/getwatchlistresponsebody.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetWatchlistResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
||||
| `Errors` | [][sdkerrors.GetWatchlistErrors](../../models/sdkerrors/getwatchlisterrors.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 |
|
||||
@@ -352,7 +352,7 @@ func main() {
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||
)
|
||||
var sectionID int64 = 1
|
||||
var sectionID any = "<value>"
|
||||
|
||||
var tag operations.Tag = operations.TagGenre
|
||||
ctx := context.Background()
|
||||
@@ -368,11 +368,11 @@ func main() {
|
||||
|
||||
### 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. | |
|
||||
| `sectionID` | *int64* | :heavy_check_mark: | the Id of the library to query | 1 |
|
||||
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `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 |
|
||||
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |
|
||||
|
||||
|
||||
### Response
|
||||
|
||||
@@ -8,9 +8,57 @@ API Calls that perform operations directly against https://Plex.tv
|
||||
|
||||
### Available Operations
|
||||
|
||||
* [GetHomeData](#gethomedata) - Get Plex Home Data
|
||||
* [GetPin](#getpin) - Get a Pin
|
||||
* [GetToken](#gettoken) - Get Access Token
|
||||
|
||||
## GetHomeData
|
||||
|
||||
Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.
|
||||
|
||||
### 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"),
|
||||
)
|
||||
|
||||
ctx := context.Background()
|
||||
res, err := s.Plex.GetHomeData(ctx)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
||||
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.GetHomeDataResponse](../../models/operations/gethomedataresponse.md), error**
|
||||
| Error Object | Status Code | Content Type |
|
||||
| --------------------------------- | --------------------------------- | --------------------------------- |
|
||||
| sdkerrors.GetHomeDataResponseBody | 401 | application/json |
|
||||
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||
|
||||
## GetPin
|
||||
|
||||
Retrieve a Pin from Plex.tv for authentication flows
|
||||
@@ -30,11 +78,13 @@ func main() {
|
||||
s := plexgo.New(
|
||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||
)
|
||||
var xPlexProduct string = "Postman"
|
||||
|
||||
var strong *bool = plexgo.Bool(false)
|
||||
|
||||
var xPlexClientIdentifier *string = plexgo.String("Postman")
|
||||
ctx := context.Background()
|
||||
res, err := s.Plex.GetPin(ctx, strong, xPlexClientIdentifier)
|
||||
res, err := s.Plex.GetPin(ctx, xPlexProduct, strong, xPlexClientIdentifier)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -49,6 +99,7 @@ func main() {
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `xPlexProduct` | *string* | :heavy_check_mark: | Product name of the application shown in the list of devices<br/> | Postman |
|
||||
| `strong` | **bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||
| `xPlexClientIdentifier` | **string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | Postman |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
@@ -89,7 +140,7 @@ func main() {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res != nil {
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
|
||||
64
docs/sdks/watchlist/README.md
Normal file
64
docs/sdks/watchlist/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Watchlist
|
||||
(*Watchlist*)
|
||||
|
||||
## Overview
|
||||
|
||||
API Calls that perform operations with Plex Media Server Watchlists
|
||||
|
||||
|
||||
### Available Operations
|
||||
|
||||
* [GetWatchlist](#getwatchlist) - Get User Watchlist
|
||||
|
||||
## GetWatchlist
|
||||
|
||||
Get User Watchlist
|
||||
|
||||
### Example Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import(
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
"context"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
plexgo.WithXPlexClientIdentifier("Postman"),
|
||||
)
|
||||
request := operations.GetWatchlistRequest{
|
||||
Filter: operations.FilterReleased,
|
||||
XPlexToken: "<value>",
|
||||
}
|
||||
ctx := context.Background()
|
||||
res, err := s.Watchlist.GetWatchlist(ctx, request)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
|
||||
| `request` | [operations.GetWatchlistRequest](../../models/operations/getwatchlistrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. |
|
||||
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.GetWatchlistResponse](../../models/operations/getwatchlistresponse.md), error**
|
||||
| Error Object | Status Code | Content Type |
|
||||
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
||||
| sdkerrors.GetWatchlistResponseBody | 401 | application/json |
|
||||
| sdkerrors.SDKError | 4xx-5xx | */* |
|
||||
@@ -635,7 +635,7 @@ func (s *Library) DeleteLibrary(ctx context.Context, sectionID float64) (*operat
|
||||
// - `resolution`: Items categorized by resolution.
|
||||
// - `firstCharacter`: Items categorized by the first letter.
|
||||
// - `folder`: Items categorized by folder.
|
||||
func (s *Library) GetLibraryItems(ctx context.Context, sectionID int64, tag operations.Tag) (*operations.GetLibraryItemsResponse, error) {
|
||||
func (s *Library) GetLibraryItems(ctx context.Context, sectionID any, tag operations.Tag) (*operations.GetLibraryItemsResponse, error) {
|
||||
hookCtx := hooks.HookContext{
|
||||
Context: ctx,
|
||||
OperationID: "getLibraryItems",
|
||||
|
||||
98
models/operations/gethomedata.go
Normal file
98
models/operations/gethomedata.go
Normal file
@@ -0,0 +1,98 @@
|
||||
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// GetHomeDataResponseBody - Home Data
|
||||
type GetHomeDataResponseBody struct {
|
||||
ID *float64 `json:"id,omitempty"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
GuestUserID *float64 `json:"guestUserID,omitempty"`
|
||||
GuestUserUUID *string `json:"guestUserUUID,omitempty"`
|
||||
GuestEnabled *bool `json:"guestEnabled,omitempty"`
|
||||
Subscription *bool `json:"subscription,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetID() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ID
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetName() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Name
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetGuestUserID() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.GuestUserID
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetGuestUserUUID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.GuestUserUUID
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetGuestEnabled() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.GuestEnabled
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponseBody) GetSubscription() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Subscription
|
||||
}
|
||||
|
||||
type GetHomeDataResponse 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
|
||||
// Home Data
|
||||
Object *GetHomeDataResponseBody
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
|
||||
func (o *GetHomeDataResponse) GetObject() *GetHomeDataResponseBody {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Object
|
||||
}
|
||||
@@ -114,7 +114,7 @@ func (o *GetLibraryDirectory) GetSearch() *bool {
|
||||
return o.Search
|
||||
}
|
||||
|
||||
type Filter struct {
|
||||
type GetLibraryFilter struct {
|
||||
Filter *string `json:"filter,omitempty"`
|
||||
FilterType *string `json:"filterType,omitempty"`
|
||||
Key *string `json:"key,omitempty"`
|
||||
@@ -122,35 +122,35 @@ type Filter struct {
|
||||
Type *string `json:"type,omitempty"`
|
||||
}
|
||||
|
||||
func (o *Filter) GetFilter() *string {
|
||||
func (o *GetLibraryFilter) GetFilter() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Filter
|
||||
}
|
||||
|
||||
func (o *Filter) GetFilterType() *string {
|
||||
func (o *GetLibraryFilter) GetFilterType() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.FilterType
|
||||
}
|
||||
|
||||
func (o *Filter) GetKey() *string {
|
||||
func (o *GetLibraryFilter) GetKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *Filter) GetTitle() *string {
|
||||
func (o *GetLibraryFilter) GetTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Title
|
||||
}
|
||||
|
||||
func (o *Filter) GetType() *string {
|
||||
func (o *GetLibraryFilter) GetType() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -244,13 +244,13 @@ func (o *Field) GetSubType() *string {
|
||||
}
|
||||
|
||||
type GetLibraryType struct {
|
||||
Key *string `json:"key,omitempty"`
|
||||
Type *string `json:"type,omitempty"`
|
||||
Title *string `json:"title,omitempty"`
|
||||
Active *bool `json:"active,omitempty"`
|
||||
Filter []Filter `json:"Filter,omitempty"`
|
||||
Sort []Sort `json:"Sort,omitempty"`
|
||||
Field []Field `json:"Field,omitempty"`
|
||||
Key *string `json:"key,omitempty"`
|
||||
Type *string `json:"type,omitempty"`
|
||||
Title *string `json:"title,omitempty"`
|
||||
Active *bool `json:"active,omitempty"`
|
||||
Filter []GetLibraryFilter `json:"Filter,omitempty"`
|
||||
Sort []Sort `json:"Sort,omitempty"`
|
||||
Field []Field `json:"Field,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetLibraryType) GetKey() *string {
|
||||
@@ -281,7 +281,7 @@ func (o *GetLibraryType) GetActive() *bool {
|
||||
return o.Active
|
||||
}
|
||||
|
||||
func (o *GetLibraryType) GetFilter() []Filter {
|
||||
func (o *GetLibraryType) GetFilter() []GetLibraryFilter {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -90,14 +90,14 @@ func (e *Tag) UnmarshalJSON(data []byte) error {
|
||||
|
||||
type GetLibraryItemsRequest struct {
|
||||
// the Id of the library to query
|
||||
SectionID int64 `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.
|
||||
Tag Tag `pathParam:"style=simple,explode=false,name=tag"`
|
||||
}
|
||||
|
||||
func (o *GetLibraryItemsRequest) GetSectionID() int64 {
|
||||
func (o *GetLibraryItemsRequest) GetSectionID() any {
|
||||
if o == nil {
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
return o.SectionID
|
||||
}
|
||||
|
||||
@@ -38,6 +38,9 @@ type GetPinRequest struct {
|
||||
// (UUID, serial number, or other number unique per device)
|
||||
//
|
||||
XPlexClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
||||
// Product name of the application shown in the list of devices
|
||||
//
|
||||
XPlexProduct string `header:"style=simple,explode=false,name=X-Plex-Product"`
|
||||
}
|
||||
|
||||
func (g GetPinRequest) MarshalJSON() ([]byte, error) {
|
||||
@@ -65,17 +68,24 @@ func (o *GetPinRequest) GetXPlexClientIdentifier() *string {
|
||||
return o.XPlexClientIdentifier
|
||||
}
|
||||
|
||||
func (o *GetPinRequest) GetXPlexProduct() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.XPlexProduct
|
||||
}
|
||||
|
||||
type Location struct {
|
||||
Code *string `json:"code,omitempty"`
|
||||
EuropeanUnionMember *bool `json:"european_union_member,omitempty"`
|
||||
ContinentCode *string `json:"continent_code,omitempty"`
|
||||
Country *string `json:"country,omitempty"`
|
||||
City *string `json:"city,omitempty"`
|
||||
TimeZone *string `json:"time_zone,omitempty"`
|
||||
PostalCode *float64 `json:"postal_code,omitempty"`
|
||||
InPrivacyRestrictedCountry *bool `json:"in_privacy_restricted_country,omitempty"`
|
||||
Subdivisions *string `json:"subdivisions,omitempty"`
|
||||
Coordinates *string `json:"coordinates,omitempty"`
|
||||
Code *string `json:"code,omitempty"`
|
||||
EuropeanUnionMember *bool `json:"european_union_member,omitempty"`
|
||||
ContinentCode *string `json:"continent_code,omitempty"`
|
||||
Country *string `json:"country,omitempty"`
|
||||
City *string `json:"city,omitempty"`
|
||||
TimeZone *string `json:"time_zone,omitempty"`
|
||||
PostalCode *string `json:"postal_code,omitempty"`
|
||||
InPrivacyRestrictedCountry *bool `json:"in_privacy_restricted_country,omitempty"`
|
||||
Subdivisions *string `json:"subdivisions,omitempty"`
|
||||
Coordinates *string `json:"coordinates,omitempty"`
|
||||
}
|
||||
|
||||
func (o *Location) GetCode() *string {
|
||||
@@ -120,7 +130,7 @@ func (o *Location) GetTimeZone() *string {
|
||||
return o.TimeZone
|
||||
}
|
||||
|
||||
func (o *Location) GetPostalCode() *float64 {
|
||||
func (o *Location) GetPostalCode() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ func (o *Role) GetTag() *string {
|
||||
return o.Tag
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
type GetRecentlyAddedMetadata struct {
|
||||
AllowSync *bool `json:"allowSync,omitempty"`
|
||||
LibrarySectionID *float64 `json:"librarySectionID,omitempty"`
|
||||
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
|
||||
@@ -312,235 +312,235 @@ type Metadata struct {
|
||||
Role []Role `json:"Role,omitempty"`
|
||||
}
|
||||
|
||||
func (m Metadata) MarshalJSON() ([]byte, error) {
|
||||
return utils.MarshalJSON(m, "", false)
|
||||
func (g GetRecentlyAddedMetadata) MarshalJSON() ([]byte, error) {
|
||||
return utils.MarshalJSON(g, "", false)
|
||||
}
|
||||
|
||||
func (m *Metadata) UnmarshalJSON(data []byte) error {
|
||||
if err := utils.UnmarshalJSON(data, &m, "", false, false); err != nil {
|
||||
func (g *GetRecentlyAddedMetadata) UnmarshalJSON(data []byte) error {
|
||||
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAllowSync() *bool {
|
||||
func (o *GetRecentlyAddedMetadata) GetAllowSync() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AllowSync
|
||||
}
|
||||
|
||||
func (o *Metadata) GetLibrarySectionID() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetLibrarySectionID() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LibrarySectionID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetLibrarySectionTitle() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetLibrarySectionTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LibrarySectionTitle
|
||||
}
|
||||
|
||||
func (o *Metadata) GetLibrarySectionUUID() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetLibrarySectionUUID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LibrarySectionUUID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRatingKey() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetRatingKey() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *Metadata) GetKey() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *Metadata) GetGUID() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetGUID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.GUID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetStudio() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetStudio() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Studio
|
||||
}
|
||||
|
||||
func (o *Metadata) GetType() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetType() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Type
|
||||
}
|
||||
|
||||
func (o *Metadata) GetTitle() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Title
|
||||
}
|
||||
|
||||
func (o *Metadata) GetContentRating() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetContentRating() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ContentRating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetSummary() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetSummary() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Summary
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRating() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetRating() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Rating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAudienceRating() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetAudienceRating() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AudienceRating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetYear() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetYear() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Year
|
||||
}
|
||||
|
||||
func (o *Metadata) GetTagline() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetTagline() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Tagline
|
||||
}
|
||||
|
||||
func (o *Metadata) GetThumb() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetThumb() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Thumb
|
||||
}
|
||||
|
||||
func (o *Metadata) GetArt() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetArt() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Art
|
||||
}
|
||||
|
||||
func (o *Metadata) GetDuration() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetDuration() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Duration
|
||||
}
|
||||
|
||||
func (o *Metadata) GetOriginallyAvailableAt() *time.Time {
|
||||
func (o *GetRecentlyAddedMetadata) GetOriginallyAvailableAt() *time.Time {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.OriginallyAvailableAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAddedAt() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetAddedAt() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AddedAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetUpdatedAt() *float64 {
|
||||
func (o *GetRecentlyAddedMetadata) GetUpdatedAt() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.UpdatedAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAudienceRatingImage() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetAudienceRatingImage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AudienceRatingImage
|
||||
}
|
||||
|
||||
func (o *Metadata) GetChapterSource() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetChapterSource() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ChapterSource
|
||||
}
|
||||
|
||||
func (o *Metadata) GetPrimaryExtraKey() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetPrimaryExtraKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.PrimaryExtraKey
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRatingImage() *string {
|
||||
func (o *GetRecentlyAddedMetadata) GetRatingImage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RatingImage
|
||||
}
|
||||
|
||||
func (o *Metadata) GetMedia() []Media {
|
||||
func (o *GetRecentlyAddedMetadata) GetMedia() []Media {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Media
|
||||
}
|
||||
|
||||
func (o *Metadata) GetGenre() []Genre {
|
||||
func (o *GetRecentlyAddedMetadata) GetGenre() []Genre {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Genre
|
||||
}
|
||||
|
||||
func (o *Metadata) GetDirector() []Director {
|
||||
func (o *GetRecentlyAddedMetadata) GetDirector() []Director {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Director
|
||||
}
|
||||
|
||||
func (o *Metadata) GetWriter() []Writer {
|
||||
func (o *GetRecentlyAddedMetadata) GetWriter() []Writer {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Writer
|
||||
}
|
||||
|
||||
func (o *Metadata) GetCountry() []Country {
|
||||
func (o *GetRecentlyAddedMetadata) GetCountry() []Country {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Country
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRole() []Role {
|
||||
func (o *GetRecentlyAddedMetadata) GetRole() []Role {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -548,13 +548,13 @@ func (o *Metadata) GetRole() []Role {
|
||||
}
|
||||
|
||||
type GetRecentlyAddedMediaContainer struct {
|
||||
Size *float64 `json:"size,omitempty"`
|
||||
AllowSync *bool `json:"allowSync,omitempty"`
|
||||
Identifier *string `json:"identifier,omitempty"`
|
||||
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
|
||||
MediaTagVersion *float64 `json:"mediaTagVersion,omitempty"`
|
||||
MixedParents *bool `json:"mixedParents,omitempty"`
|
||||
Metadata []Metadata `json:"Metadata,omitempty"`
|
||||
Size *float64 `json:"size,omitempty"`
|
||||
AllowSync *bool `json:"allowSync,omitempty"`
|
||||
Identifier *string `json:"identifier,omitempty"`
|
||||
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
|
||||
MediaTagVersion *float64 `json:"mediaTagVersion,omitempty"`
|
||||
MixedParents *bool `json:"mixedParents,omitempty"`
|
||||
Metadata []GetRecentlyAddedMetadata `json:"Metadata,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetRecentlyAddedMediaContainer) GetSize() *float64 {
|
||||
@@ -599,7 +599,7 @@ func (o *GetRecentlyAddedMediaContainer) GetMixedParents() *bool {
|
||||
return o.MixedParents
|
||||
}
|
||||
|
||||
func (o *GetRecentlyAddedMediaContainer) GetMetadata() []Metadata {
|
||||
func (o *GetRecentlyAddedMediaContainer) GetMetadata() []GetRecentlyAddedMetadata {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
var GetTokenServerList = []string{
|
||||
@@ -49,6 +51,205 @@ func (o *GetTokenRequest) GetXPlexClientIdentifier() *string {
|
||||
return o.XPlexClientIdentifier
|
||||
}
|
||||
|
||||
type GetTokenLocation struct {
|
||||
Code *string `json:"code,omitempty"`
|
||||
EuropeanUnionMember *bool `json:"european_union_member,omitempty"`
|
||||
ContinentCode *string `json:"continent_code,omitempty"`
|
||||
Country *string `json:"country,omitempty"`
|
||||
City *string `json:"city,omitempty"`
|
||||
TimeZone *string `json:"time_zone,omitempty"`
|
||||
PostalCode *string `json:"postal_code,omitempty"`
|
||||
InPrivacyRestrictedCountry *bool `json:"in_privacy_restricted_country,omitempty"`
|
||||
Subdivisions *string `json:"subdivisions,omitempty"`
|
||||
Coordinates *string `json:"coordinates,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetCode() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Code
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetEuropeanUnionMember() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.EuropeanUnionMember
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetContinentCode() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ContinentCode
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetCountry() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Country
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetCity() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.City
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetTimeZone() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.TimeZone
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetPostalCode() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.PostalCode
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetInPrivacyRestrictedCountry() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.InPrivacyRestrictedCountry
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetSubdivisions() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Subdivisions
|
||||
}
|
||||
|
||||
func (o *GetTokenLocation) GetCoordinates() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Coordinates
|
||||
}
|
||||
|
||||
// GetTokenResponseBody - Access Token
|
||||
type GetTokenResponseBody struct {
|
||||
// PinID for use with authentication
|
||||
ID *float64 `json:"id,omitempty"`
|
||||
Code *string `json:"code,omitempty"`
|
||||
Product *string `json:"product,omitempty"`
|
||||
Trusted *bool `json:"trusted,omitempty"`
|
||||
// a link to a QR code hosted on plex.tv
|
||||
// The QR code redirects to the relevant `plex.tv/link` authentication page
|
||||
// Which then prompts the user for the 4 Digit Link Pin
|
||||
//
|
||||
Qr *string `json:"qr,omitempty"`
|
||||
ClientIdentifier *string `json:"clientIdentifier,omitempty"`
|
||||
Location *GetTokenLocation `json:"location,omitempty"`
|
||||
ExpiresIn *float64 `json:"expiresIn,omitempty"`
|
||||
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
|
||||
AuthToken *string `json:"authToken,omitempty"`
|
||||
NewRegistration *string `json:"newRegistration,omitempty"`
|
||||
}
|
||||
|
||||
func (g GetTokenResponseBody) MarshalJSON() ([]byte, error) {
|
||||
return utils.MarshalJSON(g, "", false)
|
||||
}
|
||||
|
||||
func (g *GetTokenResponseBody) UnmarshalJSON(data []byte) error {
|
||||
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetID() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ID
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetCode() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Code
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetProduct() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Product
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetTrusted() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Trusted
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetQr() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Qr
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetClientIdentifier() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ClientIdentifier
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetLocation() *GetTokenLocation {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Location
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetExpiresIn() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ExpiresIn
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetCreatedAt() *time.Time {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.CreatedAt
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetExpiresAt() *time.Time {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ExpiresAt
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetAuthToken() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AuthToken
|
||||
}
|
||||
|
||||
func (o *GetTokenResponseBody) GetNewRegistration() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.NewRegistration
|
||||
}
|
||||
|
||||
type GetTokenResponse struct {
|
||||
// HTTP response content type for this operation
|
||||
ContentType string
|
||||
@@ -56,6 +257,8 @@ type GetTokenResponse struct {
|
||||
StatusCode int
|
||||
// Raw HTTP response; suitable for custom response parsing
|
||||
RawResponse *http.Response
|
||||
// Access Token
|
||||
Object *GetTokenResponseBody
|
||||
}
|
||||
|
||||
func (o *GetTokenResponse) GetContentType() string {
|
||||
@@ -78,3 +281,10 @@ func (o *GetTokenResponse) GetRawResponse() *http.Response {
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
|
||||
func (o *GetTokenResponse) GetObject() *GetTokenResponseBody {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Object
|
||||
}
|
||||
|
||||
642
models/operations/getwatchlist.go
Normal file
642
models/operations/getwatchlist.go
Normal file
@@ -0,0 +1,642 @@
|
||||
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/types"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
var GetWatchlistServerList = []string{
|
||||
"https://metadata.provider.plex.tv",
|
||||
}
|
||||
|
||||
// Filter
|
||||
type Filter string
|
||||
|
||||
const (
|
||||
FilterAll Filter = "all"
|
||||
FilterAvailable Filter = "available"
|
||||
FilterReleased Filter = "released"
|
||||
)
|
||||
|
||||
func (e Filter) ToPointer() *Filter {
|
||||
return &e
|
||||
}
|
||||
func (e *Filter) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "all":
|
||||
fallthrough
|
||||
case "available":
|
||||
fallthrough
|
||||
case "released":
|
||||
*e = Filter(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Filter: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// Libtype - The type of library to filter. Can be "movie" or "show", or all if not present.
|
||||
type Libtype string
|
||||
|
||||
const (
|
||||
LibtypeMovie Libtype = "movie"
|
||||
LibtypeShow Libtype = "show"
|
||||
)
|
||||
|
||||
func (e Libtype) ToPointer() *Libtype {
|
||||
return &e
|
||||
}
|
||||
func (e *Libtype) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movie":
|
||||
fallthrough
|
||||
case "show":
|
||||
*e = Libtype(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Libtype: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// IncludeCollections - include collections in the results
|
||||
type IncludeCollections int64
|
||||
|
||||
const (
|
||||
IncludeCollectionsOne IncludeCollections = 1
|
||||
IncludeCollectionsZero IncludeCollections = 0
|
||||
)
|
||||
|
||||
func (e IncludeCollections) ToPointer() *IncludeCollections {
|
||||
return &e
|
||||
}
|
||||
func (e *IncludeCollections) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 0:
|
||||
*e = IncludeCollections(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for IncludeCollections: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// IncludeExternalMedia - include external media in the results
|
||||
type IncludeExternalMedia int64
|
||||
|
||||
const (
|
||||
IncludeExternalMediaOne IncludeExternalMedia = 1
|
||||
IncludeExternalMediaZero IncludeExternalMedia = 0
|
||||
)
|
||||
|
||||
func (e IncludeExternalMedia) ToPointer() *IncludeExternalMedia {
|
||||
return &e
|
||||
}
|
||||
func (e *IncludeExternalMedia) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 0:
|
||||
*e = IncludeExternalMedia(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for IncludeExternalMedia: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetWatchlistRequest struct {
|
||||
// Filter
|
||||
Filter Filter `pathParam:"style=simple,explode=false,name=filter"`
|
||||
// In the format "field:dir". Available fields are "watchlistedAt" (Added At),
|
||||
// "titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).
|
||||
// "dir" can be "asc" or "desc"
|
||||
//
|
||||
Sort *string `queryParam:"style=form,explode=true,name=sort"`
|
||||
// The type of library to filter. Can be "movie" or "show", or all if not present.
|
||||
//
|
||||
Libtype *Libtype `queryParam:"style=form,explode=true,name=libtype"`
|
||||
// The number of items to return. If not specified, all items will be returned.
|
||||
// If the number of items exceeds the limit, the response will be paginated.
|
||||
//
|
||||
Maxresults *int `queryParam:"style=form,explode=true,name=maxresults"`
|
||||
// include collections in the results
|
||||
//
|
||||
IncludeCollections *IncludeCollections `queryParam:"style=form,explode=true,name=includeCollections"`
|
||||
// include external media in the results
|
||||
//
|
||||
IncludeExternalMedia *IncludeExternalMedia `queryParam:"style=form,explode=true,name=includeExternalMedia"`
|
||||
// User Token
|
||||
XPlexToken string `queryParam:"style=form,explode=true,name=X-Plex-Token"`
|
||||
// The index of the first item to return. If not specified, the first item will be returned.
|
||||
// If the number of items exceeds the limit, the response will be paginated.
|
||||
//
|
||||
XPlexContainerStart *int `queryParam:"style=form,explode=true,name=X-Plex-Container-Start"`
|
||||
// The number of items to return. If not specified, all items will be returned.
|
||||
// If the number of items exceeds the limit, the response will be paginated.
|
||||
//
|
||||
XPlexContainerSize *int `queryParam:"style=form,explode=true,name=X-Plex-Container-Size"`
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetFilter() Filter {
|
||||
if o == nil {
|
||||
return Filter("")
|
||||
}
|
||||
return o.Filter
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetSort() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Sort
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetLibtype() *Libtype {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Libtype
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetMaxresults() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Maxresults
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetIncludeCollections() *IncludeCollections {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.IncludeCollections
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetIncludeExternalMedia() *IncludeExternalMedia {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.IncludeExternalMedia
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetXPlexToken() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.XPlexToken
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetXPlexContainerStart() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.XPlexContainerStart
|
||||
}
|
||||
|
||||
func (o *GetWatchlistRequest) GetXPlexContainerSize() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.XPlexContainerSize
|
||||
}
|
||||
|
||||
type Image struct {
|
||||
Alt *string `json:"alt,omitempty"`
|
||||
Type *string `json:"type,omitempty"`
|
||||
URL *string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
func (o *Image) GetAlt() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Alt
|
||||
}
|
||||
|
||||
func (o *Image) GetType() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Type
|
||||
}
|
||||
|
||||
func (o *Image) GetURL() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.URL
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
Art *string `json:"art,omitempty"`
|
||||
GUID *string `json:"guid,omitempty"`
|
||||
Key *string `json:"key,omitempty"`
|
||||
RatingKey *string `json:"ratingKey,omitempty"`
|
||||
Studio *string `json:"studio,omitempty"`
|
||||
Tagline *string `json:"tagline,omitempty"`
|
||||
Type *string `json:"type,omitempty"`
|
||||
Thumb *string `json:"thumb,omitempty"`
|
||||
AddedAt *int `json:"addedAt,omitempty"`
|
||||
Duration *int `json:"duration,omitempty"`
|
||||
PublicPagesURL *string `json:"publicPagesURL,omitempty"`
|
||||
Slug *string `json:"slug,omitempty"`
|
||||
UserState *bool `json:"userState,omitempty"`
|
||||
Title *string `json:"title,omitempty"`
|
||||
ContentRating *string `json:"contentRating,omitempty"`
|
||||
OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"`
|
||||
Year *int `json:"year,omitempty"`
|
||||
Image []Image `json:"Image,omitempty"`
|
||||
Banner *string `json:"banner,omitempty"`
|
||||
Rating *float64 `json:"rating,omitempty"`
|
||||
ExpiresAt *int `json:"expiresAt,omitempty"`
|
||||
OriginalTitle *string `json:"originalTitle,omitempty"`
|
||||
AudienceRating *float64 `json:"audienceRating,omitempty"`
|
||||
AudienceRatingImage *string `json:"audienceRatingImage,omitempty"`
|
||||
RatingImage *string `json:"ratingImage,omitempty"`
|
||||
ImdbRatingCount *int `json:"imdbRatingCount,omitempty"`
|
||||
Subtype *string `json:"subtype,omitempty"`
|
||||
Theme *string `json:"theme,omitempty"`
|
||||
LeafCount *int `json:"leafCount,omitempty"`
|
||||
ChildCount *int `json:"childCount,omitempty"`
|
||||
IsContinuingSeries *bool `json:"isContinuingSeries,omitempty"`
|
||||
SkipChildren *bool `json:"skipChildren,omitempty"`
|
||||
AvailabilityID *string `json:"availabilityId,omitempty"`
|
||||
StreamingMediaID *string `json:"streamingMediaId,omitempty"`
|
||||
PlayableKey *string `json:"playableKey,omitempty"`
|
||||
}
|
||||
|
||||
func (m Metadata) MarshalJSON() ([]byte, error) {
|
||||
return utils.MarshalJSON(m, "", false)
|
||||
}
|
||||
|
||||
func (m *Metadata) UnmarshalJSON(data []byte) error {
|
||||
if err := utils.UnmarshalJSON(data, &m, "", false, false); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *Metadata) GetArt() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Art
|
||||
}
|
||||
|
||||
func (o *Metadata) GetGUID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.GUID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRatingKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *Metadata) GetStudio() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Studio
|
||||
}
|
||||
|
||||
func (o *Metadata) GetTagline() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Tagline
|
||||
}
|
||||
|
||||
func (o *Metadata) GetType() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Type
|
||||
}
|
||||
|
||||
func (o *Metadata) GetThumb() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Thumb
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAddedAt() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AddedAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetDuration() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Duration
|
||||
}
|
||||
|
||||
func (o *Metadata) GetPublicPagesURL() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.PublicPagesURL
|
||||
}
|
||||
|
||||
func (o *Metadata) GetSlug() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Slug
|
||||
}
|
||||
|
||||
func (o *Metadata) GetUserState() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.UserState
|
||||
}
|
||||
|
||||
func (o *Metadata) GetTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Title
|
||||
}
|
||||
|
||||
func (o *Metadata) GetContentRating() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ContentRating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetOriginallyAvailableAt() *types.Date {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.OriginallyAvailableAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetYear() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Year
|
||||
}
|
||||
|
||||
func (o *Metadata) GetImage() []Image {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Image
|
||||
}
|
||||
|
||||
func (o *Metadata) GetBanner() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Banner
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRating() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Rating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetExpiresAt() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ExpiresAt
|
||||
}
|
||||
|
||||
func (o *Metadata) GetOriginalTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.OriginalTitle
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAudienceRating() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AudienceRating
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAudienceRatingImage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AudienceRatingImage
|
||||
}
|
||||
|
||||
func (o *Metadata) GetRatingImage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RatingImage
|
||||
}
|
||||
|
||||
func (o *Metadata) GetImdbRatingCount() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ImdbRatingCount
|
||||
}
|
||||
|
||||
func (o *Metadata) GetSubtype() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Subtype
|
||||
}
|
||||
|
||||
func (o *Metadata) GetTheme() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Theme
|
||||
}
|
||||
|
||||
func (o *Metadata) GetLeafCount() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LeafCount
|
||||
}
|
||||
|
||||
func (o *Metadata) GetChildCount() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.ChildCount
|
||||
}
|
||||
|
||||
func (o *Metadata) GetIsContinuingSeries() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.IsContinuingSeries
|
||||
}
|
||||
|
||||
func (o *Metadata) GetSkipChildren() *bool {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.SkipChildren
|
||||
}
|
||||
|
||||
func (o *Metadata) GetAvailabilityID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.AvailabilityID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetStreamingMediaID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.StreamingMediaID
|
||||
}
|
||||
|
||||
func (o *Metadata) GetPlayableKey() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.PlayableKey
|
||||
}
|
||||
|
||||
// GetWatchlistResponseBody - Watchlist Data
|
||||
type GetWatchlistResponseBody struct {
|
||||
LibrarySectionID *string `json:"librarySectionID,omitempty"`
|
||||
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
|
||||
Offset *int `json:"offset,omitempty"`
|
||||
TotalSize *int `json:"totalSize,omitempty"`
|
||||
Identifier *string `json:"identifier,omitempty"`
|
||||
Size *int `json:"size,omitempty"`
|
||||
Metadata []Metadata `json:"Metadata,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetLibrarySectionID() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LibrarySectionID
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetLibrarySectionTitle() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.LibrarySectionTitle
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetOffset() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Offset
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetTotalSize() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.TotalSize
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetIdentifier() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Identifier
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetSize() *int {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Size
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponseBody) GetMetadata() []Metadata {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Metadata
|
||||
}
|
||||
|
||||
type GetWatchlistResponse 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
|
||||
// Watchlist Data
|
||||
Object *GetWatchlistResponseBody
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
|
||||
func (o *GetWatchlistResponse) GetObject() *GetWatchlistResponseBody {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Object
|
||||
}
|
||||
49
models/sdkerrors/gethomedata.go
Normal file
49
models/sdkerrors/gethomedata.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 GetHomeDataErrors struct {
|
||||
Code *float64 `json:"code,omitempty"`
|
||||
Message *string `json:"message,omitempty"`
|
||||
Status *float64 `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetHomeDataErrors) GetCode() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Code
|
||||
}
|
||||
|
||||
func (o *GetHomeDataErrors) GetMessage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Message
|
||||
}
|
||||
|
||||
func (o *GetHomeDataErrors) GetStatus() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Status
|
||||
}
|
||||
|
||||
// GetHomeDataResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
type GetHomeDataResponseBody struct {
|
||||
Errors []GetHomeDataErrors `json:"errors,omitempty"`
|
||||
// Raw HTTP response; suitable for custom response parsing
|
||||
RawResponse *http.Response `json:"-"`
|
||||
}
|
||||
|
||||
var _ error = &GetHomeDataResponseBody{}
|
||||
|
||||
func (e *GetHomeDataResponseBody) Error() string {
|
||||
data, _ := json.Marshal(e)
|
||||
return string(data)
|
||||
}
|
||||
49
models/sdkerrors/getwatchlist.go
Normal file
49
models/sdkerrors/getwatchlist.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 GetWatchlistErrors struct {
|
||||
Code *float64 `json:"code,omitempty"`
|
||||
Message *string `json:"message,omitempty"`
|
||||
Status *float64 `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetWatchlistErrors) GetCode() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Code
|
||||
}
|
||||
|
||||
func (o *GetWatchlistErrors) GetMessage() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Message
|
||||
}
|
||||
|
||||
func (o *GetWatchlistErrors) GetStatus() *float64 {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Status
|
||||
}
|
||||
|
||||
// GetWatchlistResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
type GetWatchlistResponseBody struct {
|
||||
Errors []GetWatchlistErrors `json:"errors,omitempty"`
|
||||
// Raw HTTP response; suitable for custom response parsing
|
||||
RawResponse *http.Response `json:"-"`
|
||||
}
|
||||
|
||||
var _ error = &GetWatchlistResponseBody{}
|
||||
|
||||
func (e *GetWatchlistResponseBody) Error() string {
|
||||
data, _ := json.Marshal(e)
|
||||
return string(data)
|
||||
}
|
||||
126
plex.go
126
plex.go
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/LukeHagar/plexgo/models/sdkerrors"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
// Plex - API Calls that perform operations directly against https://Plex.tv
|
||||
@@ -25,9 +26,118 @@ func newPlex(sdkConfig sdkConfiguration) *Plex {
|
||||
}
|
||||
}
|
||||
|
||||
// GetHomeData - Get Plex Home Data
|
||||
// Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.
|
||||
func (s *Plex) GetHomeData(ctx context.Context) (*operations.GetHomeDataResponse, error) {
|
||||
hookCtx := hooks.HookContext{
|
||||
Context: ctx,
|
||||
OperationID: "getHomeData",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
|
||||
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||
opURL, err := url.JoinPath(baseURL, "/home")
|
||||
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.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.GetHomeDataResponse{
|
||||
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.GetHomeDataResponseBody
|
||||
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.GetHomeDataResponseBody
|
||||
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
|
||||
|
||||
}
|
||||
|
||||
// GetPin - Get a Pin
|
||||
// Retrieve a Pin from Plex.tv for authentication flows
|
||||
func (s *Plex) GetPin(ctx context.Context, strong *bool, xPlexClientIdentifier *string, opts ...operations.Option) (*operations.GetPinResponse, error) {
|
||||
func (s *Plex) GetPin(ctx context.Context, xPlexProduct string, strong *bool, xPlexClientIdentifier *string, opts ...operations.Option) (*operations.GetPinResponse, error) {
|
||||
hookCtx := hooks.HookContext{
|
||||
Context: ctx,
|
||||
OperationID: "getPin",
|
||||
@@ -38,6 +148,7 @@ func (s *Plex) GetPin(ctx context.Context, strong *bool, xPlexClientIdentifier *
|
||||
request := operations.GetPinRequest{
|
||||
Strong: strong,
|
||||
XPlexClientIdentifier: xPlexClientIdentifier,
|
||||
XPlexProduct: xPlexProduct,
|
||||
}
|
||||
|
||||
globals := operations.GetPinGlobals{
|
||||
@@ -120,7 +231,7 @@ func (s *Plex) GetPin(ctx context.Context, strong *bool, xPlexClientIdentifier *
|
||||
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
case httpRes.StatusCode == 201:
|
||||
switch {
|
||||
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||
var out operations.GetPinResponseBody
|
||||
@@ -253,6 +364,17 @@ func (s *Plex) GetToken(ctx context.Context, pinID string, xPlexClientIdentifier
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
switch {
|
||||
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||
var out operations.GetTokenResponseBody
|
||||
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:
|
||||
switch {
|
||||
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||
|
||||
21
plexapi.go
21
plexapi.go
@@ -91,6 +91,9 @@ type PlexAPI struct {
|
||||
// Butler is the task manager of the Plex Media Server Ecosystem.
|
||||
//
|
||||
Butler *Butler
|
||||
// API Calls that perform operations directly against https://Plex.tv
|
||||
//
|
||||
Plex *Plex
|
||||
// Hubs are a structured two-dimensional container for media, generally represented by multiple horizontal rows.
|
||||
//
|
||||
Hubs *Hubs
|
||||
@@ -103,9 +106,6 @@ type PlexAPI struct {
|
||||
// Submit logs to the Log Handler for Plex Media Server
|
||||
//
|
||||
Log *Log
|
||||
// API Calls that perform operations directly against https://Plex.tv
|
||||
//
|
||||
Plex *Plex
|
||||
// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017").
|
||||
// They can be organized in (optionally nesting) folders.
|
||||
// Retrieving a playlist, or its items, will trigger a refresh of its metadata.
|
||||
@@ -125,6 +125,9 @@ type PlexAPI struct {
|
||||
// Updates to the status can be observed via the Event API.
|
||||
//
|
||||
Updater *Updater
|
||||
// API Calls that perform operations with Plex Media Server Watchlists
|
||||
//
|
||||
Watchlist *Watchlist
|
||||
|
||||
sdkConfiguration sdkConfiguration
|
||||
}
|
||||
@@ -269,9 +272,9 @@ func New(opts ...SDKOption) *PlexAPI {
|
||||
sdkConfiguration: sdkConfiguration{
|
||||
Language: "go",
|
||||
OpenAPIDocVersion: "0.0.3",
|
||||
SDKVersion: "0.8.1",
|
||||
GenVersion: "2.338.12",
|
||||
UserAgent: "speakeasy-sdk/go 0.8.1 2.338.12 0.0.3 github.com/LukeHagar/plexgo",
|
||||
SDKVersion: "0.9.0",
|
||||
GenVersion: "2.342.6",
|
||||
UserAgent: "speakeasy-sdk/go 0.9.0 2.342.6 0.0.3 github.com/LukeHagar/plexgo",
|
||||
Globals: globals.Globals{},
|
||||
ServerDefaults: []map[string]string{
|
||||
{
|
||||
@@ -309,6 +312,8 @@ func New(opts ...SDKOption) *PlexAPI {
|
||||
|
||||
sdk.Butler = newButler(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Plex = newPlex(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Hubs = newHubs(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Search = newSearch(sdk.sdkConfiguration)
|
||||
@@ -317,8 +322,6 @@ func New(opts ...SDKOption) *PlexAPI {
|
||||
|
||||
sdk.Log = newLog(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Plex = newPlex(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Playlists = newPlaylists(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Authentication = newAuthentication(sdk.sdkConfiguration)
|
||||
@@ -329,5 +332,7 @@ func New(opts ...SDKOption) *PlexAPI {
|
||||
|
||||
sdk.Updater = newUpdater(sdk.sdkConfiguration)
|
||||
|
||||
sdk.Watchlist = newWatchlist(sdk.sdkConfiguration)
|
||||
|
||||
return sdk
|
||||
}
|
||||
|
||||
153
watchlist.go
Normal file
153
watchlist.go
Normal file
@@ -0,0 +1,153 @@
|
||||
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
||||
|
||||
package plexgo
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/hooks"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
"github.com/LukeHagar/plexgo/models/sdkerrors"
|
||||
"io"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Watchlist - API Calls that perform operations with Plex Media Server Watchlists
|
||||
type Watchlist struct {
|
||||
sdkConfiguration sdkConfiguration
|
||||
}
|
||||
|
||||
func newWatchlist(sdkConfig sdkConfiguration) *Watchlist {
|
||||
return &Watchlist{
|
||||
sdkConfiguration: sdkConfig,
|
||||
}
|
||||
}
|
||||
|
||||
// GetWatchlist - Get User Watchlist
|
||||
// Get User Watchlist
|
||||
func (s *Watchlist) GetWatchlist(ctx context.Context, request operations.GetWatchlistRequest, opts ...operations.Option) (*operations.GetWatchlistResponse, error) {
|
||||
hookCtx := hooks.HookContext{
|
||||
Context: ctx,
|
||||
OperationID: "getWatchlist",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
|
||||
o := operations.Options{}
|
||||
supportedOptions := []string{
|
||||
operations.SupportedOptionServerURL,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := opt(&o, supportedOptions...); err != nil {
|
||||
return nil, fmt.Errorf("error applying option: %w", err)
|
||||
}
|
||||
}
|
||||
baseURL := utils.ReplaceParameters(operations.GetWatchlistServerList[0], map[string]string{})
|
||||
if o.ServerURL != nil {
|
||||
baseURL = *o.ServerURL
|
||||
}
|
||||
|
||||
opURL, err := utils.GenerateURL(ctx, baseURL, "/library/sections/watchlist/{filter}", request, nil)
|
||||
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.GetWatchlistResponse{
|
||||
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.GetWatchlistResponseBody
|
||||
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.GetWatchlistResponseBody
|
||||
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