mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
673a771f04 | ||
|
|
216a94fe7d | ||
|
|
88d690ffc2 | ||
|
|
48a739d923 | ||
|
|
8b50020e1e | ||
|
|
4bcd080211 | ||
|
|
2e0f3b64ea |
File diff suppressed because one or more lines are too long
@@ -15,7 +15,7 @@ generation:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
oAuth2PasswordEnabled: false
|
||||
go:
|
||||
version: 0.19.2
|
||||
version: 0.21.0
|
||||
additionalDependencies: {}
|
||||
allowUnknownFieldsInWeakUnions: false
|
||||
clientServerStatusCodesAsErrors: true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
speakeasyVersion: 1.513.4
|
||||
speakeasyVersion: 1.535.1
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
@@ -9,19 +9,19 @@ sources:
|
||||
- main
|
||||
plexapi:
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
|
||||
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
|
||||
sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
|
||||
sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
|
||||
tags:
|
||||
- latest
|
||||
- speakeasy-sdk-regen-1741565327
|
||||
- speakeasy-sdk-regen-1745082762
|
||||
targets:
|
||||
plexgo:
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
|
||||
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
|
||||
sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
|
||||
sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
|
||||
codeSamplesNamespace: code-samples-go-plexgo
|
||||
codeSamplesRevisionDigest: sha256:1c039b4b936c2e504fdce037068ca992efeb22b94f6fc013db92ed1923c0bc33
|
||||
codeSamplesRevisionDigest: sha256:2d25718f4996da172444f082138e8a821c79218d583115151e7d1ebe953e7def
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
@@ -37,3 +37,5 @@ workflow:
|
||||
output: codeSamples.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-go-plexgo
|
||||
labelOverride:
|
||||
fixedValue: PlexGO
|
||||
|
||||
@@ -12,3 +12,5 @@ targets:
|
||||
output: codeSamples.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-go-plexgo
|
||||
labelOverride:
|
||||
fixedValue: PlexGO
|
||||
|
||||
@@ -150,6 +150,10 @@ func main() {
|
||||
* [GetActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
|
||||
* [GetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
|
||||
* [GetMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
|
||||
* [GetMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
|
||||
* [PostMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
|
||||
* [GetMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
|
||||
* [PostMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
|
||||
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
||||
* [GetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
|
||||
|
||||
|
||||
62
RELEASES.md
62
RELEASES.md
@@ -1072,4 +1072,64 @@ Based on:
|
||||
### Generated
|
||||
- [go v0.19.2] .
|
||||
### Releases
|
||||
- [Go v0.19.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.2 - .
|
||||
- [Go v0.19.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.2 - .
|
||||
|
||||
## 2025-03-31 17:29:50
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.19.3] .
|
||||
### Releases
|
||||
- [Go v0.19.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.3 - .
|
||||
|
||||
## 2025-04-03 21:55:33
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.20.0] .
|
||||
### Releases
|
||||
- [Go v0.20.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.0 - .
|
||||
|
||||
## 2025-04-07 00:10:20
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.20.1] .
|
||||
### Releases
|
||||
- [Go v0.20.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.1 - .
|
||||
|
||||
## 2025-04-15 00:10:03
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.20.2] .
|
||||
### Releases
|
||||
- [Go v0.20.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.2 - .
|
||||
|
||||
## 2025-04-18 22:59:48
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.20.3] .
|
||||
### Releases
|
||||
- [Go v0.20.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.3 - .
|
||||
|
||||
## 2025-04-19 17:12:25
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.21.0] .
|
||||
### Releases
|
||||
- [Go v0.21.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.21.0 - .
|
||||
276
codeSamples.yaml
276
codeSamples.yaml
@@ -7,7 +7,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getServerCapabilities
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -36,7 +36,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getServerPreferences
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -65,7 +65,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: updatePlayProgress
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -94,7 +94,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: markPlayed
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -123,7 +123,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTimeline
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -164,7 +164,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: markUnplayed
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -193,7 +193,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getServerActivities
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -222,7 +222,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: cancelServerActivities
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -251,7 +251,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: stopAllTasks
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -280,7 +280,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getButlerTasks
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -309,7 +309,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: startAllTasks
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -338,7 +338,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: stopTask
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -368,7 +368,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: startTask
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -398,7 +398,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getAvailableClients
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -427,7 +427,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getCompanionsData
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -456,7 +456,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getDevices
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -485,7 +485,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getUserFriends
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -514,7 +514,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getGeoData
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -541,7 +541,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getHomeData
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -570,7 +570,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getGlobalHubs
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -599,7 +599,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-recently-added
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -633,7 +633,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: performSearch
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -662,7 +662,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: performVoiceSearch
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -691,7 +691,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getLibraryHubs
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -720,7 +720,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-server-identity
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -747,7 +747,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTopWatchedContent
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -777,7 +777,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getFileHash
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -806,7 +806,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-media-meta-data
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -847,11 +847,69 @@ actions:
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["get"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMediaArts(ctx, 16099)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["post"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.PostMediaArts(ctx, 2268, plexgo.String("https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"), nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-banner-image
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -888,7 +946,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getMetadataChildren
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -913,11 +971,69 @@ actions:
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["get"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMediaPosters(ctx, 16099)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["post"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.PostMediaPoster(ctx, 2268, plexgo.String("https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"), nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-thumb-image
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -954,7 +1070,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-recently-added-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1002,7 +1118,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-search-all-libraries
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1038,7 +1154,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-all-libraries
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1067,7 +1183,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-watch-list
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1100,7 +1216,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: deleteLibrary
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1129,7 +1245,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-library-details
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1158,7 +1274,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-actors-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1188,7 +1304,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-all-media-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1221,7 +1337,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-countries-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1251,7 +1367,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-genres-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1281,7 +1397,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-refresh-library-metadata
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1311,7 +1427,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-search-library
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1341,7 +1457,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-library-items
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1375,7 +1491,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: logLine
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1405,7 +1521,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: logMultiLine
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1436,7 +1552,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: enablePaperTrail
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1465,7 +1581,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-media-providers
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1494,7 +1610,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getMyPlexAccount
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1523,7 +1639,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getResizedPhoto
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1561,7 +1677,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getPin
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1595,7 +1711,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTokenByPinId
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1630,7 +1746,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getPlaylists
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1659,7 +1775,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: createPlaylist
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1694,7 +1810,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: uploadPlaylist
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1724,7 +1840,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: deletePlaylist
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1753,7 +1869,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getPlaylist
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1782,7 +1898,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: updatePlaylist
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1811,7 +1927,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: clearPlaylistContents
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1840,7 +1956,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getPlaylistContents
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1870,7 +1986,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: addPlaylistContents
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1899,7 +2015,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-server-resources
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1928,7 +2044,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getSearchResults
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1957,7 +2073,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getSourceConnectionInformation
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -1986,7 +2102,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTransientToken
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2016,7 +2132,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getServerList
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2045,7 +2161,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getBandwidthStatistics
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2074,7 +2190,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getStatistics
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2103,7 +2219,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getResourcesStatistics
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2132,7 +2248,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getSessions
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2161,7 +2277,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getSessionHistory
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2191,7 +2307,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTranscodeSessions
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2220,7 +2336,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: stopTranscodeSession
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2249,7 +2365,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: applyUpdates
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2279,7 +2395,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: checkForUpdates
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2309,7 +2425,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getUpdateStatus
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2338,7 +2454,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: getTokenDetails
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2367,7 +2483,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: get-users
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2409,7 +2525,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: post-users-sign-in-data
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
@@ -2448,7 +2564,7 @@ actions:
|
||||
update:
|
||||
x-codeSamples:
|
||||
- lang: go
|
||||
label: startUniversalTranscode
|
||||
label: PlexGO
|
||||
source: |-
|
||||
package main
|
||||
|
||||
|
||||
@@ -3,26 +3,26 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true |
|
||||
| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `Composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 |
|
||||
| `Filters` | *bool* | :heavy_check_mark: | N/A | true |
|
||||
| `Refreshing` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | 1 |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Movies |
|
||||
| `Agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie |
|
||||
| `Scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie |
|
||||
| `Language` | *string* | :heavy_check_mark: | N/A | en-US |
|
||||
| `UUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `UpdatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `CreatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `ScannedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `Content` | *bool* | :heavy_check_mark: | N/A | true |
|
||||
| `Directory` | *bool* | :heavy_check_mark: | N/A | true |
|
||||
| `ContentChangedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `Hidden` | *int* | :heavy_check_mark: | N/A | 0 |
|
||||
| `Location` | [][operations.GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md) | :heavy_check_mark: | N/A | |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
|
||||
| `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
|
||||
| `Composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
|
||||
| `Filters` | *bool* | :heavy_check_mark: | UNKNOWN | true |
|
||||
| `Refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
|
||||
| `Key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
|
||||
| `Type` | [operations.GetAllLibrariesType](../../models/operations/getalllibrariestype.md) | :heavy_check_mark: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_check_mark: | The title of the library | Movies |
|
||||
| `Agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie |
|
||||
| `Scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie |
|
||||
| `Language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US |
|
||||
| `UUID` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 |
|
||||
| `UpdatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `CreatedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
|
||||
| `ScannedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `Content` | *bool* | :heavy_check_mark: | UNKNOWN | true |
|
||||
| `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true |
|
||||
| `ContentChangedAt` | *int64* | :heavy_check_mark: | Timestamp (in seconds) representing the last time the content was modified.<br/>NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64<br/> | 9173960 |
|
||||
| `Hidden` | [*operations.Hidden](../../models/operations/hidden.md) | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Location` | [][operations.GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md) | :heavy_check_mark: | N/A | |
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `ID` | *int* | :heavy_check_mark: | N/A | 1 |
|
||||
| `Path` | *string* | :heavy_check_mark: | N/A | /movies |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The ID of the location. | 1 |
|
||||
| `Path` | *string* | :heavy_check_mark: | The path to the media item. | /Movies |
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `Size` | *int* | :heavy_check_mark: | N/A | 5 |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Title1` | *string* | :heavy_check_mark: | N/A | Plex Library |
|
||||
| `Directory` | [][operations.GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md) | :heavy_check_mark: | N/A | |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
|
||||
| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
|
||||
| `Directory` | [][operations.GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -5,6 +5,6 @@ The libraries available on the Server
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [operations.GetAllLibrariesMediaContainer](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_check_mark: | N/A |
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [*operations.GetAllLibrariesMediaContainer](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
15
docs/models/operations/getalllibrariestype.md
Normal file
15
docs/models/operations/getalllibrariestype.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# GetAllLibrariesType
|
||||
|
||||
The library type
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------------------- | ---------------------------- |
|
||||
| `GetAllLibrariesTypeMovie` | movie |
|
||||
| `GetAllLibrariesTypeTvShow` | show |
|
||||
| `GetAllLibrariesTypeSeason` | season |
|
||||
| `GetAllLibrariesTypeEpisode` | episode |
|
||||
| `GetAllLibrariesTypeArtist` | artist |
|
||||
| `GetAllLibrariesTypeAlbum` | album |
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
|
||||
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
|
||||
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
|
||||
12
docs/models/operations/getmediaartsmediacontainer.md
Normal file
12
docs/models/operations/getmediaartsmediacontainer.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# GetMediaArtsMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
|
||||
| `Metadata` | [][operations.GetMediaArtsMetadata](../../models/operations/getmediaartsmetadata.md) | :heavy_check_mark: | N/A | |
|
||||
12
docs/models/operations/getmediaartsmetadata.md
Normal file
12
docs/models/operations/getmediaartsmetadata.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# GetMediaArtsMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg |
|
||||
| `Provider` | **string* | :heavy_minus_sign: | The provider of the artwork. | tmdb |
|
||||
| `RatingKey` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg |
|
||||
| `Selected` | *bool* | :heavy_check_mark: | Whether this is the selected artwork. | true |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | The URL of the artwork thumbnail. | https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg |
|
||||
8
docs/models/operations/getmediaartsrequest.md
Normal file
8
docs/models/operations/getmediaartsrequest.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# GetMediaArtsRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
||||
| `RatingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the artwork of. | 16099 |
|
||||
11
docs/models/operations/getmediaartsresponse.md
Normal file
11
docs/models/operations/getmediaartsresponse.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetMediaArtsResponse
|
||||
|
||||
|
||||
## 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.GetMediaArtsResponseBody](../../models/operations/getmediaartsresponsebody.md) | :heavy_minus_sign: | The available background artwork for the library item. |
|
||||
10
docs/models/operations/getmediaartsresponsebody.md
Normal file
10
docs/models/operations/getmediaartsresponsebody.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetMediaArtsResponseBody
|
||||
|
||||
The available background artwork for the library item.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [*operations.GetMediaArtsMediaContainer](../../models/operations/getmediaartsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
12
docs/models/operations/getmediapostersmediacontainer.md
Normal file
12
docs/models/operations/getmediapostersmediacontainer.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# GetMediaPostersMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
|
||||
| `Metadata` | [][operations.GetMediaPostersMetadata](../../models/operations/getmediapostersmetadata.md) | :heavy_check_mark: | N/A | |
|
||||
12
docs/models/operations/getmediapostersmetadata.md
Normal file
12
docs/models/operations/getmediapostersmetadata.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# GetMediaPostersMetadata
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg |
|
||||
| `Provider` | **string* | :heavy_minus_sign: | The provider of the poster. | tmdb |
|
||||
| `RatingKey` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg |
|
||||
| `Selected` | *bool* | :heavy_check_mark: | Whether this is the selected poster. | true |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | The URL of the poster thumbnail. | https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg |
|
||||
8
docs/models/operations/getmediapostersrequest.md
Normal file
8
docs/models/operations/getmediapostersrequest.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# GetMediaPostersRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
||||
| `RatingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 16099 |
|
||||
11
docs/models/operations/getmediapostersresponse.md
Normal file
11
docs/models/operations/getmediapostersresponse.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetMediaPostersResponse
|
||||
|
||||
|
||||
## 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.GetMediaPostersResponseBody](../../models/operations/getmediapostersresponsebody.md) | :heavy_minus_sign: | The available posters for the library item. |
|
||||
10
docs/models/operations/getmediapostersresponsebody.md
Normal file
10
docs/models/operations/getmediapostersresponsebody.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetMediaPostersResponseBody
|
||||
|
||||
The available posters for the library item.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [*operations.GetMediaPostersMediaContainer](../../models/operations/getmediapostersmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
11
docs/models/operations/hidden.md
Normal file
11
docs/models/operations/hidden.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Hidden
|
||||
|
||||
UNKNOWN
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------- | --------------- |
|
||||
| `HiddenDisable` | 0 |
|
||||
| `HiddenEnable` | 1 |
|
||||
@@ -1,6 +1,6 @@
|
||||
# IncludeDetails
|
||||
|
||||
Whether or not to include details for a section (types, filters, and sorts).
|
||||
Whether or not to include details for a section (types, filters, and sorts).
|
||||
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Level
|
||||
|
||||
An integer log level to write to the PMS log with.
|
||||
0: Error
|
||||
1: Warning
|
||||
2: Info
|
||||
3: Debug
|
||||
An integer log level to write to the PMS log with.
|
||||
0: Error
|
||||
1: Warning
|
||||
2: Info
|
||||
3: Debug
|
||||
4: Verbose
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | |
|
||||
| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
|
||||
| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
|
||||
| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
|
||||
| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
|
||||
10
docs/models/operations/postmediaartsrequest.md
Normal file
10
docs/models/operations/postmediaartsrequest.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# PostMediaArtsRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| `RatingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
|
||||
| `URL` | **string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
|
||||
| `RequestBody` | **any* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
|
||||
10
docs/models/operations/postmediaartsresponse.md
Normal file
10
docs/models/operations/postmediaartsresponse.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# PostMediaArtsResponse
|
||||
|
||||
|
||||
## 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 |
|
||||
10
docs/models/operations/postmediaposterrequest.md
Normal file
10
docs/models/operations/postmediaposterrequest.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# PostMediaPosterRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| `RatingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
|
||||
| `URL` | **string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
|
||||
| `RequestBody` | **any* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
|
||||
10
docs/models/operations/postmediaposterresponse.md
Normal file
10
docs/models/operations/postmediaposterresponse.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# PostMediaPosterResponse
|
||||
|
||||
|
||||
## 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 |
|
||||
@@ -1,8 +1,8 @@
|
||||
# QueryParamForce
|
||||
|
||||
Force overwriting of duplicate playlists.
|
||||
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
|
||||
The `force` argument is used to disable overwriting.
|
||||
Force overwriting of duplicate playlists.
|
||||
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
|
||||
The `force` argument is used to disable overwriting.
|
||||
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
|
||||
| `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
|
||||
| `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
|
||||
| `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
|
||||
| `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
|
||||
@@ -22,6 +22,10 @@ API Calls interacting with Plex Media Server Libraries
|
||||
* [GetActorsLibrary](#getactorslibrary) - Get Actors of library media
|
||||
* [GetSearchAllLibraries](#getsearchalllibraries) - Search All Libraries
|
||||
* [GetMediaMetaData](#getmediametadata) - Get Media Metadata
|
||||
* [GetMediaArts](#getmediaarts) - Get Media Background Artwork
|
||||
* [PostMediaArts](#postmediaarts) - Upload Media Background Artwork
|
||||
* [GetMediaPosters](#getmediaposters) - Get Media Posters
|
||||
* [PostMediaPoster](#postmediaposter) - Upload Media Poster
|
||||
* [GetMetadataChildren](#getmetadatachildren) - Get Items Children
|
||||
* [GetTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content
|
||||
|
||||
@@ -211,14 +215,14 @@ func main() {
|
||||
|
||||
## Library Details Endpoint
|
||||
|
||||
This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
|
||||
This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
|
||||
|
||||
The details include:
|
||||
|
||||
### Directories
|
||||
Organized into three categories:
|
||||
|
||||
- **Primary Directories**:
|
||||
- **Primary Directories**:
|
||||
- Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
|
||||
- Most can be replicated via media queries.
|
||||
- Customizable by users.
|
||||
@@ -280,12 +284,12 @@ 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. | |
|
||||
| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
|
||||
| `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
|
||||
| `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
@@ -907,6 +911,210 @@ func main() {
|
||||
| sdkerrors.GetMediaMetaDataUnauthorized | 401 | application/json |
|
||||
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetMediaArts
|
||||
|
||||
Returns the background artwork for a library item.
|
||||
|
||||
### Example Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMediaArts(ctx, 16099)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `ratingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the artwork of. | 16099 |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.GetMediaArtsResponse](../../models/operations/getmediaartsresponse.md), error**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------ | ------------------ | ------------------ |
|
||||
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
## PostMediaArts
|
||||
|
||||
Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL
|
||||
|
||||
### Example Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.PostMediaArts(ctx, 2268, plexgo.String("https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"), nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `ratingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
|
||||
| `url_` | **string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
|
||||
| `requestBody` | **any* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.PostMediaArtsResponse](../../models/operations/postmediaartsresponse.md), error**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------ | ------------------ | ------------------ |
|
||||
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetMediaPosters
|
||||
|
||||
Returns the available posters for a library item.
|
||||
|
||||
### Example Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMediaPosters(ctx, 16099)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res.Object != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `ratingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 16099 |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.GetMediaPostersResponse](../../models/operations/getmediapostersresponse.md), error**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------ | ------------------ | ------------------ |
|
||||
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
## PostMediaPoster
|
||||
|
||||
Uploads a poster to a library item, either from a local file or a remote URL
|
||||
|
||||
### Example Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.PostMediaPoster(ctx, 2268, plexgo.String("https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"), nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if res != nil {
|
||||
// handle response
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `ratingKey` | *int64* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 |
|
||||
| `url_` | **string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b |
|
||||
| `requestBody` | **any* | :heavy_minus_sign: | The contents of the image, if uploading a local file | |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
**[*operations.PostMediaPosterResponse](../../models/operations/postmediaposterresponse.md), error**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------ | ------------------ | ------------------ |
|
||||
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetMetadataChildren
|
||||
|
||||
This endpoint will return the children of of a library item specified with the ratingKey.
|
||||
|
||||
@@ -48,13 +48,13 @@ 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. | |
|
||||
| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | |
|
||||
| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
|
||||
| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
|
||||
| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
|
||||
| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
@@ -70,13 +70,13 @@ func main() {
|
||||
|
||||
## LogMultiLine
|
||||
|
||||
This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
|
||||
It accepts a text/plain request body, where each line represents a distinct log entry.
|
||||
Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
|
||||
This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
|
||||
It accepts a text/plain request body, where each line represents a distinct log entry.
|
||||
Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
|
||||
|
||||
Log entries are separated by a newline character (`\n`).
|
||||
Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
|
||||
This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
|
||||
Log entries are separated by a newline character (`\n`).
|
||||
Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
|
||||
This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
|
||||
|
||||
The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
|
||||
- `0`: Error - Critical issues that require immediate attention.
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
## Overview
|
||||
|
||||
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").
|
||||
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.
|
||||
Retrieving a playlist, or its items, will trigger a refresh of its metadata.
|
||||
This may cause the duration and number of items to change.
|
||||
|
||||
|
||||
@@ -500,13 +500,13 @@ 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. | |
|
||||
| `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
|
||||
| `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
|
||||
| `sectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
|
||||
| `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
|
||||
| `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
|
||||
| `sectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
|
||||
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
|
||||
|
||||
### Response
|
||||
|
||||
|
||||
@@ -186,8 +186,8 @@ func UnmarshalJSON(b []byte, v interface{}, tag reflect.StructTag, topLevel bool
|
||||
|
||||
value, ok := unmarhsaled[fieldName]
|
||||
if !ok {
|
||||
defaultTag := field.Tag.Get("default")
|
||||
if defaultTag != "" {
|
||||
defaultTag, defaultOk := field.Tag.Lookup("default")
|
||||
if defaultOk {
|
||||
value = handleDefaultConstValue(defaultTag, fieldVal.Interface(), field.Tag)
|
||||
ok = true
|
||||
}
|
||||
@@ -257,8 +257,8 @@ func marshalValue(v interface{}, tag reflect.StructTag) (json.RawMessage, error)
|
||||
}
|
||||
|
||||
if isNil(reflect.TypeOf(v), reflect.ValueOf(v)) {
|
||||
defaultTag := tag.Get("default")
|
||||
if defaultTag != "" {
|
||||
defaultTag, ok := tag.Lookup("default")
|
||||
if ok {
|
||||
return handleDefaultConstValue(defaultTag, v, tag), nil
|
||||
}
|
||||
|
||||
|
||||
814
library.go
814
library.go
@@ -3575,6 +3575,820 @@ func (s *Library) GetMediaMetaData(ctx context.Context, request operations.GetMe
|
||||
|
||||
}
|
||||
|
||||
// GetMediaArts - Get Media Background Artwork
|
||||
// Returns the background artwork for a library item.
|
||||
func (s *Library) GetMediaArts(ctx context.Context, ratingKey int64, opts ...operations.Option) (*operations.GetMediaArtsResponse, error) {
|
||||
request := operations.GetMediaArtsRequest{
|
||||
RatingKey: ratingKey,
|
||||
}
|
||||
|
||||
o := operations.Options{}
|
||||
supportedOptions := []string{
|
||||
operations.SupportedOptionRetries,
|
||||
operations.SupportedOptionTimeout,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := opt(&o, supportedOptions...); err != nil {
|
||||
return nil, fmt.Errorf("error applying option: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
var baseURL string
|
||||
if o.ServerURL == nil {
|
||||
baseURL = utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||
} else {
|
||||
baseURL = *o.ServerURL
|
||||
}
|
||||
opURL, err := utils.GenerateURL(ctx, baseURL, "/library/metadata/{ratingKey}/arts", request, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "get-media-arts",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
|
||||
timeout := o.Timeout
|
||||
if timeout == nil {
|
||||
timeout = s.sdkConfiguration.Timeout
|
||||
}
|
||||
|
||||
if timeout != nil {
|
||||
var cancel context.CancelFunc
|
||||
ctx, cancel = context.WithTimeout(ctx, *timeout)
|
||||
defer cancel()
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
for k, v := range o.SetHeaders {
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
|
||||
globalRetryConfig := s.sdkConfiguration.RetryConfig
|
||||
retryConfig := o.Retries
|
||||
if retryConfig == nil {
|
||||
if globalRetryConfig != nil {
|
||||
retryConfig = globalRetryConfig
|
||||
}
|
||||
}
|
||||
|
||||
var httpRes *http.Response
|
||||
if retryConfig != nil {
|
||||
httpRes, err = utils.Retry(ctx, utils.Retries{
|
||||
Config: retryConfig,
|
||||
StatusCodes: []string{
|
||||
"429",
|
||||
"500",
|
||||
"502",
|
||||
"503",
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
copyBody, err := req.GetBody()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.Body = copyBody
|
||||
}
|
||||
|
||||
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, retry.Permanent(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 httpRes, err
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
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{"404", "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.GetMediaArtsResponse{
|
||||
StatusCode: httpRes.StatusCode,
|
||||
ContentType: httpRes.Header.Get("Content-Type"),
|
||||
RawResponse: httpRes,
|
||||
}
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
switch {
|
||||
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var out operations.GetMediaArtsResponseBody
|
||||
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
res.Object = &out
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
case httpRes.StatusCode == 404:
|
||||
fallthrough
|
||||
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
|
||||
}
|
||||
|
||||
// PostMediaArts - Upload Media Background Artwork
|
||||
// Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL
|
||||
func (s *Library) PostMediaArts(ctx context.Context, ratingKey int64, url_ *string, requestBody *any, opts ...operations.Option) (*operations.PostMediaArtsResponse, error) {
|
||||
request := operations.PostMediaArtsRequest{
|
||||
RatingKey: ratingKey,
|
||||
URL: url_,
|
||||
RequestBody: requestBody,
|
||||
}
|
||||
|
||||
o := operations.Options{}
|
||||
supportedOptions := []string{
|
||||
operations.SupportedOptionRetries,
|
||||
operations.SupportedOptionTimeout,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := opt(&o, supportedOptions...); err != nil {
|
||||
return nil, fmt.Errorf("error applying option: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
var baseURL string
|
||||
if o.ServerURL == nil {
|
||||
baseURL = utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||
} else {
|
||||
baseURL = *o.ServerURL
|
||||
}
|
||||
opURL, err := utils.GenerateURL(ctx, baseURL, "/library/metadata/{ratingKey}/arts", request, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "post-media-arts",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "raw", `request:"mediaType=image/*"`)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
timeout := o.Timeout
|
||||
if timeout == nil {
|
||||
timeout = s.sdkConfiguration.Timeout
|
||||
}
|
||||
|
||||
if timeout != nil {
|
||||
var cancel context.CancelFunc
|
||||
ctx, cancel = context.WithTimeout(ctx, *timeout)
|
||||
defer cancel()
|
||||
}
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %w", err)
|
||||
}
|
||||
req.Header.Set("Accept", "*/*")
|
||||
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||
if reqContentType != "" {
|
||||
req.Header.Set("Content-Type", reqContentType)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
for k, v := range o.SetHeaders {
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
|
||||
globalRetryConfig := s.sdkConfiguration.RetryConfig
|
||||
retryConfig := o.Retries
|
||||
if retryConfig == nil {
|
||||
if globalRetryConfig != nil {
|
||||
retryConfig = globalRetryConfig
|
||||
}
|
||||
}
|
||||
|
||||
var httpRes *http.Response
|
||||
if retryConfig != nil {
|
||||
httpRes, err = utils.Retry(ctx, utils.Retries{
|
||||
Config: retryConfig,
|
||||
StatusCodes: []string{
|
||||
"429",
|
||||
"500",
|
||||
"502",
|
||||
"503",
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
copyBody, err := req.GetBody()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.Body = copyBody
|
||||
}
|
||||
|
||||
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, retry.Permanent(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 httpRes, err
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
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{"404", "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.PostMediaArtsResponse{
|
||||
StatusCode: httpRes.StatusCode,
|
||||
ContentType: httpRes.Header.Get("Content-Type"),
|
||||
RawResponse: httpRes,
|
||||
}
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
case httpRes.StatusCode == 404:
|
||||
fallthrough
|
||||
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
|
||||
}
|
||||
|
||||
// GetMediaPosters - Get Media Posters
|
||||
// Returns the available posters for a library item.
|
||||
func (s *Library) GetMediaPosters(ctx context.Context, ratingKey int64, opts ...operations.Option) (*operations.GetMediaPostersResponse, error) {
|
||||
request := operations.GetMediaPostersRequest{
|
||||
RatingKey: ratingKey,
|
||||
}
|
||||
|
||||
o := operations.Options{}
|
||||
supportedOptions := []string{
|
||||
operations.SupportedOptionRetries,
|
||||
operations.SupportedOptionTimeout,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := opt(&o, supportedOptions...); err != nil {
|
||||
return nil, fmt.Errorf("error applying option: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
var baseURL string
|
||||
if o.ServerURL == nil {
|
||||
baseURL = utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||
} else {
|
||||
baseURL = *o.ServerURL
|
||||
}
|
||||
opURL, err := utils.GenerateURL(ctx, baseURL, "/library/metadata/{ratingKey}/posters", request, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "get-media-posters",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
|
||||
timeout := o.Timeout
|
||||
if timeout == nil {
|
||||
timeout = s.sdkConfiguration.Timeout
|
||||
}
|
||||
|
||||
if timeout != nil {
|
||||
var cancel context.CancelFunc
|
||||
ctx, cancel = context.WithTimeout(ctx, *timeout)
|
||||
defer cancel()
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
for k, v := range o.SetHeaders {
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
|
||||
globalRetryConfig := s.sdkConfiguration.RetryConfig
|
||||
retryConfig := o.Retries
|
||||
if retryConfig == nil {
|
||||
if globalRetryConfig != nil {
|
||||
retryConfig = globalRetryConfig
|
||||
}
|
||||
}
|
||||
|
||||
var httpRes *http.Response
|
||||
if retryConfig != nil {
|
||||
httpRes, err = utils.Retry(ctx, utils.Retries{
|
||||
Config: retryConfig,
|
||||
StatusCodes: []string{
|
||||
"429",
|
||||
"500",
|
||||
"502",
|
||||
"503",
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
copyBody, err := req.GetBody()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.Body = copyBody
|
||||
}
|
||||
|
||||
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, retry.Permanent(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 httpRes, err
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
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{"404", "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.GetMediaPostersResponse{
|
||||
StatusCode: httpRes.StatusCode,
|
||||
ContentType: httpRes.Header.Get("Content-Type"),
|
||||
RawResponse: httpRes,
|
||||
}
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
switch {
|
||||
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var out operations.GetMediaPostersResponseBody
|
||||
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
res.Object = &out
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
case httpRes.StatusCode == 404:
|
||||
fallthrough
|
||||
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
|
||||
}
|
||||
|
||||
// PostMediaPoster - Upload Media Poster
|
||||
// Uploads a poster to a library item, either from a local file or a remote URL
|
||||
func (s *Library) PostMediaPoster(ctx context.Context, ratingKey int64, url_ *string, requestBody *any, opts ...operations.Option) (*operations.PostMediaPosterResponse, error) {
|
||||
request := operations.PostMediaPosterRequest{
|
||||
RatingKey: ratingKey,
|
||||
URL: url_,
|
||||
RequestBody: requestBody,
|
||||
}
|
||||
|
||||
o := operations.Options{}
|
||||
supportedOptions := []string{
|
||||
operations.SupportedOptionRetries,
|
||||
operations.SupportedOptionTimeout,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := opt(&o, supportedOptions...); err != nil {
|
||||
return nil, fmt.Errorf("error applying option: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
var baseURL string
|
||||
if o.ServerURL == nil {
|
||||
baseURL = utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
|
||||
} else {
|
||||
baseURL = *o.ServerURL
|
||||
}
|
||||
opURL, err := utils.GenerateURL(ctx, baseURL, "/library/metadata/{ratingKey}/posters", request, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error generating URL: %w", err)
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "post-media-poster",
|
||||
OAuth2Scopes: []string{},
|
||||
SecuritySource: s.sdkConfiguration.Security,
|
||||
}
|
||||
bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "raw", `request:"mediaType=image/*"`)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
timeout := o.Timeout
|
||||
if timeout == nil {
|
||||
timeout = s.sdkConfiguration.Timeout
|
||||
}
|
||||
|
||||
if timeout != nil {
|
||||
var cancel context.CancelFunc
|
||||
ctx, cancel = context.WithTimeout(ctx, *timeout)
|
||||
defer cancel()
|
||||
}
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating request: %w", err)
|
||||
}
|
||||
req.Header.Set("Accept", "*/*")
|
||||
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
|
||||
if reqContentType != "" {
|
||||
req.Header.Set("Content-Type", reqContentType)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
for k, v := range o.SetHeaders {
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
|
||||
globalRetryConfig := s.sdkConfiguration.RetryConfig
|
||||
retryConfig := o.Retries
|
||||
if retryConfig == nil {
|
||||
if globalRetryConfig != nil {
|
||||
retryConfig = globalRetryConfig
|
||||
}
|
||||
}
|
||||
|
||||
var httpRes *http.Response
|
||||
if retryConfig != nil {
|
||||
httpRes, err = utils.Retry(ctx, utils.Retries{
|
||||
Config: retryConfig,
|
||||
StatusCodes: []string{
|
||||
"429",
|
||||
"500",
|
||||
"502",
|
||||
"503",
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
copyBody, err := req.GetBody()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.Body = copyBody
|
||||
}
|
||||
|
||||
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, retry.Permanent(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 httpRes, err
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
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{"404", "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.PostMediaPosterResponse{
|
||||
StatusCode: httpRes.StatusCode,
|
||||
ContentType: httpRes.Header.Get("Content-Type"),
|
||||
RawResponse: httpRes,
|
||||
}
|
||||
|
||||
switch {
|
||||
case httpRes.StatusCode == 200:
|
||||
case httpRes.StatusCode == 404:
|
||||
fallthrough
|
||||
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
default:
|
||||
rawBody, err := utils.ConsumeRawBody(httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
|
||||
}
|
||||
|
||||
// GetMetadataChildren - Get Items Children
|
||||
// This endpoint will return the children of of a library item specified with the ratingKey.
|
||||
func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64, includeElements *string, opts ...operations.Option) (*operations.GetMetadataChildrenResponse, error) {
|
||||
|
||||
@@ -20,23 +20,6 @@ const (
|
||||
func (e CreatePlaylistQueryParamType) ToPointer() *CreatePlaylistQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *CreatePlaylistQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "audio":
|
||||
fallthrough
|
||||
case "video":
|
||||
fallthrough
|
||||
case "photo":
|
||||
*e = CreatePlaylistQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for CreatePlaylistQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// Smart - whether the playlist is smart or not
|
||||
type Smart int64
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,31 +27,6 @@ const (
|
||||
func (e GetActorsLibraryQueryParamType) ToPointer() *GetActorsLibraryQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetActorsLibraryQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetActorsLibraryQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetActorsLibraryQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetActorsLibraryRequest struct {
|
||||
// The unique key of the Plex library.
|
||||
|
||||
@@ -3,11 +3,59 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// GetAllLibrariesType - The library type
|
||||
type GetAllLibrariesType string
|
||||
|
||||
const (
|
||||
GetAllLibrariesTypeMovie GetAllLibrariesType = "movie"
|
||||
GetAllLibrariesTypeTvShow GetAllLibrariesType = "show"
|
||||
GetAllLibrariesTypeSeason GetAllLibrariesType = "season"
|
||||
GetAllLibrariesTypeEpisode GetAllLibrariesType = "episode"
|
||||
GetAllLibrariesTypeArtist GetAllLibrariesType = "artist"
|
||||
GetAllLibrariesTypeAlbum GetAllLibrariesType = "album"
|
||||
)
|
||||
|
||||
func (e GetAllLibrariesType) ToPointer() *GetAllLibrariesType {
|
||||
return &e
|
||||
}
|
||||
|
||||
// Hidden - UNKNOWN
|
||||
type Hidden int
|
||||
|
||||
const (
|
||||
HiddenDisable Hidden = 0
|
||||
HiddenEnable Hidden = 1
|
||||
)
|
||||
|
||||
func (e Hidden) ToPointer() *Hidden {
|
||||
return &e
|
||||
}
|
||||
func (e *Hidden) UnmarshalJSON(data []byte) error {
|
||||
var v int
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 0:
|
||||
fallthrough
|
||||
case 1:
|
||||
*e = Hidden(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Hidden: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetAllLibrariesLocation struct {
|
||||
ID int `json:"id"`
|
||||
// The ID of the location.
|
||||
ID int `json:"id"`
|
||||
// The path to the media item.
|
||||
Path string `json:"path"`
|
||||
}
|
||||
|
||||
@@ -26,33 +74,59 @@ func (o *GetAllLibrariesLocation) GetPath() string {
|
||||
}
|
||||
|
||||
type GetAllLibrariesDirectory struct {
|
||||
AllowSync bool `json:"allowSync"`
|
||||
Art string `json:"art"`
|
||||
Composite string `json:"composite"`
|
||||
Filters bool `json:"filters"`
|
||||
Refreshing bool `json:"refreshing"`
|
||||
Thumb string `json:"thumb"`
|
||||
Key string `json:"key"`
|
||||
Type string `json:"type"`
|
||||
Title string `json:"title"`
|
||||
Agent string `json:"agent"`
|
||||
Scanner string `json:"scanner"`
|
||||
Language string `json:"language"`
|
||||
UUID string `json:"uuid"`
|
||||
// Indicates whether syncing is allowed.
|
||||
AllowSync bool `json:"allowSync"`
|
||||
// URL for the background artwork of the media container.
|
||||
Art string `json:"art"`
|
||||
// The relative path to the composite media item.
|
||||
Composite string `json:"composite"`
|
||||
// UNKNOWN
|
||||
Filters bool `json:"filters"`
|
||||
// Indicates whether the library is currently being refreshed or updated
|
||||
Refreshing bool `json:"refreshing"`
|
||||
// URL for the thumbnail image of the media container.
|
||||
Thumb string `json:"thumb"`
|
||||
// The library key representing the unique identifier
|
||||
Key string `json:"key"`
|
||||
Type GetAllLibrariesType `json:"type"`
|
||||
// The title of the library
|
||||
Title string `json:"title"`
|
||||
// The Plex agent used to match and retrieve media metadata.
|
||||
Agent string `json:"agent"`
|
||||
// UNKNOWN
|
||||
Scanner string `json:"scanner"`
|
||||
// The Plex library language that has been set
|
||||
Language string `json:"language"`
|
||||
// The universally unique identifier for the library.
|
||||
UUID string `json:"uuid"`
|
||||
// Unix epoch datetime in seconds
|
||||
UpdatedAt int64 `json:"updatedAt"`
|
||||
// Unix epoch datetime in seconds
|
||||
CreatedAt int64 `json:"createdAt"`
|
||||
UpdatedAt int64 `json:"updatedAt"`
|
||||
CreatedAt *int64 `json:"createdAt,omitempty"`
|
||||
// Unix epoch datetime in seconds
|
||||
ScannedAt int64 `json:"scannedAt"`
|
||||
Content bool `json:"content"`
|
||||
Directory bool `json:"directory"`
|
||||
// Unix epoch datetime in seconds
|
||||
// UNKNOWN
|
||||
Content bool `json:"content"`
|
||||
// UNKNOWN
|
||||
Directory bool `json:"directory"`
|
||||
// Timestamp (in seconds) representing the last time the content was modified.
|
||||
// NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64
|
||||
//
|
||||
ContentChangedAt int64 `json:"contentChangedAt"`
|
||||
Hidden int `json:"hidden"`
|
||||
Hidden *Hidden `default:"0" json:"hidden"`
|
||||
Location []GetAllLibrariesLocation `json:"Location"`
|
||||
}
|
||||
|
||||
func (g GetAllLibrariesDirectory) MarshalJSON() ([]byte, error) {
|
||||
return utils.MarshalJSON(g, "", false)
|
||||
}
|
||||
|
||||
func (g *GetAllLibrariesDirectory) UnmarshalJSON(data []byte) error {
|
||||
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesDirectory) GetAllowSync() bool {
|
||||
if o == nil {
|
||||
return false
|
||||
@@ -102,9 +176,9 @@ func (o *GetAllLibrariesDirectory) GetKey() string {
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesDirectory) GetType() string {
|
||||
func (o *GetAllLibrariesDirectory) GetType() GetAllLibrariesType {
|
||||
if o == nil {
|
||||
return ""
|
||||
return GetAllLibrariesType("")
|
||||
}
|
||||
return o.Type
|
||||
}
|
||||
@@ -151,9 +225,9 @@ func (o *GetAllLibrariesDirectory) GetUpdatedAt() int64 {
|
||||
return o.UpdatedAt
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesDirectory) GetCreatedAt() int64 {
|
||||
func (o *GetAllLibrariesDirectory) GetCreatedAt() *int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
return o.CreatedAt
|
||||
}
|
||||
@@ -186,9 +260,9 @@ func (o *GetAllLibrariesDirectory) GetContentChangedAt() int64 {
|
||||
return o.ContentChangedAt
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesDirectory) GetHidden() int {
|
||||
func (o *GetAllLibrariesDirectory) GetHidden() *Hidden {
|
||||
if o == nil {
|
||||
return 0
|
||||
return nil
|
||||
}
|
||||
return o.Hidden
|
||||
}
|
||||
@@ -201,10 +275,13 @@ func (o *GetAllLibrariesDirectory) GetLocation() []GetAllLibrariesLocation {
|
||||
}
|
||||
|
||||
type GetAllLibrariesMediaContainer struct {
|
||||
Size int `json:"size"`
|
||||
AllowSync bool `json:"allowSync"`
|
||||
// Number of media items returned in this response.
|
||||
Size int `json:"size"`
|
||||
// Indicates whether syncing is allowed.
|
||||
AllowSync bool `json:"allowSync"`
|
||||
// The primary title of the media container.
|
||||
Title1 string `json:"title1"`
|
||||
Directory []GetAllLibrariesDirectory `json:"Directory"`
|
||||
Directory []GetAllLibrariesDirectory `json:"Directory,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesMediaContainer) GetSize() int {
|
||||
@@ -230,19 +307,19 @@ func (o *GetAllLibrariesMediaContainer) GetTitle1() string {
|
||||
|
||||
func (o *GetAllLibrariesMediaContainer) GetDirectory() []GetAllLibrariesDirectory {
|
||||
if o == nil {
|
||||
return []GetAllLibrariesDirectory{}
|
||||
return nil
|
||||
}
|
||||
return o.Directory
|
||||
}
|
||||
|
||||
// GetAllLibrariesResponseBody - The libraries available on the Server
|
||||
type GetAllLibrariesResponseBody struct {
|
||||
MediaContainer GetAllLibrariesMediaContainer `json:"MediaContainer"`
|
||||
MediaContainer *GetAllLibrariesMediaContainer `json:"MediaContainer,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetAllLibrariesResponseBody) GetMediaContainer() GetAllLibrariesMediaContainer {
|
||||
func (o *GetAllLibrariesResponseBody) GetMediaContainer() *GetAllLibrariesMediaContainer {
|
||||
if o == nil {
|
||||
return GetAllLibrariesMediaContainer{}
|
||||
return nil
|
||||
}
|
||||
return o.MediaContainer
|
||||
}
|
||||
|
||||
@@ -32,31 +32,6 @@ const (
|
||||
func (e GetAllMediaLibraryQueryParamType) ToPointer() *GetAllMediaLibraryQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetAllMediaLibraryQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetAllMediaLibraryQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetAllMediaLibraryQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetAllMediaLibraryQueryParamIncludeMeta - Adds the Meta object to the response
|
||||
type GetAllMediaLibraryQueryParamIncludeMeta int
|
||||
@@ -660,29 +635,6 @@ const (
|
||||
func (e GetAllMediaLibraryLibraryType) ToPointer() *GetAllMediaLibraryLibraryType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetAllMediaLibraryLibraryType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movie":
|
||||
fallthrough
|
||||
case "show":
|
||||
fallthrough
|
||||
case "season":
|
||||
fallthrough
|
||||
case "episode":
|
||||
fallthrough
|
||||
case "artist":
|
||||
fallthrough
|
||||
case "album":
|
||||
*e = GetAllMediaLibraryLibraryType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetAllMediaLibraryLibraryType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetAllMediaLibraryLibraryResponseType string
|
||||
|
||||
@@ -696,25 +648,6 @@ const (
|
||||
func (e GetAllMediaLibraryLibraryResponseType) ToPointer() *GetAllMediaLibraryLibraryResponseType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetAllMediaLibraryLibraryResponseType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "coverPoster":
|
||||
fallthrough
|
||||
case "background":
|
||||
fallthrough
|
||||
case "snapshot":
|
||||
fallthrough
|
||||
case "clearLogo":
|
||||
*e = GetAllMediaLibraryLibraryResponseType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetAllMediaLibraryLibraryResponseType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetAllMediaLibraryImage struct {
|
||||
Alt string `json:"alt"`
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,31 +27,6 @@ const (
|
||||
func (e GetCountriesLibraryQueryParamType) ToPointer() *GetCountriesLibraryQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetCountriesLibraryQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetCountriesLibraryQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetCountriesLibraryQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetCountriesLibraryRequest struct {
|
||||
// The unique key of the Plex library.
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,31 +27,6 @@ const (
|
||||
func (e GetGenresLibraryQueryParamType) ToPointer() *GetGenresLibraryQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetGenresLibraryQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetGenresLibraryQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetGenresLibraryQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetGenresLibraryRequest struct {
|
||||
// The unique key of the Plex library.
|
||||
|
||||
@@ -35,49 +35,6 @@ const (
|
||||
func (e Tag) ToPointer() *Tag {
|
||||
return &e
|
||||
}
|
||||
func (e *Tag) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "unwatched":
|
||||
fallthrough
|
||||
case "newest":
|
||||
fallthrough
|
||||
case "recentlyAdded":
|
||||
fallthrough
|
||||
case "recentlyViewed":
|
||||
fallthrough
|
||||
case "onDeck":
|
||||
fallthrough
|
||||
case "collection":
|
||||
fallthrough
|
||||
case "edition":
|
||||
fallthrough
|
||||
case "year":
|
||||
fallthrough
|
||||
case "decade":
|
||||
fallthrough
|
||||
case "director":
|
||||
fallthrough
|
||||
case "contentRating":
|
||||
fallthrough
|
||||
case "rating":
|
||||
fallthrough
|
||||
case "resolution":
|
||||
fallthrough
|
||||
case "firstCharacter":
|
||||
fallthrough
|
||||
case "folder":
|
||||
fallthrough
|
||||
case "albums":
|
||||
*e = Tag(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Tag: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// IncludeGuids - Adds the Guids object to the response
|
||||
type IncludeGuids int
|
||||
@@ -127,31 +84,6 @@ const (
|
||||
func (e GetLibraryItemsQueryParamType) ToPointer() *GetLibraryItemsQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetLibraryItemsQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetLibraryItemsQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetLibraryItemsQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetLibraryItemsQueryParamIncludeMeta - Adds the Meta object to the response
|
||||
type GetLibraryItemsQueryParamIncludeMeta int
|
||||
@@ -615,29 +547,6 @@ const (
|
||||
func (e GetLibraryItemsLibraryType) ToPointer() *GetLibraryItemsLibraryType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetLibraryItemsLibraryType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movie":
|
||||
fallthrough
|
||||
case "show":
|
||||
fallthrough
|
||||
case "season":
|
||||
fallthrough
|
||||
case "episode":
|
||||
fallthrough
|
||||
case "artist":
|
||||
fallthrough
|
||||
case "album":
|
||||
*e = GetLibraryItemsLibraryType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetLibraryItemsLibraryType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
|
||||
type FlattenSeasons string
|
||||
@@ -651,23 +560,6 @@ const (
|
||||
func (e FlattenSeasons) ToPointer() *FlattenSeasons {
|
||||
return &e
|
||||
}
|
||||
func (e *FlattenSeasons) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
fallthrough
|
||||
case "1":
|
||||
*e = FlattenSeasons(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for FlattenSeasons: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
|
||||
type EpisodeSort string
|
||||
@@ -681,23 +573,6 @@ const (
|
||||
func (e EpisodeSort) ToPointer() *EpisodeSort {
|
||||
return &e
|
||||
}
|
||||
func (e *EpisodeSort) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
fallthrough
|
||||
case "1":
|
||||
*e = EpisodeSort(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for EpisodeSort: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
|
||||
type EnableCreditsMarkerGeneration string
|
||||
@@ -710,21 +585,6 @@ const (
|
||||
func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration {
|
||||
return &e
|
||||
}
|
||||
func (e *EnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
*e = EnableCreditsMarkerGeneration(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for EnableCreditsMarkerGeneration: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// ShowOrdering - Setting that indicates the episode ordering for the show.
|
||||
// None = Library default,
|
||||
@@ -745,27 +605,6 @@ const (
|
||||
func (e ShowOrdering) ToPointer() *ShowOrdering {
|
||||
return &e
|
||||
}
|
||||
func (e *ShowOrdering) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "None":
|
||||
fallthrough
|
||||
case "tmdbAiring":
|
||||
fallthrough
|
||||
case "aired":
|
||||
fallthrough
|
||||
case "dvd":
|
||||
fallthrough
|
||||
case "absolute":
|
||||
*e = ShowOrdering(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for ShowOrdering: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetLibraryItemsOptimizedForStreaming int
|
||||
|
||||
@@ -1652,25 +1491,6 @@ const (
|
||||
func (e GetLibraryItemsLibraryResponse200Type) ToPointer() *GetLibraryItemsLibraryResponse200Type {
|
||||
return &e
|
||||
}
|
||||
func (e *GetLibraryItemsLibraryResponse200Type) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "coverPoster":
|
||||
fallthrough
|
||||
case "background":
|
||||
fallthrough
|
||||
case "snapshot":
|
||||
fallthrough
|
||||
case "clearLogo":
|
||||
*e = GetLibraryItemsLibraryResponse200Type(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetLibraryItemsLibraryResponse200Type: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetLibraryItemsImage struct {
|
||||
Alt string `json:"alt"`
|
||||
|
||||
165
models/operations/getmediaarts.go
Normal file
165
models/operations/getmediaarts.go
Normal file
@@ -0,0 +1,165 @@
|
||||
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type GetMediaArtsRequest struct {
|
||||
// the id of the library item to return the artwork of.
|
||||
RatingKey int64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsRequest) GetRatingKey() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
type GetMediaArtsMetadata struct {
|
||||
// The URL of the artwork.
|
||||
Key string `json:"key"`
|
||||
// The provider of the artwork.
|
||||
Provider *string `json:"provider,omitempty"`
|
||||
// The URL of the artwork.
|
||||
RatingKey string `json:"ratingKey"`
|
||||
// Whether this is the selected artwork.
|
||||
Selected bool `json:"selected"`
|
||||
// The URL of the artwork thumbnail.
|
||||
Thumb string `json:"thumb"`
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMetadata) GetKey() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMetadata) GetProvider() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Provider
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMetadata) GetRatingKey() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMetadata) GetSelected() bool {
|
||||
if o == nil {
|
||||
return false
|
||||
}
|
||||
return o.Selected
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMetadata) GetThumb() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Thumb
|
||||
}
|
||||
|
||||
type GetMediaArtsMediaContainer struct {
|
||||
// Number of media items returned in this response.
|
||||
Size int `json:"size"`
|
||||
// The version number for media tags.
|
||||
MediaTagVersion int64 `json:"mediaTagVersion"`
|
||||
// The prefix used for media tag resource paths.
|
||||
MediaTagPrefix string `json:"mediaTagPrefix"`
|
||||
// An plugin identifier for the media container.
|
||||
Identifier string `json:"identifier"`
|
||||
Metadata []GetMediaArtsMetadata `json:"Metadata"`
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMediaContainer) GetSize() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.Size
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMediaContainer) GetMediaTagVersion() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.MediaTagVersion
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMediaContainer) GetMediaTagPrefix() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.MediaTagPrefix
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMediaContainer) GetIdentifier() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Identifier
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsMediaContainer) GetMetadata() []GetMediaArtsMetadata {
|
||||
if o == nil {
|
||||
return []GetMediaArtsMetadata{}
|
||||
}
|
||||
return o.Metadata
|
||||
}
|
||||
|
||||
// GetMediaArtsResponseBody - The available background artwork for the library item.
|
||||
type GetMediaArtsResponseBody struct {
|
||||
MediaContainer *GetMediaArtsMediaContainer `json:"MediaContainer,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsResponseBody) GetMediaContainer() *GetMediaArtsMediaContainer {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.MediaContainer
|
||||
}
|
||||
|
||||
type GetMediaArtsResponse struct {
|
||||
// HTTP response content type for this operation
|
||||
ContentType string
|
||||
// HTTP response status code for this operation
|
||||
StatusCode int
|
||||
// Raw HTTP response; suitable for custom response parsing
|
||||
RawResponse *http.Response
|
||||
// The available background artwork for the library item.
|
||||
Object *GetMediaArtsResponseBody
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
|
||||
func (o *GetMediaArtsResponse) GetObject() *GetMediaArtsResponseBody {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Object
|
||||
}
|
||||
165
models/operations/getmediaposters.go
Normal file
165
models/operations/getmediaposters.go
Normal file
@@ -0,0 +1,165 @@
|
||||
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type GetMediaPostersRequest struct {
|
||||
// the id of the library item to return the posters of.
|
||||
RatingKey int64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersRequest) GetRatingKey() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
type GetMediaPostersMetadata struct {
|
||||
// The URL of the poster.
|
||||
Key string `json:"key"`
|
||||
// The provider of the poster.
|
||||
Provider *string `json:"provider,omitempty"`
|
||||
// The URL of the poster.
|
||||
RatingKey string `json:"ratingKey"`
|
||||
// Whether this is the selected poster.
|
||||
Selected bool `json:"selected"`
|
||||
// The URL of the poster thumbnail.
|
||||
Thumb string `json:"thumb"`
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMetadata) GetKey() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Key
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMetadata) GetProvider() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Provider
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMetadata) GetRatingKey() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMetadata) GetSelected() bool {
|
||||
if o == nil {
|
||||
return false
|
||||
}
|
||||
return o.Selected
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMetadata) GetThumb() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Thumb
|
||||
}
|
||||
|
||||
type GetMediaPostersMediaContainer struct {
|
||||
// Number of media items returned in this response.
|
||||
Size int `json:"size"`
|
||||
// The version number for media tags.
|
||||
MediaTagVersion int64 `json:"mediaTagVersion"`
|
||||
// The prefix used for media tag resource paths.
|
||||
MediaTagPrefix string `json:"mediaTagPrefix"`
|
||||
// An plugin identifier for the media container.
|
||||
Identifier string `json:"identifier"`
|
||||
Metadata []GetMediaPostersMetadata `json:"Metadata"`
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMediaContainer) GetSize() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.Size
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMediaContainer) GetMediaTagVersion() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.MediaTagVersion
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMediaContainer) GetMediaTagPrefix() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.MediaTagPrefix
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMediaContainer) GetIdentifier() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.Identifier
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersMediaContainer) GetMetadata() []GetMediaPostersMetadata {
|
||||
if o == nil {
|
||||
return []GetMediaPostersMetadata{}
|
||||
}
|
||||
return o.Metadata
|
||||
}
|
||||
|
||||
// GetMediaPostersResponseBody - The available posters for the library item.
|
||||
type GetMediaPostersResponseBody struct {
|
||||
MediaContainer *GetMediaPostersMediaContainer `json:"MediaContainer,omitempty"`
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersResponseBody) GetMediaContainer() *GetMediaPostersMediaContainer {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.MediaContainer
|
||||
}
|
||||
|
||||
type GetMediaPostersResponse struct {
|
||||
// HTTP response content type for this operation
|
||||
ContentType string
|
||||
// HTTP response status code for this operation
|
||||
StatusCode int
|
||||
// Raw HTTP response; suitable for custom response parsing
|
||||
RawResponse *http.Response
|
||||
// The available posters for the library item.
|
||||
Object *GetMediaPostersResponseBody
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
|
||||
func (o *GetMediaPostersResponse) GetObject() *GetMediaPostersResponseBody {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.Object
|
||||
}
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/types"
|
||||
"net/http"
|
||||
@@ -31,31 +29,6 @@ const (
|
||||
func (e GetPlaylistContentsQueryParamType) ToPointer() *GetPlaylistContentsQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetPlaylistContentsQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetPlaylistContentsQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetPlaylistContentsQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetPlaylistContentsRequest struct {
|
||||
// the ID of the playlist
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -20,23 +18,6 @@ const (
|
||||
func (e PlaylistType) ToPointer() *PlaylistType {
|
||||
return &e
|
||||
}
|
||||
func (e *PlaylistType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "audio":
|
||||
fallthrough
|
||||
case "video":
|
||||
fallthrough
|
||||
case "photo":
|
||||
*e = PlaylistType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PlaylistType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// QueryParamSmart - type of playlists to return (default is all).
|
||||
type QueryParamSmart int64
|
||||
@@ -49,21 +30,6 @@ const (
|
||||
func (e QueryParamSmart) ToPointer() *QueryParamSmart {
|
||||
return &e
|
||||
}
|
||||
func (e *QueryParamSmart) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 0:
|
||||
fallthrough
|
||||
case 1:
|
||||
*e = QueryParamSmart(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for QueryParamSmart: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetPlaylistsRequest struct {
|
||||
// limit to a type of playlist.
|
||||
|
||||
@@ -32,31 +32,6 @@ const (
|
||||
func (e Type) ToPointer() *Type {
|
||||
return &e
|
||||
}
|
||||
func (e *Type) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = Type(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Type: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// IncludeMeta - Adds the Meta object to the response
|
||||
type IncludeMeta int
|
||||
@@ -537,29 +512,6 @@ const (
|
||||
func (e GetRecentlyAddedHubsType) ToPointer() *GetRecentlyAddedHubsType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetRecentlyAddedHubsType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movie":
|
||||
fallthrough
|
||||
case "show":
|
||||
fallthrough
|
||||
case "season":
|
||||
fallthrough
|
||||
case "episode":
|
||||
fallthrough
|
||||
case "artist":
|
||||
fallthrough
|
||||
case "album":
|
||||
*e = GetRecentlyAddedHubsType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetRecentlyAddedHubsType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetRecentlyAddedHubsResponseType string
|
||||
|
||||
@@ -573,25 +525,6 @@ const (
|
||||
func (e GetRecentlyAddedHubsResponseType) ToPointer() *GetRecentlyAddedHubsResponseType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetRecentlyAddedHubsResponseType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "coverPoster":
|
||||
fallthrough
|
||||
case "background":
|
||||
fallthrough
|
||||
case "snapshot":
|
||||
fallthrough
|
||||
case "clearLogo":
|
||||
*e = GetRecentlyAddedHubsResponseType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetRecentlyAddedHubsResponseType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetRecentlyAddedImage struct {
|
||||
Alt string `json:"alt"`
|
||||
|
||||
@@ -31,31 +31,6 @@ const (
|
||||
func (e QueryParamType) ToPointer() *QueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *QueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = QueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for QueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// QueryParamIncludeMeta - Adds the Meta object to the response
|
||||
type QueryParamIncludeMeta int
|
||||
|
||||
@@ -23,27 +23,6 @@ const (
|
||||
func (e SearchTypes) ToPointer() *SearchTypes {
|
||||
return &e
|
||||
}
|
||||
func (e *SearchTypes) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movies":
|
||||
fallthrough
|
||||
case "music":
|
||||
fallthrough
|
||||
case "otherVideos":
|
||||
fallthrough
|
||||
case "people":
|
||||
fallthrough
|
||||
case "tv":
|
||||
*e = SearchTypes(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for SearchTypes: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetSearchAllLibrariesQueryParamIncludeCollections - Whether to include collections in the search results.
|
||||
type GetSearchAllLibrariesQueryParamIncludeCollections int
|
||||
@@ -183,29 +162,6 @@ const (
|
||||
func (e GetSearchAllLibrariesType) ToPointer() *GetSearchAllLibrariesType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "movie":
|
||||
fallthrough
|
||||
case "show":
|
||||
fallthrough
|
||||
case "season":
|
||||
fallthrough
|
||||
case "episode":
|
||||
fallthrough
|
||||
case "artist":
|
||||
fallthrough
|
||||
case "album":
|
||||
*e = GetSearchAllLibrariesType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
|
||||
type GetSearchAllLibrariesFlattenSeasons string
|
||||
@@ -219,23 +175,6 @@ const (
|
||||
func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesFlattenSeasons) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
fallthrough
|
||||
case "1":
|
||||
*e = GetSearchAllLibrariesFlattenSeasons(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesFlattenSeasons: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetSearchAllLibrariesEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
|
||||
type GetSearchAllLibrariesEpisodeSort string
|
||||
@@ -249,23 +188,6 @@ const (
|
||||
func (e GetSearchAllLibrariesEpisodeSort) ToPointer() *GetSearchAllLibrariesEpisodeSort {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesEpisodeSort) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
fallthrough
|
||||
case "1":
|
||||
*e = GetSearchAllLibrariesEpisodeSort(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesEpisodeSort: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetSearchAllLibrariesEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
|
||||
type GetSearchAllLibrariesEnableCreditsMarkerGeneration string
|
||||
@@ -278,21 +200,6 @@ const (
|
||||
func (e GetSearchAllLibrariesEnableCreditsMarkerGeneration) ToPointer() *GetSearchAllLibrariesEnableCreditsMarkerGeneration {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesEnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "-1":
|
||||
fallthrough
|
||||
case "0":
|
||||
*e = GetSearchAllLibrariesEnableCreditsMarkerGeneration(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesEnableCreditsMarkerGeneration: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show.
|
||||
// None = Library default,
|
||||
@@ -313,27 +220,6 @@ const (
|
||||
func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesShowOrdering) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "None":
|
||||
fallthrough
|
||||
case "tmdbAiring":
|
||||
fallthrough
|
||||
case "aired":
|
||||
fallthrough
|
||||
case "dvd":
|
||||
fallthrough
|
||||
case "absolute":
|
||||
*e = GetSearchAllLibrariesShowOrdering(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesShowOrdering: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetSearchAllLibrariesOptimizedForStreaming int
|
||||
|
||||
@@ -1220,25 +1106,6 @@ const (
|
||||
func (e GetSearchAllLibrariesLibraryType) ToPointer() *GetSearchAllLibrariesLibraryType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchAllLibrariesLibraryType) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "coverPoster":
|
||||
fallthrough
|
||||
case "background":
|
||||
fallthrough
|
||||
case "snapshot":
|
||||
fallthrough
|
||||
case "clearLogo":
|
||||
*e = GetSearchAllLibrariesLibraryType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchAllLibrariesLibraryType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetSearchAllLibrariesImage struct {
|
||||
Alt string `json:"alt"`
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -29,31 +27,6 @@ const (
|
||||
func (e GetSearchLibraryQueryParamType) ToPointer() *GetSearchLibraryQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetSearchLibraryQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetSearchLibraryQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetSearchLibraryQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetSearchLibraryRequest struct {
|
||||
// The unique key of the Plex library.
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -20,23 +18,6 @@ const (
|
||||
func (e State) ToPointer() *State {
|
||||
return &e
|
||||
}
|
||||
func (e *State) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "playing":
|
||||
fallthrough
|
||||
case "paused":
|
||||
fallthrough
|
||||
case "stopped":
|
||||
*e = State(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for State: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetTimelineRequest struct {
|
||||
// The rating key of the media item
|
||||
|
||||
@@ -24,21 +24,6 @@ const (
|
||||
func (e MailingListStatus) ToPointer() *MailingListStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *MailingListStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "active":
|
||||
fallthrough
|
||||
case "unsubscribed":
|
||||
*e = MailingListStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for MailingListStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
type AutoSelectSubtitle int
|
||||
@@ -266,21 +251,6 @@ const (
|
||||
func (e GetTokenDetailsStatus) ToPointer() *GetTokenDetailsStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *GetTokenDetailsStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "online":
|
||||
fallthrough
|
||||
case "offline":
|
||||
*e = GetTokenDetailsStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetTokenDetailsStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type Services struct {
|
||||
Identifier string `json:"identifier"`
|
||||
@@ -336,21 +306,6 @@ const (
|
||||
func (e GetTokenDetailsAuthenticationStatus) ToPointer() *GetTokenDetailsAuthenticationStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *GetTokenDetailsAuthenticationStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "Inactive":
|
||||
fallthrough
|
||||
case "Active":
|
||||
*e = GetTokenDetailsAuthenticationStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// Subscription - If the account’s Plex Pass subscription is active
|
||||
type Subscription struct {
|
||||
@@ -421,21 +376,6 @@ const (
|
||||
func (e GetTokenDetailsAuthenticationResponseStatus) ToPointer() *GetTokenDetailsAuthenticationResponseStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *GetTokenDetailsAuthenticationResponseStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "Inactive":
|
||||
fallthrough
|
||||
case "Active":
|
||||
*e = GetTokenDetailsAuthenticationResponseStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationResponseStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetTokenDetailsSubscription struct {
|
||||
// List of features allowed on your Plex Pass subscription
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/types"
|
||||
"net/http"
|
||||
@@ -31,31 +29,6 @@ const (
|
||||
func (e GetTopWatchedContentQueryParamType) ToPointer() *GetTopWatchedContentQueryParamType {
|
||||
return &e
|
||||
}
|
||||
func (e *GetTopWatchedContentQueryParamType) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
fallthrough
|
||||
case 8:
|
||||
fallthrough
|
||||
case 9:
|
||||
fallthrough
|
||||
case 10:
|
||||
*e = GetTopWatchedContentQueryParamType(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for GetTopWatchedContentQueryParamType: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type GetTopWatchedContentRequest struct {
|
||||
// Adds the Guids object to the response
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"net/http"
|
||||
)
|
||||
@@ -29,19 +27,6 @@ const (
|
||||
func (e Status) ToPointer() *Status {
|
||||
return &e
|
||||
}
|
||||
func (e *Status) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "accepted":
|
||||
*e = Status(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Status: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type Friend struct {
|
||||
// The account email address
|
||||
|
||||
@@ -26,23 +26,6 @@ const (
|
||||
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
|
||||
@@ -55,21 +38,6 @@ const (
|
||||
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
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -27,27 +25,6 @@ const (
|
||||
func (e Level) ToPointer() *Level {
|
||||
return &e
|
||||
}
|
||||
func (e *Level) UnmarshalJSON(data []byte) error {
|
||||
var v int64
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case 0:
|
||||
fallthrough
|
||||
case 1:
|
||||
fallthrough
|
||||
case 2:
|
||||
fallthrough
|
||||
case 3:
|
||||
fallthrough
|
||||
case 4:
|
||||
*e = Level(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for Level: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type LogLineRequest struct {
|
||||
// An integer log level to write to the PMS log with.
|
||||
|
||||
@@ -21,9 +21,10 @@ const (
|
||||
type AcceptHeaderEnum string
|
||||
|
||||
const (
|
||||
AcceptHeaderEnumApplicationJson AcceptHeaderEnum = "application/json"
|
||||
AcceptHeaderEnumImageJpeg AcceptHeaderEnum = "image/jpeg"
|
||||
AcceptHeaderEnumApplicationXml AcceptHeaderEnum = "application/xml"
|
||||
AcceptHeaderEnumApplicationJson AcceptHeaderEnum = "application/json"
|
||||
AcceptHeaderEnumImageJpeg AcceptHeaderEnum = "image/jpeg"
|
||||
AcceptHeaderEnumWildcardRootWildcard AcceptHeaderEnum = "*/*"
|
||||
AcceptHeaderEnumApplicationXml AcceptHeaderEnum = "application/xml"
|
||||
)
|
||||
|
||||
func (e AcceptHeaderEnum) ToPointer() *AcceptHeaderEnum {
|
||||
|
||||
68
models/operations/postmediaarts.go
Normal file
68
models/operations/postmediaarts.go
Normal file
@@ -0,0 +1,68 @@
|
||||
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type PostMediaArtsRequest struct {
|
||||
// the id of the library item to return the posters of.
|
||||
RatingKey int64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
||||
// The URL of the image, if uploading a remote image
|
||||
URL *string `queryParam:"style=form,explode=true,name=url"`
|
||||
// The contents of the image, if uploading a local file
|
||||
// This field accepts []byte data or io.Reader implementations, such as *os.File.
|
||||
RequestBody *any `request:"mediaType=image/*"`
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsRequest) GetRatingKey() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsRequest) GetURL() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.URL
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsRequest) GetRequestBody() *any {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RequestBody
|
||||
}
|
||||
|
||||
type PostMediaArtsResponse 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
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *PostMediaArtsResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
68
models/operations/postmediaposter.go
Normal file
68
models/operations/postmediaposter.go
Normal file
@@ -0,0 +1,68 @@
|
||||
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
|
||||
package operations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type PostMediaPosterRequest struct {
|
||||
// the id of the library item to return the posters of.
|
||||
RatingKey int64 `pathParam:"style=simple,explode=false,name=ratingKey"`
|
||||
// The URL of the image, if uploading a remote image
|
||||
URL *string `queryParam:"style=form,explode=true,name=url"`
|
||||
// The contents of the image, if uploading a local file
|
||||
// This field accepts []byte data or io.Reader implementations, such as *os.File.
|
||||
RequestBody *any `request:"mediaType=image/*"`
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterRequest) GetRatingKey() int64 {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.RatingKey
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterRequest) GetURL() *string {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.URL
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterRequest) GetRequestBody() *any {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RequestBody
|
||||
}
|
||||
|
||||
type PostMediaPosterResponse 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
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterResponse) GetContentType() string {
|
||||
if o == nil {
|
||||
return ""
|
||||
}
|
||||
return o.ContentType
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterResponse) GetStatusCode() int {
|
||||
if o == nil {
|
||||
return 0
|
||||
}
|
||||
return o.StatusCode
|
||||
}
|
||||
|
||||
func (o *PostMediaPosterResponse) GetRawResponse() *http.Response {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
return o.RawResponse
|
||||
}
|
||||
@@ -128,21 +128,6 @@ const (
|
||||
func (e PostUsersSignInDataMailingListStatus) ToPointer() *PostUsersSignInDataMailingListStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *PostUsersSignInDataMailingListStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "active":
|
||||
fallthrough
|
||||
case "unsubscribed":
|
||||
*e = PostUsersSignInDataMailingListStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PostUsersSignInDataMailingListStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// PostUsersSignInDataAutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
type PostUsersSignInDataAutoSelectSubtitle int
|
||||
@@ -370,21 +355,6 @@ const (
|
||||
func (e PostUsersSignInDataStatus) ToPointer() *PostUsersSignInDataStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *PostUsersSignInDataStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "online":
|
||||
fallthrough
|
||||
case "offline":
|
||||
*e = PostUsersSignInDataStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PostUsersSignInDataStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type PostUsersSignInDataServices struct {
|
||||
Identifier string `json:"identifier"`
|
||||
@@ -440,21 +410,6 @@ const (
|
||||
func (e PostUsersSignInDataAuthenticationStatus) ToPointer() *PostUsersSignInDataAuthenticationStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *PostUsersSignInDataAuthenticationStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "Inactive":
|
||||
fallthrough
|
||||
case "Active":
|
||||
*e = PostUsersSignInDataAuthenticationStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PostUsersSignInDataAuthenticationStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
// PostUsersSignInDataSubscription - If the account’s Plex Pass subscription is active
|
||||
type PostUsersSignInDataSubscription struct {
|
||||
@@ -525,21 +480,6 @@ const (
|
||||
func (e PostUsersSignInDataAuthenticationResponseStatus) ToPointer() *PostUsersSignInDataAuthenticationResponseStatus {
|
||||
return &e
|
||||
}
|
||||
func (e *PostUsersSignInDataAuthenticationResponseStatus) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "Inactive":
|
||||
fallthrough
|
||||
case "Active":
|
||||
*e = PostUsersSignInDataAuthenticationResponseStatus(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PostUsersSignInDataAuthenticationResponseStatus: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type PostUsersSignInDataAuthenticationSubscription struct {
|
||||
// List of features allowed on your Plex Pass subscription
|
||||
@@ -607,19 +547,6 @@ const (
|
||||
func (e PostUsersSignInDataState) ToPointer() *PostUsersSignInDataState {
|
||||
return &e
|
||||
}
|
||||
func (e *PostUsersSignInDataState) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "ended":
|
||||
*e = PostUsersSignInDataState(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PostUsersSignInDataState: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type InternalPaymentMethod struct {
|
||||
}
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -31,45 +29,6 @@ const (
|
||||
func (e TaskName) ToPointer() *TaskName {
|
||||
return &e
|
||||
}
|
||||
func (e *TaskName) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "BackupDatabase":
|
||||
fallthrough
|
||||
case "BuildGracenoteCollections":
|
||||
fallthrough
|
||||
case "CheckForUpdates":
|
||||
fallthrough
|
||||
case "CleanOldBundles":
|
||||
fallthrough
|
||||
case "CleanOldCacheFiles":
|
||||
fallthrough
|
||||
case "DeepMediaAnalysis":
|
||||
fallthrough
|
||||
case "GenerateAutoTags":
|
||||
fallthrough
|
||||
case "GenerateChapterThumbs":
|
||||
fallthrough
|
||||
case "GenerateMediaIndexFiles":
|
||||
fallthrough
|
||||
case "OptimizeDatabase":
|
||||
fallthrough
|
||||
case "RefreshLibraries":
|
||||
fallthrough
|
||||
case "RefreshLocalMedia":
|
||||
fallthrough
|
||||
case "RefreshPeriodicMetadata":
|
||||
fallthrough
|
||||
case "UpgradeMediaAnalysis":
|
||||
*e = TaskName(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for TaskName: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type StartTaskRequest struct {
|
||||
// the name of the task to be started.
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
package operations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
@@ -31,45 +29,6 @@ const (
|
||||
func (e PathParamTaskName) ToPointer() *PathParamTaskName {
|
||||
return &e
|
||||
}
|
||||
func (e *PathParamTaskName) UnmarshalJSON(data []byte) error {
|
||||
var v string
|
||||
if err := json.Unmarshal(data, &v); err != nil {
|
||||
return err
|
||||
}
|
||||
switch v {
|
||||
case "BackupDatabase":
|
||||
fallthrough
|
||||
case "BuildGracenoteCollections":
|
||||
fallthrough
|
||||
case "CheckForUpdates":
|
||||
fallthrough
|
||||
case "CleanOldBundles":
|
||||
fallthrough
|
||||
case "CleanOldCacheFiles":
|
||||
fallthrough
|
||||
case "DeepMediaAnalysis":
|
||||
fallthrough
|
||||
case "GenerateAutoTags":
|
||||
fallthrough
|
||||
case "GenerateChapterThumbs":
|
||||
fallthrough
|
||||
case "GenerateMediaIndexFiles":
|
||||
fallthrough
|
||||
case "OptimizeDatabase":
|
||||
fallthrough
|
||||
case "RefreshLibraries":
|
||||
fallthrough
|
||||
case "RefreshLocalMedia":
|
||||
fallthrough
|
||||
case "RefreshPeriodicMetadata":
|
||||
fallthrough
|
||||
case "UpgradeMediaAnalysis":
|
||||
*e = PathParamTaskName(v)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("invalid value for PathParamTaskName: %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
type StopTaskRequest struct {
|
||||
// The name of the task to be started.
|
||||
|
||||
@@ -17,7 +17,7 @@ import (
|
||||
// ServerList contains the list of servers available to the SDK
|
||||
var ServerList = []string{
|
||||
// The full address of your Plex Server
|
||||
"{protocol}://{ip}:{port}",
|
||||
"https://10.10.10.47:32400",
|
||||
}
|
||||
|
||||
// HTTPClient provides an interface for suplying the SDK with a custom HTTP client
|
||||
@@ -299,9 +299,9 @@ func New(opts ...SDKOption) *PlexAPI {
|
||||
sdkConfiguration: sdkConfiguration{
|
||||
Language: "go",
|
||||
OpenAPIDocVersion: "0.0.3",
|
||||
SDKVersion: "0.19.2",
|
||||
GenVersion: "2.545.4",
|
||||
UserAgent: "speakeasy-sdk/go 0.19.2 2.545.4 0.0.3 github.com/LukeHagar/plexgo",
|
||||
SDKVersion: "0.21.0",
|
||||
GenVersion: "2.585.2",
|
||||
UserAgent: "speakeasy-sdk/go 0.21.0 2.585.2 0.0.3 github.com/LukeHagar/plexgo",
|
||||
ServerDefaults: []map[string]string{
|
||||
{
|
||||
"protocol": "https",
|
||||
|
||||
Reference in New Issue
Block a user