mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5848325f97 | ||
|
|
82e9da0574 | ||
|
|
8c4caee48d | ||
|
|
d9f461ec33 |
File diff suppressed because one or more lines are too long
@@ -4,6 +4,7 @@ generation:
|
||||
maintainOpenAPIOrder: true
|
||||
usageSnippets:
|
||||
optionalPropertyRendering: withExample
|
||||
sdkInitStyle: constructor
|
||||
useClassNamesForArrayFields: true
|
||||
fixes:
|
||||
nameResolutionDec2023: true
|
||||
@@ -15,10 +16,15 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
oAuth2PasswordEnabled: false
|
||||
tests:
|
||||
generateTests: true
|
||||
generateNewTests: false
|
||||
skipResponseBodyAssertions: false
|
||||
go:
|
||||
version: 0.21.1
|
||||
version: 0.24.0
|
||||
additionalDependencies: {}
|
||||
allowUnknownFieldsInWeakUnions: false
|
||||
baseErrorName: PlexAPIError
|
||||
clientServerStatusCodesAsErrors: true
|
||||
defaultErrorName: SDKError
|
||||
flattenGlobalSecurity: true
|
||||
@@ -33,6 +39,8 @@ go:
|
||||
inputModelSuffix: input
|
||||
maxMethodParams: 4
|
||||
methodArguments: require-security-and-request
|
||||
modulePath: ""
|
||||
outputModelSuffix: output
|
||||
packageName: github.com/LukeHagar/plexgo
|
||||
responseFormat: envelope
|
||||
sdkPackageName: ""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
speakeasyVersion: 1.542.0
|
||||
speakeasyVersion: 1.598.0
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
@@ -9,19 +9,19 @@ sources:
|
||||
- main
|
||||
plexapi:
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
|
||||
sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
|
||||
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
|
||||
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
|
||||
tags:
|
||||
- latest
|
||||
- speakeasy-sdk-regen-1746144629
|
||||
- speakeasy-sdk-regen-1754439116
|
||||
targets:
|
||||
plexgo:
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
|
||||
sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
|
||||
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
|
||||
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
|
||||
codeSamplesNamespace: code-samples-go-plexgo
|
||||
codeSamplesRevisionDigest: sha256:97f93f583a41a36f02cac7fe2eefd6ec836588f71204c75d400621ee85326974
|
||||
codeSamplesRevisionDigest: sha256:b93e44aa75244ad1a2c5d5aaa6ba79d08fde6aeb549d67c7e40c9395c92518aa
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
|
||||
11
README.md
11
README.md
@@ -142,7 +142,7 @@ func main() {
|
||||
* [GetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
|
||||
* [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
||||
* [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
|
||||
* [GetAllMediaLibrary](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library
|
||||
* [GetLibrarySectionsAll](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
|
||||
* [GetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
|
||||
* [GetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
|
||||
* [GetGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
|
||||
@@ -423,8 +423,8 @@ func main() {
|
||||
|
||||
s := plexgo.New(
|
||||
plexgo.WithProtocol("https"),
|
||||
plexgo.WithIP("e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9"),
|
||||
plexgo.WithPort("40311"),
|
||||
plexgo.WithIP("4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d"),
|
||||
plexgo.WithPort("44765"),
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
@@ -519,12 +519,13 @@ The built-in `net/http` client satisfies this interface and a default client bas
|
||||
import (
|
||||
"net/http"
|
||||
"time"
|
||||
"github.com/myorg/your-go-sdk"
|
||||
|
||||
"github.com/LukeHagar/plexgo"
|
||||
)
|
||||
|
||||
var (
|
||||
httpClient = &http.Client{Timeout: 30 * time.Second}
|
||||
sdkClient = sdk.New(sdk.WithClient(httpClient))
|
||||
sdkClient = plexgo.New(plexgo.WithClient(httpClient))
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
40
RELEASES.md
40
RELEASES.md
@@ -1143,3 +1143,43 @@ Based on:
|
||||
- [go v0.21.1] .
|
||||
### Releases
|
||||
- [Go v0.21.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.21.1 - .
|
||||
|
||||
## 2025-05-06 00:10:17
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.542.3 (2.597.9) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.21.2] .
|
||||
### Releases
|
||||
- [Go v0.21.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.21.2 - .
|
||||
|
||||
## 2025-06-05 00:10:42
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.555.3 (2.620.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.22.0] .
|
||||
### Releases
|
||||
- [Go v0.22.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.22.0 - .
|
||||
|
||||
## 2025-06-10 00:10:47
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.558.1 (2.623.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.23.0] .
|
||||
### Releases
|
||||
- [Go v0.23.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.23.0 - .
|
||||
|
||||
## 2025-08-06 00:11:40
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.598.0 (2.674.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [go v0.24.0] .
|
||||
### Releases
|
||||
- [Go v0.24.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.24.0 - .
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/config"
|
||||
"github.com/LukeHagar/plexgo/internal/hooks"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
@@ -23,12 +24,16 @@ import (
|
||||
// - They may contain a `Context` object with attributes which associate the activity with various specific entities (items, libraries, etc.)
|
||||
// - The may contain a `Response` object which attributes which represent the result of the asynchronous operation.
|
||||
type Activities struct {
|
||||
sdkConfiguration sdkConfiguration
|
||||
rootSDK *PlexAPI
|
||||
sdkConfiguration config.SDKConfiguration
|
||||
hooks *hooks.Hooks
|
||||
}
|
||||
|
||||
func newActivities(sdkConfig sdkConfiguration) *Activities {
|
||||
func newActivities(rootSDK *PlexAPI, sdkConfig config.SDKConfiguration, hooks *hooks.Hooks) *Activities {
|
||||
return &Activities{
|
||||
rootSDK: rootSDK,
|
||||
sdkConfiguration: sdkConfig,
|
||||
hooks: hooks,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +64,8 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "getServerActivities",
|
||||
@@ -112,15 +119,17 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -137,7 +146,7 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -145,13 +154,13 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -164,17 +173,17 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -308,6 +317,8 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "cancelServerActivities",
|
||||
@@ -361,15 +372,17 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -386,7 +399,7 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -394,13 +407,13 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -413,17 +426,17 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/config"
|
||||
"github.com/LukeHagar/plexgo/internal/hooks"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
@@ -17,12 +18,16 @@ import (
|
||||
|
||||
// Authentication - API Calls regarding authentication for Plex Media Server
|
||||
type Authentication struct {
|
||||
sdkConfiguration sdkConfiguration
|
||||
rootSDK *PlexAPI
|
||||
sdkConfiguration config.SDKConfiguration
|
||||
hooks *hooks.Hooks
|
||||
}
|
||||
|
||||
func newAuthentication(sdkConfig sdkConfiguration) *Authentication {
|
||||
func newAuthentication(rootSDK *PlexAPI, sdkConfig config.SDKConfiguration, hooks *hooks.Hooks) *Authentication {
|
||||
return &Authentication{
|
||||
rootSDK: rootSDK,
|
||||
sdkConfiguration: sdkConfig,
|
||||
hooks: hooks,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +63,8 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "getTransientToken",
|
||||
@@ -115,15 +122,17 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -140,7 +149,7 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -148,13 +157,13 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -167,17 +176,17 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -292,6 +301,8 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "getSourceConnectionInformation",
|
||||
@@ -349,15 +360,17 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -374,7 +387,7 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -382,13 +395,13 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -401,17 +414,17 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -520,6 +533,8 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "getTokenDetails",
|
||||
@@ -573,15 +588,17 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -598,7 +615,7 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -606,13 +623,13 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -625,17 +642,17 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -764,6 +781,8 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "post-users-sign-in-data",
|
||||
@@ -822,15 +841,17 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -847,7 +868,7 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -855,13 +876,13 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -874,17 +895,17 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
109
butler.go
109
butler.go
@@ -6,6 +6,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/LukeHagar/plexgo/internal/config"
|
||||
"github.com/LukeHagar/plexgo/internal/hooks"
|
||||
"github.com/LukeHagar/plexgo/internal/utils"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
@@ -17,12 +18,16 @@ import (
|
||||
|
||||
// Butler is the task manager of the Plex Media Server Ecosystem.
|
||||
type Butler struct {
|
||||
sdkConfiguration sdkConfiguration
|
||||
rootSDK *PlexAPI
|
||||
sdkConfiguration config.SDKConfiguration
|
||||
hooks *hooks.Hooks
|
||||
}
|
||||
|
||||
func newButler(sdkConfig sdkConfiguration) *Butler {
|
||||
func newButler(rootSDK *PlexAPI, sdkConfig config.SDKConfiguration, hooks *hooks.Hooks) *Butler {
|
||||
return &Butler{
|
||||
rootSDK: rootSDK,
|
||||
sdkConfiguration: sdkConfig,
|
||||
hooks: hooks,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +58,8 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "getButlerTasks",
|
||||
@@ -106,15 +113,17 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -131,7 +140,7 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -139,13 +148,13 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -158,17 +167,17 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -302,6 +311,8 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "startAllTasks",
|
||||
@@ -355,15 +366,17 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -380,7 +393,7 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -388,13 +401,13 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -407,17 +420,17 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -527,6 +540,8 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "stopAllTasks",
|
||||
@@ -580,15 +595,17 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -605,7 +622,7 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -613,13 +630,13 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -632,17 +649,17 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -760,6 +777,8 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "startTask",
|
||||
@@ -813,15 +832,17 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -838,7 +859,7 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -846,13 +867,13 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -865,17 +886,17 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -991,6 +1012,8 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
|
||||
}
|
||||
|
||||
hookCtx := hooks.HookContext{
|
||||
SDK: s.rootSDK,
|
||||
SDKConfiguration: s.sdkConfiguration,
|
||||
BaseURL: baseURL,
|
||||
Context: ctx,
|
||||
OperationID: "stopTask",
|
||||
@@ -1044,15 +1067,17 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
|
||||
"504",
|
||||
},
|
||||
}, func() (*http.Response, error) {
|
||||
if req.Body != nil {
|
||||
if req.Body != nil && req.Body != http.NoBody && req.GetBody != 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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
|
||||
return nil, err
|
||||
@@ -1069,7 +1094,7 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
}
|
||||
return httpRes, err
|
||||
})
|
||||
@@ -1077,13 +1102,13 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
httpRes, err = s.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)
|
||||
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1096,17 +1121,17 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
|
||||
err = fmt.Errorf("error sending request: no response")
|
||||
}
|
||||
|
||||
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
|
||||
return nil, err
|
||||
} else if utils.MatchStatusCodes([]string{"400", "401", "404", "4XX", "5XX"}, httpRes.StatusCode) {
|
||||
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
|
||||
_httpRes, err := s.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)
|
||||
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Butler.StopTask(ctx, operations.PathParamTaskNameBackupDatabase)
|
||||
res, err := s.Butler.StopTask(ctx, operations.PathParamTaskNameCleanOldCacheFiles)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -386,7 +386,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Butler.StartTask(ctx, operations.TaskNameCleanOldBundles)
|
||||
res, err := s.Butler.StartTask(ctx, operations.TaskNameRefreshPeriodicMetadata)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -618,9 +618,10 @@ actions:
|
||||
)
|
||||
|
||||
res, err := s.Hubs.GetRecentlyAdded(ctx, operations.GetRecentlyAddedRequest{
|
||||
ContentDirectoryID: 470161,
|
||||
ContentDirectoryID: 39486,
|
||||
SectionID: plexgo.Int64(2),
|
||||
Type: operations.TypeTvShow,
|
||||
IncludeMeta: operations.IncludeMetaEnable.ToPointer(),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -650,7 +651,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Search.PerformSearch(ctx, "dylan", nil, nil)
|
||||
res, err := s.Search.PerformSearch(ctx, "arnold", nil, plexgo.Float64(5))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -679,7 +680,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Search.PerformVoiceSearch(ctx, "dead+poop", nil, nil)
|
||||
res, err := s.Search.PerformVoiceSearch(ctx, "dead+poop", nil, plexgo.Float64(5))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -708,7 +709,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Hubs.GetLibraryHubs(ctx, 6728.76, nil, nil)
|
||||
res, err := s.Hubs.GetLibraryHubs(ctx, 492.74, nil, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -765,7 +766,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetTopWatchedContent(ctx, operations.GetTopWatchedContentQueryParamTypeTvShow, plexgo.Int64(1))
|
||||
res, err := s.Library.GetTopWatchedContent(ctx, operations.GetTopWatchedContentQueryParamTypeTvShow, operations.GetTopWatchedContentQueryParamIncludeGuidsEnable.ToPointer())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -794,7 +795,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetFileHash(ctx, "file://C:\Image.png&type=13", nil)
|
||||
res, err := s.Library.GetFileHash(ctx, "file://C:\\Image.png&type=13", nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -825,7 +826,7 @@ actions:
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMediaMetaData(ctx, operations.GetMediaMetaDataRequest{
|
||||
RatingKey: 9518,
|
||||
RatingKey: "21119,21617",
|
||||
IncludeConcerts: plexgo.Bool(true),
|
||||
IncludeExtras: plexgo.Bool(true),
|
||||
IncludeOnDeck: plexgo.Bool(true),
|
||||
@@ -963,7 +964,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetMetadataChildren(ctx, 1539.14, plexgo.String("Stream"))
|
||||
res, err := s.Library.GetMetadataChildren(ctx, 2403.67, plexgo.String("Stream"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1106,6 +1107,7 @@ actions:
|
||||
},
|
||||
SectionID: plexgo.Int64(2),
|
||||
Type: operations.QueryParamTypeTvShow,
|
||||
IncludeMeta: operations.QueryParamIncludeMetaEnable.ToPointer(),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -1142,6 +1144,8 @@ actions:
|
||||
SearchTypes: []operations.SearchTypes{
|
||||
operations.SearchTypesPeople,
|
||||
},
|
||||
IncludeCollections: operations.GetSearchAllLibrariesQueryParamIncludeCollectionsEnable.ToPointer(),
|
||||
IncludeExternalMedia: operations.GetSearchAllLibrariesQueryParamIncludeExternalMediaEnable.ToPointer(),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -1202,7 +1206,7 @@ actions:
|
||||
)
|
||||
|
||||
res, err := s.Watchlist.GetWatchList(ctx, operations.GetWatchListRequest{
|
||||
Filter: operations.FilterAvailable,
|
||||
Filter: operations.FilterReleased,
|
||||
XPlexToken: "CV5xoxjTpFKUzBTShsaf",
|
||||
})
|
||||
if err != nil {
|
||||
@@ -1252,6 +1256,7 @@ actions:
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
"log"
|
||||
)
|
||||
|
||||
@@ -1262,7 +1267,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetLibraryDetails(ctx, 9518, nil)
|
||||
res, err := s.Library.GetLibraryDetails(ctx, 9518, operations.IncludeDetailsZero.ToPointer())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1322,9 +1327,14 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetAllMediaLibrary(ctx, operations.GetAllMediaLibraryRequest{
|
||||
res, err := s.Library.GetLibrarySectionsAll(ctx, operations.GetLibrarySectionsAllRequest{
|
||||
SectionKey: 9518,
|
||||
Type: operations.GetAllMediaLibraryQueryParamTypeTvShow,
|
||||
Type: operations.GetLibrarySectionsAllQueryParamTypeTvShow,
|
||||
IncludeMeta: operations.GetLibrarySectionsAllQueryParamIncludeMetaEnable.ToPointer(),
|
||||
IncludeGuids: operations.QueryParamIncludeGuidsEnable.ToPointer(),
|
||||
IncludeAdvanced: operations.IncludeAdvancedEnable.ToPointer(),
|
||||
IncludeCollections: operations.QueryParamIncludeCollectionsEnable.ToPointer(),
|
||||
IncludeExternalMedia: operations.QueryParamIncludeExternalMediaEnable.ToPointer(),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -1415,7 +1425,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Library.GetRefreshLibraryMetadata(ctx, 9518, operations.ForceOne.ToPointer())
|
||||
res, err := s.Library.GetRefreshLibraryMetadata(ctx, 9518, operations.ForceZero.ToPointer())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1476,9 +1486,11 @@ actions:
|
||||
)
|
||||
|
||||
res, err := s.Library.GetLibraryItems(ctx, operations.GetLibraryItemsRequest{
|
||||
Tag: operations.TagEdition,
|
||||
Tag: operations.TagNewest,
|
||||
IncludeGuids: operations.IncludeGuidsEnable.ToPointer(),
|
||||
Type: operations.GetLibraryItemsQueryParamTypeTvShow,
|
||||
SectionKey: 9518,
|
||||
IncludeMeta: operations.GetLibraryItemsQueryParamIncludeMetaEnable.ToPointer(),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -1660,10 +1672,9 @@ actions:
|
||||
res, err := s.Server.GetResizedPhoto(ctx, operations.GetResizedPhotoRequest{
|
||||
Width: 110,
|
||||
Height: 165,
|
||||
Opacity: 100,
|
||||
Blur: 0,
|
||||
MinSize: operations.MinSizeOne,
|
||||
Upscale: operations.UpscaleOne,
|
||||
MinSize: operations.MinSizeZero,
|
||||
Upscale: operations.UpscaleZero,
|
||||
URL: "/library/metadata/49564/thumb/1654258204",
|
||||
})
|
||||
if err != nil {
|
||||
@@ -1728,7 +1739,7 @@ actions:
|
||||
s := plexgo.New()
|
||||
|
||||
res, err := s.Plex.GetTokenByPinID(ctx, operations.GetTokenByPinIDRequest{
|
||||
PinID: 408895,
|
||||
PinID: 232248,
|
||||
ClientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
ClientName: plexgo.String("Plex for Roku"),
|
||||
DeviceNickname: plexgo.String("Roku 3"),
|
||||
@@ -1795,9 +1806,9 @@ actions:
|
||||
|
||||
res, err := s.Playlists.CreatePlaylist(ctx, operations.CreatePlaylistRequest{
|
||||
Title: "<value>",
|
||||
Type: operations.CreatePlaylistQueryParamTypePhoto,
|
||||
Type: operations.CreatePlaylistQueryParamTypeAudio,
|
||||
Smart: operations.SmartOne,
|
||||
URI: "https://hoarse-testing.info/",
|
||||
URI: "https://short-term-disconnection.name/",
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -1828,7 +1839,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.UploadPlaylist(ctx, "/home/barkley/playlist.m3u", operations.QueryParamForceZero, 1)
|
||||
res, err := s.Playlists.UploadPlaylist(ctx, "/home/barkley/playlist.m3u", operations.QueryParamForceOne, 1)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1857,7 +1868,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.DeletePlaylist(ctx, 216.22)
|
||||
res, err := s.Playlists.DeletePlaylist(ctx, 3432.93)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1886,7 +1897,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.GetPlaylist(ctx, 4109.48)
|
||||
res, err := s.Playlists.GetPlaylist(ctx, 8419.53)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1915,7 +1926,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.UpdatePlaylist(ctx, 3915, nil, nil)
|
||||
res, err := s.Playlists.UpdatePlaylist(ctx, 1579.66, nil, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1944,7 +1955,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.ClearPlaylistContents(ctx, 1893.18)
|
||||
res, err := s.Playlists.ClearPlaylistContents(ctx, 4137.37)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -1974,7 +1985,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.GetPlaylistContents(ctx, 5004.46, operations.GetPlaylistContentsQueryParamTypeTvShow)
|
||||
res, err := s.Playlists.GetPlaylistContents(ctx, 5535.42, operations.GetPlaylistContentsQueryParamTypeTvShow)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -2003,7 +2014,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Playlists.AddPlaylistContents(ctx, 8502.01, "server://12345/com.plexapp.plugins.library/library/metadata/1", plexgo.Float64(123))
|
||||
res, err := s.Playlists.AddPlaylistContents(ctx, 7013.44, "server://12345/com.plexapp.plugins.library/library/metadata/1", plexgo.Float64(123))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -2022,6 +2033,7 @@ actions:
|
||||
import(
|
||||
"context"
|
||||
"github.com/LukeHagar/plexgo"
|
||||
"github.com/LukeHagar/plexgo/models/operations"
|
||||
"log"
|
||||
)
|
||||
|
||||
@@ -2032,7 +2044,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Plex.GetServerResources(ctx, "3381b62b-9ab7-4e37-827b-203e9809eb58", nil, nil, nil)
|
||||
res, err := s.Plex.GetServerResources(ctx, "3381b62b-9ab7-4e37-827b-203e9809eb58", operations.IncludeHTTPSEnable.ToPointer(), operations.IncludeRelayEnable.ToPointer(), operations.IncludeIPv6Enable.ToPointer())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@@ -2090,7 +2102,7 @@ actions:
|
||||
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
|
||||
)
|
||||
|
||||
res, err := s.Authentication.GetSourceConnectionInformation(ctx, "provider://provider-identifier")
|
||||
res, err := s.Authentication.GetSourceConnectionInformation(ctx, "server://client-identifier")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ The filter query string for country media items.
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | N/A | 259 |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The unique identifier for the country.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
|
||||
| `Filter` | **string* | :heavy_minus_sign: | N/A | country=19 |
|
||||
| `Filter` | *string* | :heavy_check_mark: | N/A | country=19 |
|
||||
@@ -4,5 +4,9 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
|
||||
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this director. | director=235876 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
|
||||
| `TagKey` | *string* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
|
||||
@@ -1,11 +0,0 @@
|
||||
# EnableCreditsMarkerGeneration
|
||||
|
||||
Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------------- | --------------------------------------------- |
|
||||
| `EnableCreditsMarkerGenerationLibraryDefault` | -1 |
|
||||
| `EnableCreditsMarkerGenerationDisabled` | 0 |
|
||||
@@ -1,12 +0,0 @@
|
||||
# EpisodeSort
|
||||
|
||||
Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------- | --------------------------- |
|
||||
| `EpisodeSortLibraryDefault` | -1 |
|
||||
| `EpisodeSortOldestFirst` | 0 |
|
||||
| `EpisodeSortNewestFirst` | 1 |
|
||||
@@ -3,6 +3,7 @@
|
||||
Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
|
||||
@@ -6,7 +6,7 @@ The filter query string for similar items.
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | N/A | 259 |
|
||||
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The unique identifier for the genre.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
|
||||
| `Filter` | *string* | :heavy_check_mark: | N/A | genre=19 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |
|
||||
@@ -16,5 +16,5 @@
|
||||
| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
|
||||
| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
|
||||
| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
|
||||
| `ViewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 |
|
||||
| `ViewMode` | **string* | :heavy_minus_sign: | Identifier for the view mode. | 131131 |
|
||||
| `Directory` | [][operations.GetActorsLibraryDirectory](../../models/operations/getactorslibrarydirectory.md) | :heavy_minus_sign: | An array of actor entries for media items. | |
|
||||
@@ -12,11 +12,13 @@ E.g. A movie library will not return anything with type 3 as there are no season
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------- | --------------------------------------- |
|
||||
| ------------------------------------------ | ------------------------------------------ |
|
||||
| `GetActorsLibraryQueryParamTypeMovie` | 1 |
|
||||
| `GetActorsLibraryQueryParamTypeTvShow` | 2 |
|
||||
| `GetActorsLibraryQueryParamTypeSeason` | 3 |
|
||||
| `GetActorsLibraryQueryParamTypeEpisode` | 4 |
|
||||
| `GetActorsLibraryQueryParamTypeAudio` | 8 |
|
||||
| `GetActorsLibraryQueryParamTypeAlbum` | 9 |
|
||||
| `GetActorsLibraryQueryParamTypeTrack` | 10 |
|
||||
| `GetActorsLibraryQueryParamTypeArtist` | 5 |
|
||||
| `GetActorsLibraryQueryParamTypeAlbum` | 6 |
|
||||
| `GetActorsLibraryQueryParamTypeTrack` | 7 |
|
||||
| `GetActorsLibraryQueryParamTypePhotoAlbum` | 8 |
|
||||
| `GetActorsLibraryQueryParamTypePhoto` | 9 |
|
||||
@@ -24,5 +24,5 @@
|
||||
| `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 |
|
||||
| `Hidden` | [*operations.Hidden](../../models/operations/hidden.md) | :heavy_minus_sign: | The Plex library visibility setting | 1 |
|
||||
| `Location` | [][operations.GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md) | :heavy_check_mark: | N/A | |
|
||||
@@ -6,10 +6,14 @@ The library type
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------------------- | ---------------------------- |
|
||||
| ------------------------------- | ------------------------------- |
|
||||
| `GetAllLibrariesTypeMovie` | movie |
|
||||
| `GetAllLibrariesTypeTvShow` | show |
|
||||
| `GetAllLibrariesTypeSeason` | season |
|
||||
| `GetAllLibrariesTypeEpisode` | episode |
|
||||
| `GetAllLibrariesTypeArtist` | artist |
|
||||
| `GetAllLibrariesTypeAlbum` | album |
|
||||
| `GetAllLibrariesTypeTrack` | track |
|
||||
| `GetAllLibrariesTypePhotoAlbum` | photoalbum |
|
||||
| `GetAllLibrariesTypePhoto` | photo |
|
||||
| `GetAllLibrariesTypeCollection` | collection |
|
||||
@@ -1,12 +0,0 @@
|
||||
# GetAllMediaLibraryActiveDirection
|
||||
|
||||
The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------------- | --------------------------------------------- |
|
||||
| `GetAllMediaLibraryActiveDirectionAscending` | asc |
|
||||
| `GetAllMediaLibraryActiveDirectionDescending` | desc |
|
||||
@@ -1,12 +0,0 @@
|
||||
# GetAllMediaLibraryDefaultDirection
|
||||
|
||||
The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------------------------------------- | ---------------------------------------------- |
|
||||
| `GetAllMediaLibraryDefaultDirectionAscending` | asc |
|
||||
| `GetAllMediaLibraryDefaultDirectionDescending` | desc |
|
||||
@@ -1,9 +0,0 @@
|
||||
# GetAllMediaLibraryFieldType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | tag |
|
||||
| `Operator` | [][operations.GetAllMediaLibraryOperator](../../models/operations/getallmedialibraryoperator.md) | :heavy_check_mark: | N/A | |
|
||||
@@ -1,8 +0,0 @@
|
||||
# GetAllMediaLibraryGuids
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `ID` | **string* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337<br/> | tvdb://2337 |
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetAllMediaLibraryHasThumbnail
|
||||
|
||||
Indicates if the part has a thumbnail.
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------- | ------------------------------------- |
|
||||
| `GetAllMediaLibraryHasThumbnailFalse` | 0 |
|
||||
| `GetAllMediaLibraryHasThumbnailTrue` | 1 |
|
||||
@@ -1,10 +0,0 @@
|
||||
# GetAllMediaLibraryImage
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
|
||||
| `Type` | [operations.GetAllMediaLibraryLibraryResponseType](../../models/operations/getallmedialibrarylibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
|
||||
| `URL` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |
|
||||
@@ -1,19 +0,0 @@
|
||||
# GetAllMediaLibraryLibraryOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### GetAllMediaLibraryOptimizedForStreaming1
|
||||
|
||||
```go
|
||||
getAllMediaLibraryLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryLibraryOptimizedForStreamingGetAllMediaLibraryOptimizedForStreaming1(operations.GetAllMediaLibraryOptimizedForStreaming1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getAllMediaLibraryLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryLibraryOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetAllMediaLibraryLibraryResponseType
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------------------- | -------------------------------------------------- |
|
||||
| `GetAllMediaLibraryLibraryResponseTypeCoverPoster` | coverPoster |
|
||||
| `GetAllMediaLibraryLibraryResponseTypeBackground` | background |
|
||||
| `GetAllMediaLibraryLibraryResponseTypeSnapshot` | snapshot |
|
||||
| `GetAllMediaLibraryLibraryResponseTypeClearLogo` | clearLogo |
|
||||
@@ -1,16 +0,0 @@
|
||||
# GetAllMediaLibraryLibraryType
|
||||
|
||||
The type of media content
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------- | -------------------------------------- |
|
||||
| `GetAllMediaLibraryLibraryTypeMovie` | movie |
|
||||
| `GetAllMediaLibraryLibraryTypeTvShow` | show |
|
||||
| `GetAllMediaLibraryLibraryTypeSeason` | season |
|
||||
| `GetAllMediaLibraryLibraryTypeEpisode` | episode |
|
||||
| `GetAllMediaLibraryLibraryTypeArtist` | artist |
|
||||
| `GetAllMediaLibraryLibraryTypeAlbum` | album |
|
||||
@@ -1,26 +0,0 @@
|
||||
# GetAllMediaLibraryMedia
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
|
||||
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
|
||||
| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 |
|
||||
| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 |
|
||||
| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
|
||||
| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 |
|
||||
| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 |
|
||||
| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | eac3 |
|
||||
| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc |
|
||||
| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
|
||||
| `Container` | **string* | :heavy_minus_sign: | File container type. | mkv |
|
||||
| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
|
||||
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `OptimizedForStreaming` | [*operations.GetAllMediaLibraryOptimizedForStreaming](../../models/operations/getallmedialibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Part` | [][operations.GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md) | :heavy_minus_sign: | An array of parts for this media item. | |
|
||||
@@ -1,26 +0,0 @@
|
||||
# GetAllMediaLibraryMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `TotalSize` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 |
|
||||
| `Offset` | *int64* | :heavy_check_mark: | Offset value for pagination. | 0 |
|
||||
| `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 |
|
||||
| `Content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | *int64* | :heavy_check_mark: | The unique identifier for the library section. | 2 |
|
||||
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series |
|
||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
|
||||
| `Nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
|
||||
| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
|
||||
| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
|
||||
| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
|
||||
| `Meta` | [*operations.GetAllMediaLibraryMeta](../../models/operations/getallmedialibrarymeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
|
||||
| `Metadata` | [][operations.GetAllMediaLibraryMetadata](../../models/operations/getallmedialibrarymetadata.md) | :heavy_minus_sign: | An array of metadata items. | |
|
||||
@@ -1,12 +0,0 @@
|
||||
# GetAllMediaLibraryMeta
|
||||
|
||||
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| `Type` | [][operations.GetAllMediaLibraryType](../../models/operations/getallmedialibrarytype.md) | :heavy_minus_sign: | N/A |
|
||||
| `FieldType` | [][operations.GetAllMediaLibraryFieldType](../../models/operations/getallmedialibraryfieldtype.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,19 +0,0 @@
|
||||
# GetAllMediaLibraryOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### OptimizedForStreaming1
|
||||
|
||||
```go
|
||||
getAllMediaLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getAllMediaLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# GetAllMediaLibraryOptimizedForStreaming1
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------------------------------------- | ---------------------------------------------- |
|
||||
| `GetAllMediaLibraryOptimizedForStreaming1Zero` | 0 |
|
||||
| `GetAllMediaLibraryOptimizedForStreaming1One` | 1 |
|
||||
@@ -1,23 +0,0 @@
|
||||
# GetAllMediaLibraryPart
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
|
||||
| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 |
|
||||
| `Key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
|
||||
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
|
||||
| `File` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
|
||||
| `Size` | *int64* | :heavy_check_mark: | File size in bytes. | 30649952104 |
|
||||
| `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 |
|
||||
| `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `OptimizedForStreaming` | [*operations.GetAllMediaLibraryLibraryOptimizedForStreaming](../../models/operations/getallmedialibrarylibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
|
||||
| `HasThumbnail` | [*operations.GetAllMediaLibraryHasThumbnail](../../models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Stream` | [][operations.GetAllMediaLibraryStream](../../models/operations/getallmedialibrarystream.md) | :heavy_minus_sign: | An array of streams for this part. | |
|
||||
@@ -1,22 +0,0 @@
|
||||
# GetAllMediaLibraryQueryParamType
|
||||
|
||||
The type of media to retrieve or filter by.
|
||||
1 = movie
|
||||
2 = show
|
||||
3 = season
|
||||
4 = episode
|
||||
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----------------------------------------- | ----------------------------------------- |
|
||||
| `GetAllMediaLibraryQueryParamTypeMovie` | 1 |
|
||||
| `GetAllMediaLibraryQueryParamTypeTvShow` | 2 |
|
||||
| `GetAllMediaLibraryQueryParamTypeSeason` | 3 |
|
||||
| `GetAllMediaLibraryQueryParamTypeEpisode` | 4 |
|
||||
| `GetAllMediaLibraryQueryParamTypeAudio` | 8 |
|
||||
| `GetAllMediaLibraryQueryParamTypeAlbum` | 9 |
|
||||
| `GetAllMediaLibraryQueryParamTypeTrack` | 10 |
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetAllMediaLibraryResponse
|
||||
|
||||
|
||||
## 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.GetAllMediaLibraryResponseBody](../../models/operations/getallmedialibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. |
|
||||
@@ -1,10 +0,0 @@
|
||||
# GetAllMediaLibraryResponseBody
|
||||
|
||||
Successful response containing media container data.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [*operations.GetAllMediaLibraryMediaContainer](../../models/operations/getallmedialibrarymediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,15 +0,0 @@
|
||||
# GetAllMediaLibrarySort
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||
| `Default` | **string* | :heavy_minus_sign: | N/A | asc |
|
||||
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `ActiveDirection` | [*operations.GetAllMediaLibraryActiveDirection](../../models/operations/getallmedialibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
|
||||
| `DefaultDirection` | [*operations.GetAllMediaLibraryDefaultDirection](../../models/operations/getallmedialibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
|
||||
| `DescKey` | **string* | :heavy_minus_sign: | N/A | titleSort:desc |
|
||||
| `FirstCharacterKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | titleSort |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Title |
|
||||
@@ -1,58 +0,0 @@
|
||||
# GetAllMediaLibraryStream
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
|
||||
| `StreamType` | [operations.GetAllMediaLibraryStreamType](../../models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
|
||||
| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
|
||||
| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
|
||||
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
|
||||
| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 |
|
||||
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
|
||||
| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English |
|
||||
| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
|
||||
| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng |
|
||||
| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
|
||||
| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
|
||||
| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
|
||||
| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
|
||||
| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
|
||||
| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
|
||||
| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
|
||||
| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
|
||||
| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
|
||||
| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
|
||||
| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft |
|
||||
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
|
||||
| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 |
|
||||
| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 |
|
||||
| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
|
||||
| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
|
||||
| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc |
|
||||
| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
|
||||
| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
|
||||
| `Key` | **string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
|
||||
| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
|
||||
| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 |
|
||||
| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
|
||||
| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 |
|
||||
| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive |
|
||||
| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive |
|
||||
| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 |
|
||||
| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
|
||||
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
|
||||
| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
|
||||
| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
|
||||
| `Forced` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
|
||||
| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
|
||||
| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
|
||||
| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
|
||||
| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
|
||||
| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
|
||||
| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |
|
||||
@@ -1,16 +0,0 @@
|
||||
# GetAllMediaLibraryStreamType
|
||||
|
||||
Stream type:
|
||||
- 1 = video
|
||||
- 2 = audio
|
||||
- 3 = subtitle
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------- | -------------------------------------- |
|
||||
| `GetAllMediaLibraryStreamTypeVideo` | 1 |
|
||||
| `GetAllMediaLibraryStreamTypeAudio` | 2 |
|
||||
| `GetAllMediaLibraryStreamTypeSubtitle` | 3 |
|
||||
@@ -1,15 +0,0 @@
|
||||
# GetAllMediaLibraryType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | filter |
|
||||
| `Subtype` | **string* | :heavy_minus_sign: | N/A | clip |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows |
|
||||
| `Active` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Filter` | [][operations.GetAllMediaLibraryFilter](../../models/operations/getallmedialibraryfilter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.GetAllMediaLibrarySort](../../models/operations/getallmedialibrarysort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.GetAllMediaLibraryField](../../models/operations/getallmedialibraryfield.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -12,11 +12,13 @@ E.g. A movie library will not return anything with type 3 as there are no season
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------------ | ------------------------------------------ |
|
||||
| --------------------------------------------- | --------------------------------------------- |
|
||||
| `GetCountriesLibraryQueryParamTypeMovie` | 1 |
|
||||
| `GetCountriesLibraryQueryParamTypeTvShow` | 2 |
|
||||
| `GetCountriesLibraryQueryParamTypeSeason` | 3 |
|
||||
| `GetCountriesLibraryQueryParamTypeEpisode` | 4 |
|
||||
| `GetCountriesLibraryQueryParamTypeAudio` | 8 |
|
||||
| `GetCountriesLibraryQueryParamTypeAlbum` | 9 |
|
||||
| `GetCountriesLibraryQueryParamTypeTrack` | 10 |
|
||||
| `GetCountriesLibraryQueryParamTypeArtist` | 5 |
|
||||
| `GetCountriesLibraryQueryParamTypeAlbum` | 6 |
|
||||
| `GetCountriesLibraryQueryParamTypeTrack` | 7 |
|
||||
| `GetCountriesLibraryQueryParamTypePhotoAlbum` | 8 |
|
||||
| `GetCountriesLibraryQueryParamTypePhoto` | 9 |
|
||||
@@ -12,11 +12,13 @@ E.g. A movie library will not return anything with type 3 as there are no season
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------- | --------------------------------------- |
|
||||
| ------------------------------------------ | ------------------------------------------ |
|
||||
| `GetGenresLibraryQueryParamTypeMovie` | 1 |
|
||||
| `GetGenresLibraryQueryParamTypeTvShow` | 2 |
|
||||
| `GetGenresLibraryQueryParamTypeSeason` | 3 |
|
||||
| `GetGenresLibraryQueryParamTypeEpisode` | 4 |
|
||||
| `GetGenresLibraryQueryParamTypeAudio` | 8 |
|
||||
| `GetGenresLibraryQueryParamTypeAlbum` | 9 |
|
||||
| `GetGenresLibraryQueryParamTypeTrack` | 10 |
|
||||
| `GetGenresLibraryQueryParamTypeArtist` | 5 |
|
||||
| `GetGenresLibraryQueryParamTypeAlbum` | 6 |
|
||||
| `GetGenresLibraryQueryParamTypeTrack` | 7 |
|
||||
| `GetGenresLibraryQueryParamTypePhotoAlbum` | 8 |
|
||||
| `GetGenresLibraryQueryParamTypePhoto` | 9 |
|
||||
@@ -4,5 +4,5 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | N/A | Working NL Subs |
|
||||
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection |
|
||||
@@ -4,5 +4,6 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The unique identifier for the country.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
|
||||
@@ -4,5 +4,7 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
|
||||
@@ -10,4 +10,3 @@
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Genre |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | filter |
|
||||
| `Advanced` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||
@@ -4,5 +4,6 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure |
|
||||
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The unique identifier for the genre.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |
|
||||
8
docs/models/operations/getlibraryitemsguids.md
Normal file
8
docs/models/operations/getlibraryitemsguids.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# GetLibraryItemsGuids
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |
|
||||
@@ -1,5 +1,8 @@
|
||||
# GetLibraryItemsHasThumbnail
|
||||
|
||||
Indicates if the part has a thumbnail.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
|
||||
| `Type` | [operations.GetLibraryItemsLibraryResponse200Type](../../models/operations/getlibraryitemslibraryresponse200type.md) | :heavy_check_mark: | N/A | background |
|
||||
| `Type` | [operations.GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
|
||||
| `URL` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |
|
||||
@@ -1,12 +0,0 @@
|
||||
# GetLibraryItemsLibraryDefaultDirection
|
||||
|
||||
The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------------------- | -------------------------------------------------- |
|
||||
| `GetLibraryItemsLibraryDefaultDirectionAscending` | asc |
|
||||
| `GetLibraryItemsLibraryDefaultDirectionDescending` | desc |
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetLibraryItemsLibraryField
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | show.title |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Show Title |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | string |
|
||||
| `SubType` | **string* | :heavy_minus_sign: | N/A | rating |
|
||||
@@ -1,9 +0,0 @@
|
||||
# GetLibraryItemsLibraryFieldType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | tag |
|
||||
| `Operator` | [][operations.GetLibraryItemsLibraryOperator](../../models/operations/getlibraryitemslibraryoperator.md) | :heavy_check_mark: | N/A | |
|
||||
@@ -1,12 +0,0 @@
|
||||
# GetLibraryItemsLibraryFilter
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
|
||||
| `Filter` | *string* | :heavy_check_mark: | N/A | genre |
|
||||
| `FilterType` | *string* | :heavy_check_mark: | N/A | string |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Genre |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | filter |
|
||||
@@ -1,9 +0,0 @@
|
||||
# GetLibraryItemsLibraryOperator
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | = |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | is |
|
||||
@@ -0,0 +1,20 @@
|
||||
# GetLibraryItemsLibraryOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### GetLibraryItemsOptimizedForStreaming1
|
||||
|
||||
```go
|
||||
getLibraryItemsLibraryOptimizedForStreaming := operations.CreateGetLibraryItemsLibraryOptimizedForStreamingGetLibraryItemsOptimizedForStreaming1(operations.GetLibraryItemsOptimizedForStreaming1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getLibraryItemsLibraryOptimizedForStreaming := operations.CreateGetLibraryItemsLibraryOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetLibraryItemsLibraryResponse200Type
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------------------- | -------------------------------------------------- |
|
||||
| `GetLibraryItemsLibraryResponse200TypeCoverPoster` | coverPoster |
|
||||
| `GetLibraryItemsLibraryResponse200TypeBackground` | background |
|
||||
| `GetLibraryItemsLibraryResponse200TypeSnapshot` | snapshot |
|
||||
| `GetLibraryItemsLibraryResponse200TypeClearLogo` | clearLogo |
|
||||
@@ -1,14 +1,11 @@
|
||||
# GetLibraryItemsLibraryResponseType
|
||||
|
||||
|
||||
## Fields
|
||||
## Values
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | show |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows |
|
||||
| `Active` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Filter` | [][operations.GetLibraryItemsLibraryFilter](../../models/operations/getlibraryitemslibraryfilter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.GetLibraryItemsLibrarySort](../../models/operations/getlibraryitemslibrarysort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.GetLibraryItemsLibraryField](../../models/operations/getlibraryitemslibraryfield.md) | :heavy_minus_sign: | N/A | |
|
||||
| Name | Value |
|
||||
| ----------------------------------------------- | ----------------------------------------------- |
|
||||
| `GetLibraryItemsLibraryResponseTypeCoverPoster` | coverPoster |
|
||||
| `GetLibraryItemsLibraryResponseTypeBackground` | background |
|
||||
| `GetLibraryItemsLibraryResponseTypeSnapshot` | snapshot |
|
||||
| `GetLibraryItemsLibraryResponseTypeClearLogo` | clearLogo |
|
||||
@@ -1,15 +0,0 @@
|
||||
# GetLibraryItemsLibrarySort
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Default` | **string* | :heavy_minus_sign: | N/A | asc |
|
||||
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `ActiveDirection` | [*operations.GetLibraryItemsLibraryActiveDirection](../../models/operations/getlibraryitemslibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
|
||||
| `DefaultDirection` | [*operations.GetLibraryItemsLibraryDefaultDirection](../../models/operations/getlibraryitemslibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
|
||||
| `DescKey` | **string* | :heavy_minus_sign: | N/A | titleSort:desc |
|
||||
| `FirstCharacterKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | titleSort |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Title |
|
||||
@@ -1,16 +1,14 @@
|
||||
# GetLibraryItemsLibraryType
|
||||
|
||||
The type of media content
|
||||
|
||||
## Fields
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----------------------------------- | ----------------------------------- |
|
||||
| `GetLibraryItemsLibraryTypeMovie` | movie |
|
||||
| `GetLibraryItemsLibraryTypeTvShow` | show |
|
||||
| `GetLibraryItemsLibraryTypeSeason` | season |
|
||||
| `GetLibraryItemsLibraryTypeEpisode` | episode |
|
||||
| `GetLibraryItemsLibraryTypeArtist` | artist |
|
||||
| `GetLibraryItemsLibraryTypeAlbum` | album |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | show |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows |
|
||||
| `Active` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Filter` | [][operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,8 +1,10 @@
|
||||
# GetLibraryItemsLocation
|
||||
|
||||
The folder path for the media item.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Path` | **string* | :heavy_minus_sign: | N/A | /TV Shows/House |
|
||||
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
|
||||
| `Path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm |
|
||||
@@ -4,22 +4,23 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | N/A | 119534 |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
|
||||
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 25025 |
|
||||
| `Width` | **int* | :heavy_minus_sign: | N/A | 3840 |
|
||||
| `Height` | **int* | :heavy_minus_sign: | N/A | 2072 |
|
||||
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.85 |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts |
|
||||
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 6 |
|
||||
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | eac3 |
|
||||
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc |
|
||||
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 4k |
|
||||
| `Container` | *string* | :heavy_check_mark: | N/A | mkv |
|
||||
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 |
|
||||
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `OptimizedForStreaming` | [*operations.GetLibraryItemsOptimizedForStreaming](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_check_mark: | N/A | |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
|
||||
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
|
||||
| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 |
|
||||
| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 |
|
||||
| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
|
||||
| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 |
|
||||
| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 |
|
||||
| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | aac |
|
||||
| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc |
|
||||
| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
|
||||
| `Container` | **string* | :heavy_minus_sign: | Container format of the media. | mp4 |
|
||||
| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
|
||||
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `OptimizedForStreaming` | [*operations.GetLibraryItemsOptimizedForStreaming](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.<br/>This is relevant for media files that may require larger offsets than what 32-bit integers can provide.<br/> | false |
|
||||
| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,33 +1,28 @@
|
||||
# GetLibraryItemsMediaContainer
|
||||
|
||||
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| `Type` | [][operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_minus_sign: | N/A | |
|
||||
| `FieldType` | [][operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Size` | *int* | :heavy_check_mark: | N/A | 70 |
|
||||
| `TotalSize` | *int* | :heavy_check_mark: | N/A | 170 |
|
||||
| `Offset` | *int* | :heavy_check_mark: | N/A | 0 |
|
||||
| `Content` | *string* | :heavy_check_mark: | N/A | secondary |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true |
|
||||
| `Nocache` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | *int64* | :heavy_check_mark: | N/A | 1 |
|
||||
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | N/A | Movies |
|
||||
| `LibrarySectionUUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int* | :heavy_check_mark: | N/A | 1701731894 |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png |
|
||||
| `Title1` | *string* | :heavy_check_mark: | N/A | Movies |
|
||||
| `Title2` | *string* | :heavy_check_mark: | N/A | Recently Released |
|
||||
| `ViewGroup` | *string* | :heavy_check_mark: | N/A | movie |
|
||||
| `ViewMode` | **int* | :heavy_minus_sign: | N/A | 65592 |
|
||||
| `MixedParents` | **bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `Metadata` | [][operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `TotalSize` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 |
|
||||
| `Offset` | *int64* | :heavy_check_mark: | Offset value for pagination. | 0 |
|
||||
| `Content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
|
||||
| `Nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
|
||||
| `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series |
|
||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
|
||||
| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
|
||||
| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
|
||||
| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
|
||||
| `ViewMode` | **string* | :heavy_minus_sign: | Identifier for the view mode. | 131131 |
|
||||
| `MixedParents` | **bool* | :heavy_minus_sign: | Indicates if the media container has mixed parents. | true |
|
||||
| `Metadata` | [][operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md) | :heavy_check_mark: | An array of metadata items. | |
|
||||
| `Meta` | [*operations.GetLibraryItemsMeta](../../models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
|
||||
@@ -7,6 +7,6 @@ The Meta object is only included in the response if the `includeMeta` parameter
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `Type` | [][operations.GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_minus_sign: | N/A |
|
||||
| `FieldType` | [][operations.GetLibraryItemsLibraryFieldType](../../models/operations/getlibraryitemslibraryfieldtype.md) | :heavy_minus_sign: | N/A |
|
||||
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
| `Type` | [][operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_minus_sign: | N/A |
|
||||
| `FieldType` | [][operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,83 +1,88 @@
|
||||
# GetLibraryItemsMetadata
|
||||
|
||||
Unknown
|
||||
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.<br/>Note: This is always an integer, but is represented as a string in the API.<br/> | 58683 |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 |
|
||||
| `GUID` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | N/A | 20th Century Studios |
|
||||
| `SkipChildren` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `LibrarySectionID` | **int64* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 |
|
||||
| `Type` | [operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content<br/> | movie |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water |
|
||||
| `Slug` | **string* | :heavy_minus_sign: | N/A | 4-for-texas |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
|
||||
| `Summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. |
|
||||
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 7.6 |
|
||||
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.2 |
|
||||
| `Year` | **int* | :heavy_minus_sign: | N/A | 2022 |
|
||||
| `SeasonCount` | **int* | :heavy_minus_sign: | N/A | 2022 |
|
||||
| `Tagline` | **string* | :heavy_minus_sign: | N/A | Return to Pandora. |
|
||||
| `FlattenSeasons` | [*operations.FlattenSeasons](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 |
|
||||
| `EpisodeSort` | [*operations.EpisodeSort](../../models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 |
|
||||
| `EnableCreditsMarkerGeneration` | [*operations.EnableCreditsMarkerGeneration](../../models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 |
|
||||
| `ShowOrdering` | [*operations.ShowOrdering](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>None = Library default,<br/>tmdbAiring = The Movie Database (Aired),<br/>aired = TheTVDB (Aired),<br/>dvd = TheTVDB (DVD),<br/>absolute = TheTVDB (Absolute)).<br/> | absolute |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
|
||||
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
|
||||
| `Banner` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
|
||||
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC |
|
||||
| `AddedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 |
|
||||
| `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
|
||||
| `GUID` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
|
||||
| `Slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
|
||||
| `Type` | [operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
|
||||
| `Banner` | *string* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 |
|
||||
| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
|
||||
| `Summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.<br/>Once a familiar threat returns to finish what was previously started, Jake must<br/>work with Neytiri and the army of the Na'vi race to protect their home.<br/> |
|
||||
| `Rating` | *float32* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
|
||||
| `AudienceRating` | *float64* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
|
||||
| `Year` | **int* | :heavy_minus_sign: | The release year of the media item. | 2022 |
|
||||
| `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
|
||||
| `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
|
||||
| `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
|
||||
| `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 |
|
||||
| `LeafCount` | **int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
|
||||
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
|
||||
| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
|
||||
| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
|
||||
| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
|
||||
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 |
|
||||
| `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 |
|
||||
| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
|
||||
| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media |
|
||||
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58684 |
|
||||
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
|
||||
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | N/A | 66 |
|
||||
| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
|
||||
| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
|
||||
| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica |
|
||||
| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
|
||||
| `ParentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 |
|
||||
| `GrandparentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 |
|
||||
| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 |
|
||||
| `GrandparentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
|
||||
| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.<br/> | |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
|
||||
| `ChapterSource` | **string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
|
||||
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
|
||||
| `OriginalTitle` | **string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
|
||||
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
|
||||
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
|
||||
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
|
||||
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
|
||||
| `GrandparentSlug` | **string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
|
||||
| `GrandparentKey` | **string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
|
||||
| `ParentKey` | **string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
|
||||
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
|
||||
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
|
||||
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
|
||||
| `GrandparentArt` | **string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
|
||||
| `ParentTitle` | **string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
|
||||
| `ParentIndex` | **int* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
|
||||
| `ParentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
|
||||
| `RatingImage` | **string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
|
||||
| `ViewCount` | **int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
|
||||
| `ViewOffset` | **int* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
|
||||
| `SkipCount` | **int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
|
||||
| `Subtype` | **string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip |
|
||||
| `LastRatedAt` | **int64* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
|
||||
| `CreatedAtAccuracy` | **string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local |
|
||||
| `CreatedAtTZOffset` | **string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
|
||||
| `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
|
||||
| `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
|
||||
| `Image` | [][operations.GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md) | :heavy_minus_sign: | N/A | |
|
||||
| `UltraBlurColors` | [*operations.GetLibraryItemsUltraBlurColors](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Guids` | [][operations.GetLibraryItemsGuids](../../models/operations/getlibraryitemsguids.md) | :heavy_minus_sign: | N/A | |
|
||||
| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The identifier for the library section. | 1 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | Movies |
|
||||
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 |
|
||||
| `ShowOrdering` | [*operations.ShowOrdering](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>Options:<br/> - None = Library default<br/> - tmdbAiring = The Movie Database (Aired)<br/> - aired = TheTVDB (Aired)<br/> - dvd = TheTVDB (DVD)<br/> - absolute = TheTVDB (Absolute)<br/> | absolute |
|
||||
| `FlattenSeasons` | [*operations.FlattenSeasons](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).<br/> | 1 |
|
||||
| `SkipChildren` | **bool* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false |
|
||||
| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Genre` | [][operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Country` | [][operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Director` | [][operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Writer` | [][operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Producer` | [][operations.GetLibraryItemsProducer](../../models/operations/getlibraryitemsproducer.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Collection` | [][operations.GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Ratings` | [][operations.Ratings](../../models/operations/ratings.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Similar` | [][operations.GetLibraryItemsSimilar](../../models/operations/getlibraryitemssimilar.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Location` | [][operations.GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md) | :heavy_minus_sign: | N/A | |
|
||||
| `MediaGUID` | [][operations.MediaGUID](../../models/operations/mediaguid.md) | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | |
|
||||
| `UltraBlurColors` | [*operations.GetLibraryItemsUltraBlurColors](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | |
|
||||
| `MetaDataRating` | [][operations.MetaDataRating](../../models/operations/metadatarating.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Image` | [][operations.GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md) | :heavy_minus_sign: | N/A | |
|
||||
| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Whale |
|
||||
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1682752242 |
|
||||
| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 |
|
||||
| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 5222500 |
|
||||
| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Index` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 |
|
||||
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 14 |
|
||||
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 0 |
|
||||
| `ChildCount` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent item.<br/> | 66 |
|
||||
| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
|
||||
| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | UCP |
|
||||
| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
|
||||
| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica |
|
||||
| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2010 |
|
||||
| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
|
||||
| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
|
||||
| `Chapter` | [][operations.Chapter](../../models/operations/chapter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Marker` | [][operations.Marker](../../models/operations/marker.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Extras` | [*operations.Extras](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,9 +1,19 @@
|
||||
# GetLibraryItemsOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------------- | --------------------------------------------- |
|
||||
| `GetLibraryItemsOptimizedForStreamingDisable` | 0 |
|
||||
| `GetLibraryItemsOptimizedForStreamingEnable` | 1 |
|
||||
## Supported Types
|
||||
|
||||
### OptimizedForStreaming1
|
||||
|
||||
```go
|
||||
getLibraryItemsOptimizedForStreaming := operations.CreateGetLibraryItemsOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getLibraryItemsOptimizedForStreaming := operations.CreateGetLibraryItemsOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# GetLibraryItemsOptimizedForStreaming1
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------------- | ------------------------------------------- |
|
||||
| `GetLibraryItemsOptimizedForStreaming1Zero` | 0 |
|
||||
| `GetLibraryItemsOptimizedForStreaming1One` | 1 |
|
||||
@@ -4,17 +4,19 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | N/A | 119542 |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
|
||||
| `File` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv |
|
||||
| `Size` | *int64* | :heavy_check_mark: | N/A | 36158371307 |
|
||||
| `Container` | *string* | :heavy_check_mark: | The container format of the media file.<br/> | mkv |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
|
||||
| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 |
|
||||
| `Key` | **string* | :heavy_minus_sign: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
|
||||
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
|
||||
| `File` | **string* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
|
||||
| `Size` | **int64* | :heavy_minus_sign: | File size in bytes. | 30649952104 |
|
||||
| `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 |
|
||||
| `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `OptimizedForStreaming` | [*operations.GetLibraryItemsLibraryOptimizedForStreaming](../../models/operations/getlibraryitemslibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true<br/> | |
|
||||
| `HasThumbnail` | [*operations.GetLibraryItemsHasThumbnail](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Stream` | [][operations.GetLibraryItemsStream](../../models/operations/getlibraryitemsstream.md) | :heavy_minus_sign: | N/A | |
|
||||
13
docs/models/operations/getlibraryitemsproducer.md
Normal file
13
docs/models/operations/getlibraryitemsproducer.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# GetLibraryItemsProducer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | The unique role identifier. | 109501 |
|
||||
| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk |
|
||||
| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 |
|
||||
| `Role` | **string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |
|
||||
@@ -12,11 +12,13 @@ E.g. A movie library will not return anything with type 3 as there are no season
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------- | -------------------------------------- |
|
||||
| ----------------------------------------- | ----------------------------------------- |
|
||||
| `GetLibraryItemsQueryParamTypeMovie` | 1 |
|
||||
| `GetLibraryItemsQueryParamTypeTvShow` | 2 |
|
||||
| `GetLibraryItemsQueryParamTypeSeason` | 3 |
|
||||
| `GetLibraryItemsQueryParamTypeEpisode` | 4 |
|
||||
| `GetLibraryItemsQueryParamTypeAudio` | 8 |
|
||||
| `GetLibraryItemsQueryParamTypeAlbum` | 9 |
|
||||
| `GetLibraryItemsQueryParamTypeTrack` | 10 |
|
||||
| `GetLibraryItemsQueryParamTypeArtist` | 5 |
|
||||
| `GetLibraryItemsQueryParamTypeAlbum` | 6 |
|
||||
| `GetLibraryItemsQueryParamTypeTrack` | 7 |
|
||||
| `GetLibraryItemsQueryParamTypePhotoAlbum` | 8 |
|
||||
| `GetLibraryItemsQueryParamTypePhoto` | 9 |
|
||||
@@ -4,10 +4,8 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `ID` | **int64* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 |
|
||||
| `Filter` | **string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith |
|
||||
| `TagKey` | **string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 |
|
||||
| `Role` | **string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self |
|
||||
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | The unique identifier for the role.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 126522 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |
|
||||
| `Role` | **string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg |
|
||||
10
docs/models/operations/getlibraryitemssimilar.md
Normal file
10
docs/models/operations/getlibraryitemssimilar.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetLibraryItemsSimilar
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | The unique similar item identifier. | 26 |
|
||||
| `Filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad |
|
||||
@@ -1,45 +0,0 @@
|
||||
# GetLibraryItemsStream
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | N/A | 272796 |
|
||||
| `StreamType` | *int64* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 |
|
||||
| `Default` | **bool* | :heavy_minus_sign: | Indicates if this is the default stream | true |
|
||||
| `Selected` | **bool* | :heavy_minus_sign: | Indicates if the stream is selected | true |
|
||||
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 |
|
||||
| `Index` | *int64* | :heavy_check_mark: | The index of the stream | 0 |
|
||||
| `Bitrate` | **int64* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 |
|
||||
| `ColorPrimaries` | **string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 |
|
||||
| `ColorRange` | **string* | :heavy_minus_sign: | The color range of the video stream | tv |
|
||||
| `ColorSpace` | **string* | :heavy_minus_sign: | The color space of the video stream | bt709 |
|
||||
| `ColorTrc` | **string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 |
|
||||
| `BitDepth` | **int64* | :heavy_minus_sign: | The bit depth of the video stream | 8 |
|
||||
| `ChromaLocation` | **string* | :heavy_minus_sign: | The chroma location of the video stream | left |
|
||||
| `StreamIdentifier` | **string* | :heavy_minus_sign: | The identifier of the video stream | 2 |
|
||||
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 |
|
||||
| `CodedHeight` | **int64* | :heavy_minus_sign: | The coded height of the video stream | 1088 |
|
||||
| `CodedWidth` | **int64* | :heavy_minus_sign: | The coded width of the video stream | 1920 |
|
||||
| `FrameRate` | **float64* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 |
|
||||
| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false |
|
||||
| `HearingImpaired` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Height` | **int64* | :heavy_minus_sign: | The height of the video stream | 1080 |
|
||||
| `Level` | **int64* | :heavy_minus_sign: | The level of the video codec | 40 |
|
||||
| `Profile` | **string* | :heavy_minus_sign: | The profile of the video codec | main |
|
||||
| `RefFrames` | **int64* | :heavy_minus_sign: | Number of reference frames | 4 |
|
||||
| `ScanType` | **string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive |
|
||||
| `Width` | **int64* | :heavy_minus_sign: | The width of the video stream | 1920 |
|
||||
| `DisplayTitle` | **string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) |
|
||||
| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) |
|
||||
| `Channels` | **int64* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 |
|
||||
| `Language` | **string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English |
|
||||
| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag of the stream | en |
|
||||
| `LanguageCode` | **string* | :heavy_minus_sign: | Language code of the stream | eng |
|
||||
| `AudioChannelLayout` | **string* | :heavy_minus_sign: | The audio channel layout | stereo |
|
||||
| `SamplingRate` | **int64* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 |
|
||||
| `Title` | **string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English |
|
||||
| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false |
|
||||
@@ -1,15 +1,20 @@
|
||||
# GetLibraryItemsType
|
||||
|
||||
The type of media content in the Plex library. This can represent videos, music, or photos.
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | filter |
|
||||
| `Subtype` | **string* | :heavy_minus_sign: | N/A | clip |
|
||||
| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows |
|
||||
| `Active` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Filter` | [][operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | [][operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | [][operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md) | :heavy_minus_sign: | N/A | |
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------- | ------------------------------- |
|
||||
| `GetLibraryItemsTypeMovie` | movie |
|
||||
| `GetLibraryItemsTypeTvShow` | show |
|
||||
| `GetLibraryItemsTypeSeason` | season |
|
||||
| `GetLibraryItemsTypeEpisode` | episode |
|
||||
| `GetLibraryItemsTypeArtist` | artist |
|
||||
| `GetLibraryItemsTypeAlbum` | album |
|
||||
| `GetLibraryItemsTypeTrack` | track |
|
||||
| `GetLibraryItemsTypePhotoAlbum` | photoalbum |
|
||||
| `GetLibraryItemsTypePhoto` | photo |
|
||||
| `GetLibraryItemsTypeCollection` | collection |
|
||||
@@ -4,5 +4,7 @@
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `ID` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 |
|
||||
| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |
|
||||
| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
|
||||
@@ -1,6 +1,6 @@
|
||||
# GetAllMediaLibraryQueryParamIncludeMeta
|
||||
# GetLibrarySectionsAllActiveDirection
|
||||
|
||||
Adds the Meta object to the response
|
||||
The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
|
||||
|
||||
@@ -8,5 +8,5 @@ Adds the Meta object to the response
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------------------ | ------------------------------------------------ |
|
||||
| `GetAllMediaLibraryQueryParamIncludeMetaDisable` | 0 |
|
||||
| `GetAllMediaLibraryQueryParamIncludeMetaEnable` | 1 |
|
||||
| `GetLibrarySectionsAllActiveDirectionAscending` | asc |
|
||||
| `GetLibrarySectionsAllActiveDirectionDescending` | desc |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryCollection
|
||||
# GetLibrarySectionsAllCollection
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryCountry
|
||||
# GetLibrarySectionsAllCountry
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryItemsLibraryActiveDirection
|
||||
# GetLibrarySectionsAllDefaultDirection
|
||||
|
||||
The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
@@ -8,5 +8,5 @@ The direction of the sort. Can be either `asc` or `desc`.
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------------------- | ------------------------------------------------- |
|
||||
| `GetLibraryItemsLibraryActiveDirectionAscending` | asc |
|
||||
| `GetLibraryItemsLibraryActiveDirectionDescending` | desc |
|
||||
| `GetLibrarySectionsAllDefaultDirectionAscending` | asc |
|
||||
| `GetLibrarySectionsAllDefaultDirectionDescending` | desc |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryDirector
|
||||
# GetLibrarySectionsAllDirector
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryField
|
||||
# GetLibrarySectionsAllField
|
||||
|
||||
|
||||
## Fields
|
||||
9
docs/models/operations/getlibrarysectionsallfieldtype.md
Normal file
9
docs/models/operations/getlibrarysectionsallfieldtype.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# GetLibrarySectionsAllFieldType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
|
||||
| `Type` | *string* | :heavy_check_mark: | N/A | tag |
|
||||
| `Operator` | [][operations.GetLibrarySectionsAllOperator](../../models/operations/getlibrarysectionsalloperator.md) | :heavy_check_mark: | N/A | |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryFilter
|
||||
# GetLibrarySectionsAllFilter
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryGenre
|
||||
# GetLibrarySectionsAllGenre
|
||||
|
||||
|
||||
## Fields
|
||||
8
docs/models/operations/getlibrarysectionsallguids.md
Normal file
8
docs/models/operations/getlibrarysectionsallguids.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# GetLibrarySectionsAllGuids
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |
|
||||
11
docs/models/operations/getlibrarysectionsallhasthumbnail.md
Normal file
11
docs/models/operations/getlibrarysectionsallhasthumbnail.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetLibrarySectionsAllHasThumbnail
|
||||
|
||||
Indicates if the part has a thumbnail.
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ---------------------------------------- | ---------------------------------------- |
|
||||
| `GetLibrarySectionsAllHasThumbnailFalse` | 0 |
|
||||
| `GetLibrarySectionsAllHasThumbnailTrue` | 1 |
|
||||
10
docs/models/operations/getlibrarysectionsallimage.md
Normal file
10
docs/models/operations/getlibrarysectionsallimage.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetLibrarySectionsAllImage
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
|
||||
| `Type` | [operations.GetLibrarySectionsAllLibraryResponseType](../../models/operations/getlibrarysectionsalllibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
|
||||
| `URL` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |
|
||||
@@ -0,0 +1,19 @@
|
||||
# GetLibrarySectionsAllLibraryOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### GetLibrarySectionsAllOptimizedForStreamingLibrary1
|
||||
|
||||
```go
|
||||
getLibrarySectionsAllLibraryOptimizedForStreaming := operations.CreateGetLibrarySectionsAllLibraryOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreamingLibrary1(operations.GetLibrarySectionsAllOptimizedForStreamingLibrary1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getLibrarySectionsAllLibraryOptimizedForStreaming := operations.CreateGetLibrarySectionsAllLibraryOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# GetLibrarySectionsAllLibraryResponseType
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `GetLibrarySectionsAllLibraryResponseTypeCoverPoster` | coverPoster |
|
||||
| `GetLibrarySectionsAllLibraryResponseTypeBackground` | background |
|
||||
| `GetLibrarySectionsAllLibraryResponseTypeSnapshot` | snapshot |
|
||||
| `GetLibrarySectionsAllLibraryResponseTypeClearLogo` | clearLogo |
|
||||
20
docs/models/operations/getlibrarysectionsalllibrarytype.md
Normal file
20
docs/models/operations/getlibrarysectionsalllibrarytype.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# GetLibrarySectionsAllLibraryType
|
||||
|
||||
The type of media content in the Plex library. This can represent videos, music, or photos.
|
||||
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------------- | -------------------------------------------- |
|
||||
| `GetLibrarySectionsAllLibraryTypeMovie` | movie |
|
||||
| `GetLibrarySectionsAllLibraryTypeTvShow` | show |
|
||||
| `GetLibrarySectionsAllLibraryTypeSeason` | season |
|
||||
| `GetLibrarySectionsAllLibraryTypeEpisode` | episode |
|
||||
| `GetLibrarySectionsAllLibraryTypeArtist` | artist |
|
||||
| `GetLibrarySectionsAllLibraryTypeAlbum` | album |
|
||||
| `GetLibrarySectionsAllLibraryTypeTrack` | track |
|
||||
| `GetLibrarySectionsAllLibraryTypePhotoAlbum` | photoalbum |
|
||||
| `GetLibrarySectionsAllLibraryTypePhoto` | photo |
|
||||
| `GetLibrarySectionsAllLibraryTypeCollection` | collection |
|
||||
26
docs/models/operations/getlibrarysectionsallmedia.md
Normal file
26
docs/models/operations/getlibrarysectionsallmedia.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# GetLibrarySectionsAllMedia
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
|
||||
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
|
||||
| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 |
|
||||
| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 |
|
||||
| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
|
||||
| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 |
|
||||
| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 |
|
||||
| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | eac3 |
|
||||
| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc |
|
||||
| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
|
||||
| `Container` | **string* | :heavy_minus_sign: | File container type. | mkv |
|
||||
| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
|
||||
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `OptimizedForStreaming` | [*operations.GetLibrarySectionsAllOptimizedForStreaming](../../models/operations/getlibrarysectionsalloptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Part` | [][operations.GetLibrarySectionsAllPart](../../models/operations/getlibrarysectionsallpart.md) | :heavy_minus_sign: | An array of parts for this media item. | |
|
||||
@@ -0,0 +1,26 @@
|
||||
# GetLibrarySectionsAllMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
|
||||
| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
|
||||
| `TotalSize` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 |
|
||||
| `Offset` | *int64* | :heavy_check_mark: | Offset value for pagination. | 0 |
|
||||
| `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 |
|
||||
| `Content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
|
||||
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 |
|
||||
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series |
|
||||
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
|
||||
| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
|
||||
| `Nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
|
||||
| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
|
||||
| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
|
||||
| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
|
||||
| `Meta` | [*operations.GetLibrarySectionsAllMeta](../../models/operations/getlibrarysectionsallmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
|
||||
| `Metadata` | [][operations.GetLibrarySectionsAllMetadata](../../models/operations/getlibrarysectionsallmetadata.md) | :heavy_minus_sign: | An array of metadata items. | |
|
||||
@@ -1,11 +1,12 @@
|
||||
# GetAllMediaLibraryUnauthorized
|
||||
# GetLibrarySectionsAllMeta
|
||||
|
||||
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `Errors` | [][sdkerrors.GetAllMediaLibraryLibraryErrors](../../models/sdkerrors/getallmedialibrarylibraryerrors.md) | :heavy_minus_sign: | N/A |
|
||||
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||
| `Type` | [][operations.GetLibrarySectionsAllType](../../models/operations/getlibrarysectionsalltype.md) | :heavy_minus_sign: | N/A |
|
||||
| `FieldType` | [][operations.GetLibrarySectionsAllFieldType](../../models/operations/getlibrarysectionsallfieldtype.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryMetadata
|
||||
# GetLibrarySectionsAllMetadata
|
||||
|
||||
Unknown
|
||||
|
||||
@@ -13,7 +13,7 @@ Unknown
|
||||
| `GUID` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
|
||||
| `Slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas |
|
||||
| `Studio` | **string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
|
||||
| `Type` | [operations.GetAllMediaLibraryLibraryType](../../models/operations/getallmedialibrarylibrarytype.md) | :heavy_check_mark: | N/A | movie |
|
||||
| `Type` | [operations.GetLibrarySectionsAllLibraryType](../../models/operations/getlibrarysectionsalllibrarytype.md) | :heavy_check_mark: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
|
||||
| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
|
||||
| `ContentRating` | **string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
|
||||
@@ -31,7 +31,7 @@ Unknown
|
||||
| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
|
||||
| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
|
||||
| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
|
||||
| `OriginallyAvailableAt` | [types.Date](../../types/date.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
|
||||
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 |
|
||||
| `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 |
|
||||
| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
|
||||
@@ -62,13 +62,13 @@ Unknown
|
||||
| `CreatedAtTZOffset` | **string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
|
||||
| `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
|
||||
| `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
|
||||
| `Image` | [][operations.GetAllMediaLibraryImage](../../models/operations/getallmedialibraryimage.md) | :heavy_minus_sign: | N/A | |
|
||||
| `UltraBlurColors` | [*operations.GetAllMediaLibraryUltraBlurColors](../../models/operations/getallmedialibraryultrablurcolors.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Media` | [][operations.GetAllMediaLibraryMedia](../../models/operations/getallmedialibrarymedia.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Genre` | [][operations.GetAllMediaLibraryGenre](../../models/operations/getallmedialibrarygenre.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Country` | [][operations.GetAllMediaLibraryCountry](../../models/operations/getallmedialibrarycountry.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Director` | [][operations.GetAllMediaLibraryDirector](../../models/operations/getallmedialibrarydirector.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Writer` | [][operations.GetAllMediaLibraryWriter](../../models/operations/getallmedialibrarywriter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Role` | [][operations.GetAllMediaLibraryRole](../../models/operations/getallmedialibraryrole.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Guids` | [][operations.GetAllMediaLibraryGuids](../../models/operations/getallmedialibraryguids.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Collection` | [][operations.GetAllMediaLibraryCollection](../../models/operations/getallmedialibrarycollection.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Image` | [][operations.GetLibrarySectionsAllImage](../../models/operations/getlibrarysectionsallimage.md) | :heavy_minus_sign: | N/A | |
|
||||
| `UltraBlurColors` | [*operations.GetLibrarySectionsAllUltraBlurColors](../../models/operations/getlibrarysectionsallultrablurcolors.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Guids` | [][operations.GetLibrarySectionsAllGuids](../../models/operations/getlibrarysectionsallguids.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Media` | [][operations.GetLibrarySectionsAllMedia](../../models/operations/getlibrarysectionsallmedia.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Genre` | [][operations.GetLibrarySectionsAllGenre](../../models/operations/getlibrarysectionsallgenre.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Country` | [][operations.GetLibrarySectionsAllCountry](../../models/operations/getlibrarysectionsallcountry.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Director` | [][operations.GetLibrarySectionsAllDirector](../../models/operations/getlibrarysectionsalldirector.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Writer` | [][operations.GetLibrarySectionsAllWriter](../../models/operations/getlibrarysectionsallwriter.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Role` | [][operations.GetLibrarySectionsAllRole](../../models/operations/getlibrarysectionsallrole.md) | :heavy_minus_sign: | N/A | |
|
||||
| `Collection` | [][operations.GetLibrarySectionsAllCollection](../../models/operations/getlibrarysectionsallcollection.md) | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetAllMediaLibraryOperator
|
||||
# GetLibrarySectionsAllOperator
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -0,0 +1,19 @@
|
||||
# GetLibrarySectionsAllOptimizedForStreaming
|
||||
|
||||
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
||||
|
||||
|
||||
## Supported Types
|
||||
|
||||
### GetLibrarySectionsAllOptimizedForStreaming1
|
||||
|
||||
```go
|
||||
getLibrarySectionsAllOptimizedForStreaming := operations.CreateGetLibrarySectionsAllOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreaming1(operations.GetLibrarySectionsAllOptimizedForStreaming1{/* values here */})
|
||||
```
|
||||
|
||||
###
|
||||
|
||||
```go
|
||||
getLibrarySectionsAllOptimizedForStreaming := operations.CreateGetLibrarySectionsAllOptimizedForStreamingBoolean(bool{/* values here */})
|
||||
```
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# GetLibrarySectionsAllOptimizedForStreaming1
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------------------------------------------------- | ------------------------------------------------- |
|
||||
| `GetLibrarySectionsAllOptimizedForStreaming1Zero` | 0 |
|
||||
| `GetLibrarySectionsAllOptimizedForStreaming1One` | 1 |
|
||||
@@ -0,0 +1,9 @@
|
||||
# GetLibrarySectionsAllOptimizedForStreamingLibrary1
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------- |
|
||||
| `GetLibrarySectionsAllOptimizedForStreamingLibrary1Zero` | 0 |
|
||||
| `GetLibrarySectionsAllOptimizedForStreamingLibrary1One` | 1 |
|
||||
23
docs/models/operations/getlibrarysectionsallpart.md
Normal file
23
docs/models/operations/getlibrarysectionsallpart.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# GetLibrarySectionsAllPart
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
|
||||
| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true |
|
||||
| `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 |
|
||||
| `Key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
|
||||
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
|
||||
| `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
|
||||
| `File` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
|
||||
| `Size` | *int64* | :heavy_check_mark: | File size in bytes. | 30649952104 |
|
||||
| `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 |
|
||||
| `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv |
|
||||
| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 |
|
||||
| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
|
||||
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `OptimizedForStreaming` | [*operations.GetLibrarySectionsAllLibraryOptimizedForStreaming](../../models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
|
||||
| `HasThumbnail` | [*operations.GetLibrarySectionsAllHasThumbnail](../../models/operations/getlibrarysectionsallhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
|
||||
| `Stream` | [][operations.GetLibrarySectionsAllStream](../../models/operations/getlibrarysectionsallstream.md) | :heavy_minus_sign: | An array of streams for this part. | |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user